点net程序设计教案完整.docx
- 文档编号:8748842
- 上传时间:2023-02-01
- 格式:DOCX
- 页数:159
- 大小:1.48MB
点net程序设计教案完整.docx
《点net程序设计教案完整.docx》由会员分享,可在线阅读,更多相关《点net程序设计教案完整.docx(159页珍藏版)》请在冰豆网上搜索。
点net程序设计教案完整
计算机科学与信息技术学院
《ASP.NET程序设计》
课程教案
2009----2010学年第二学期
任课教师邵国强
任课班级2007级计算机本科选课组
课程名称ASP.NET程序设计
课程类型专业必修课
总学时90
二O一O年三月
授课题目
第4章 服务器控件
授课类型
理论课+实验课
教学方法
讲授、实例驱动
教学手段
多媒体教学
授课时间
学时分配
10
教学目的
通过本次课程的学习,主要掌握以下控件的应用:
Page页面
Label控件
TextBox控件
Button控件
HyperLink控件
Image控件
ImageButton控件
LinkButton控件
DropDownList控件
ListBox控件
CheckBox控件
CheckBoxList控件
RadioButton控件
RadioButtonList控件
Panel控件
Table控件
BulletedList控件
ImageMap控件
教学重点
Label控件
TextBox控件
Button控件
DropDownList控件
ListBox控件
RadioButtonList控件
Panel控件
Table控件
ImageMap控件
教学难点
ListBox控件
RadioButtonList控件
Table控件
ImageMap控件
其它
教学基本内容
备注
一、新课导入
我们已经学习了C#程序语言,掌握了面向对象编程的基础,现在我们通过服务器控件的学习构造图形界面,对其属性、方法和事件的处理,实现特定的功能。
控件种类较多,基本分为容器类、实体控件。
实体控件又分为显示控件和录入控件。
二、授课内容提要
第4章 服务器控件
(一)Page页面
1.作用
容器:
承载控件
2.重要属性
IsPostBack
3.例子
Page.IsPostBack属性
实验:
添加一个Web窗体,在页面上放一个按钮和一个标签(Label)控件,将Label的Text属性设置为0。
在Page_Load事件中写代码:
if(!
Page.IsPostBack)
{
intx=int.Parse(Label2.Text)+1;
Label2.Text=x.ToString();
}
运行,不断点击按钮。
改变后对比(去掉if判断)
protectedvoidPage_Load(objectsender,EventArgse)
{
intx=int.Parse(Label2.Text)+1;
Label2.Text=x.ToString();
}
运行,不断点击按钮。
(二)Label控件
1.作用
显示数据
2.重要属性
BackColor
BorderStyle
BorderWidth
Text
EnableTheming
SkinID
Height
Width
3.例子
//Label的例子:
更改Text属性和背景颜色
floatsalary=4100.2f;
if(salary>2000)
Label1.Text="您需要交税";
else
Label1.Text="您不需要交税";
此处填写更改颜色的代码
Label1.BackColor=……
//Label的例子:
更改Text属性和背景颜色
(三)TextBox控件
1.作用
数据输入控件
2.重要属性和方法
BorderColor
BorderStyle
BorderWidth
Text
EnableTheming
SkinID
TextMode->SingleLine、MultiLine、Password
ReadOnly
3.例子
TextBox的ReadOnly属性
测试:
放一个文本框(TextBox),将其ReadOnly属性设置为true,运行看结果如何?
问题:
在哪里能够修改文本框的值呢?
参考答案:
一是在设计时通过属性窗口修改Text属性,二是在事件中通过代码修改Text属性
(四)Button控件
1.作用
响应用户操作(鼠标和键盘事件)。
2.重要属性和事件
BorderColor
BorderStyle
BorderWidth
Text
EnableTheming
SkinID
CausesValidation—是否引发验证
OnClientClick-->指定单击按钮时执行的客户端脚本代码函数名
UseSubmitBehavior->指示按钮是否呈现为提交按钮,默认为true
PostBackUrl-->指定单击此按钮时回发到的页面的URL,默认为本页
在目标页面中用Page.PreviousPage.FindControl()方法获取数据
Click事件
3.例子
标签、文本框、按钮的综合例子--模拟登录程序
知识点:
TextBox的TextMode属性
If语句
弹出提示对话框(可以带上耳机)
protectedvoidButton1_Click(objectsender,EventArgse)
{
stringuid="a",pwd="123";
if((TextBox1.Text==uid)&&(TextBox2.Text==pwd))
Response.Write("");
else
Response.Write("
')");
}
(五)HyperLink控件
1.作用
超级链接
2.重要属性
Text
NavigateUrl
ImageUrl
ToolTip
Target
SkinID
3.例子
将NavigateUrl设置为default.aspx,然后再
(1)设置Target为空(即默认值),查看效果;
(2)设置Target为_blank,查看效果。
(六)ImageButton控件
1.作用
显示图片的按钮
2.重要属性
ImageUrl
ImageAlign
AlternateText
CausesValidation
PostBackUrl
OnClientClick
ToolTip
Click事件
3.例子
ImageButton的例子
BorderWidth为2
BorderColor为红色
创建文件夹pic,存入图片48.gif
ImageUrl="~/pic/48.gif"
(六)LinkButton控件
1.作用
显示为超级链接的按钮
2.重要属性
Text
CausesValidation
PostBackUrl
OnClientClick
ToolTip
Click事件
(七)DropDownList控件
1.作用
显示数据
2.重要属性
添加项目
联动
AutoPostBack属性
SelectedIndexChanged事件
3.例子
Page_Load
DropDownList1_SelectedIndexChanged
DropDownList2_SelectedIndexChanged
AutoPostBack属性
Button1_Click
练习:
DropDownList年、月、日联动
(八)ListBox控件
1.作用
显示列表
2.重要属性
Items
SelectionMode->Single、Multiple
添加新项目
删除选中项目
查找是否有该项目
清空所有的项目
3.例子
ListItem类型
ListItem的两个重要属性:
Text和Value
创建一个ListItem对象:
ListItemLi1=newListItem();
Li1.Text=“hello”;
Li1.Value=“1”;
添加项目—判空、IsPostBack
问题:
每次点按钮都添加了多项,如何解决?
解决方案:
判断是否是第一次,是则添加项;否则什么也不做。
ListBox1.Items.Add(newListItem(TextBox1.Text));
添加时判断是否为空
Trim()方法
逻辑:
不为空添加新项目;
为空,弹出不允许为空的对话框。
删除的业务逻辑
单项删除
如果有选中的项目则删除,否则提示“没有项目被选中!
”
多项删除
从第一项到最后一项循环,如果第i项被选中则删除。
问题:
怎么知道一共有多少项?
某项被选中怎么区分?
查找的业务逻辑
如果找到则选中项目,否则提示“没有找到”
删除代码:
ListBox1.Items.RemoveAt(i);//根据索引删除项
添加删除确认对话框:
在Page_Load事件中,写入Button1.Attributes[“onClick”]=“javascript:
return confirm(‘你确认要删除吗?
’);” ,然后在Button1_OnClick事件中写入您的执行代码。
问题:
多选删除如何实现?
第一想法:
for(inti=0;i if(ListBox1.Items[i].Selected) { Response.Write(i+" ListBox1.Items.RemoveAt(i); } 问题: 连续的时候会少删除其中一项,什么原因呢? 改进后的删除代码: for(inti=ListBox1.Items.Count-1;i>=0;i--) //改变策略: 从后往前删除 if(ListBox1.Items[i].Selected) { Response.Write(i+" ListBox1.Items.RemoveAt(i); } Response.Write(""); 2006级岳晓同学的代码: for(inti=0;i if(ListBox1.Items[i].Selected) { Response.Write(i+" ListBox1.Items.RemoveAt(i); i=i-1;//此处做了改进 } 查找方案: 查找要求: 如果有则选中该项,没有则提示“没有满足条件的项目”。 ListBox1.Items.FindByText(TextBox1.Text) ListBox1.Items.IndexOf(item) ListBox1.Items[position].Selected 查找代码: ListItemitem=newListItem(TextBox1.Text); intposition=this.ListBox1.Items.IndexOf(item); if(position>=0) { ListBox1.Items[position].Selected=true; } else { Response.Write(""); } 清空所有项目 protectedvoidPage_Load(objectsender,EventArgse) { Button5.Attributes["onclick"]="javascript: returnconfirm('Areyousuretodeleteallitems? ')"; } protectedvoidButton5_Click(objectsender,EventArgse) { ListBox1.Items.Clear(); } ListBox控件的常用属性和方法 ListBox1.Items.Count ListBox1.Items.SelectedIndex可读写(赋值或被赋值) ListBox1.Items[i].Text ListBox1.Items[i].Selected可读写(赋值或被赋值) ListBox1.Items.Add() ListBox1.Items.Insert() ListBox1.Items.RemoveAt() ListBox1.Items.Remove() ListBox1.Items.FindByText(TextBox1.Text) ListBox1.Items.IndexOf(item) (九)CheckBox控件 1.作用 可以多项选择 2.重要属性 属性 Checked Text 方法 3.例子 CheckBox实现多项选择 添加3个CheckBox和一个Button,内容如图所示。 点击“确定”按钮,提示选择的项目。 protectedvoidButton1_Click(objectsender,EventArgse) { strings=""; if(CheckBox1.Checked) s=s+"您喜欢"+CheckBox1.Text; if(CheckBox2.Checked) s=s+"您喜欢"+CheckBox2.Text; if(CheckBox3.Checked) s=s+"您喜欢"+CheckBox3.Text; Response.Write(s); } (十)CheckBoxList控件 1.作用 相当于一组复选框 2.重要属性 Items 3.例子 CheckBoxList实现多项选择 protectedvoidButton2_Click(objectsender,EventArgse) { for(inti=0;i { if(CheckBoxList1.Items[i].Selected) Response.Write(CheckBoxList1.Items[i].Text); } } (十一)RadioButton控件 1.作用 实现单项选择(互斥) 2.重要属性 Text AutoPostBack GroupName 3.例子 鼠标滑过的特效: 鼠标滑过时文本框内容被选中 TextBox1.Attributes.Add("onMouseOver","this.focus();this.select();"); 鼠标点击时文本框内容被清空 TextBox1.Attributes.Add("onclick","this.value=''"); (十二)RadioButtonList控件 1.作用 相当于一组RadioButton 2.重要属性 Items 3.例子 输入“1964”,点击“查看”按钮 点击“老年”,效果如下: 处理属性和事件 £Text £AutoPostBack £GroupName ✓protectedvoidPage_Load(objectsender,EventArgse){} ✓protectedvoidButton1_Click(objectsender,EventArgse){} ✓protectedvoidRadioButton1_CheckedChanged(objectsender,EventArgse){} protectedvoidPage_Load(objectsender,EventArgse) { TextBox1.Attributes.Add("onMouseOver","this.focus();this.select();"); //TextBox1.Attributes.Add("onMouseOver","this.focus();this.select();this.value=''"); //TextBox1.Attributes.Add("onclick","this.value=''"); } protectedvoidRadioButton1_CheckedChanged(objectsender,EventArgse) { Response.Write("你的年龄在15-30之间"); } (十三)Panel控件 1.作用 容器: 相当于组 2.重要属性 GroupingText 3.例子 书上109页例子不讲,直接讲“登录模拟_Panel控件”的例子。 (十四)Table控件 1.作用 容器,用于布局 2.重要属性 HorizontalAlign BackColor BorderColor BorderStyle BorderWidth ForeColor GridLines Font-Bold Height Width 3.组成(结合下图说明) 4.例子 书上113页例子的升级,讲“动态创建表格并填充内容参考代码”的例子。 简单总结: Table和Panel实际可以互相嵌套,只是一般最外层是Table. (十五)BulletedList控件 1.作用 为列表项增加项目符号 2.重要属性和方法 Items属性 Items[i].Text属性 Insert和Add方法 3.例子 书上116页例子加工,讲“动态添加项目和点击文字的即时变化”的例子。 (十六)ImageMap控件 1.作用 相当于把一幅图片虚拟分割成多个区域。 2.重要属性和事件 ImageUrl属性 HotSpotMode属性 Click事件 3.热点区域的划分 4.例子 书上117页例子强力改造,形成了“网易、搜狐、雅虎、新浪网站导航”的例子。 三、小结 1.本章需要掌握控件的主要属性、方法和事件,利用它们组合形成特定的功能。 2.书上的文字内容不容易理解,通过例子学习更方便,然后再回头。 (循环反复) 四、作业 将书上的例子做一遍 五、教学后记 1.服务器控件的作用: 实现用户的交互,提供操作的接口。 2.教材处理: 书上的例子能够满足一定的需求,但是还不够。 (Butthat’snotenough)需要老师自己重新创造例子。 (Doityourself)书上的例子有的课上不做了;有的课上让学生自己做,然后演示;有的很好的、有一定难度的老师组织一起践行。 3.功能驱动法: 首先展示系统的功能(即老师演示程序),让学生有一个直观感受,“知道自己去哪里”。 4.面向过程与面向对象结合 实际本章体现了堆积木原则,也是利用三种常见的程序结构(面向过程),而控件的属性、方法则完全是面向对象的思想。 5.学生也很有创造力 实现ListBox多选删除时,岳晓同学与老师的思路不同,同样可以完成删除。 2006级岳晓同学的代码: for(inti=0;i if(ListBox1.Items[i].Selected) { Response.Write(i+" ListBox1.Items.RemoveAt(i); i=i-1;//此处做了改进 } 六、参考资料 《ASP.NET数据库开发入门与提高》(清华大学出版社) 《VisualC#2005编程实例精粹》(中国水利水电出版社) 《VisualC#.NET可视化程序设计》(清华大学出版社) 《ASP.NET动态网站开发基础教程(C#篇)》(清华大学出版社) XX(作为一门实践为主的课程,XX必不可少)—“有问题,找XX” 授课题目 第5章 常用的内置对象 授课类型 理论课+实验课 教学方法 讲授、实例驱动 教学手段 多媒体教学 授课时间 学时分配 5 教学目的 通过本次课程的学习,主要掌握以下内置对象的用法: 5.1Response对象 5.2Server对象 5.3Session对象 5.4Application对象 5.5Request对象 教学重点 Response对象 Server对象 Session对象 Request对象 教学难点 Session对象 其它 教学基本内容 备注 一、新课导入 面向对象程序设计时我们已经讲过,类成员分为对象成员和类成员,类成员可以不用定义对象直接用类名调用即可。 ASP.NET中提供了5中常用的内置对象,直接通过类名就可以调用相关的属性和方法,实际应用非常广泛。 二、授课内容提要 第5章 服务器控件 5.1Response对象 1.作用 页面输出内容和跳转导航 2.重要属性 BufferOutPut属性 是否使用缓存 Write()向客户端发送字符串信息 Clear()清除缓存 Flush() 强制输出缓存的所有数据 Redirect()网页转向地址 End()终止当前页的运行 WriteFile()读取一个文件,并且写入客户端输出流 3.例子 (1)Response.Write变量数据或字符串 Response.Write(变量数据或字符串) (2)Response对象的Redirect方法将客户端浏览器直接重定向到另外的URL上,即跳转到另一个网页。 例如: Response.Redirect(" Response对象练习 Response弹出新页面,如何实现? 写法一: Response.Write("") 写法二: Response.Write(""); 5.2Server对象 1.作用 Server对象获取路径 2.重要属性 MachineName: 获取服务器的计算机名称。 ScriptTimeout: 获取和设置请求超时(以秒计)。 CreateObject()创建COM对象的一个服务器实例。
");
");
");
");
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- net 程序设计 教案 完整