




已阅读5页,还剩99页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
ASP.Net,2010年9月15日,第三章ASP.Net标准控件,ASP.Net页面的生命周期,IsPostBack属性,ASP.Net标准控件,1,2,3,ASP.Net页面的生命周期,第一次访问:1)预初始化和初始化:PreInit;Init;*.aspx中的所有控件都已实例化并采取各自的默认值2)页面装载:细分PreLoad,Load,LoadComplete;主要是Page-Load运行这里面的程序3)预呈现:PreRender可以利用该阶段来处理需要在保存和显示输出之前要做的操作。4)保存状态:SaveViewState所有控件和页面本身都将自己的值保存在_ViewState隐藏属性中。5)呈现:Render输出6)卸载:Page_Unload,4,ASP.Net页面的生命周期,用户第一次以后的回传访问(PostBack):1)初始化:Init*.aspx中的所与控件都已实例化并采取各自的默认值2)加载视图状态:LoadViewState,从_ViewState中读出数据,它包含上次在服务器上处理时控件的状态。3)处理回发数据:ProcessPostData获取回传回来的页面中的控件的状态,比如:一个TextBox中可能已经填写了用户数据。此时,控件就有机会更新其状态。处理结束后,各个控件的状态就和它在客户端回传前的状态一致了。4)页面装载:Page-Load运行Page_Load里的代码。,5,ASP.Net页面的生命周期,用户第一次以后的回传访问(PostBack):5)发送回传更改通知:RaiseChangedEvents引发一个事件,以响应当前和以前状态的比较,发送一个回发更改通知。比如:TextBox的TextChanged事件。6)处理回发事件:RaisePostBackEvent处理用户引发回发的事件,比如,用户单击了一个按钮,将调用和这个按钮相关的代码来进行处理。7)预呈现:PreRender可以利用该阶段来处理需要在保存和显示输出之前要做更新操作。8)保存状态:SaveViewState所有控件和页面本身都将自己的值保存在_ViewState隐藏属性中。9)呈现:Render输出10)卸载:Page_Unload,6,Page的IsPostBack属性,通过页面的IsPostBack属性可以判断*.aspx页面是否为回传给服务器的页面。一般在Page_Load事件中进行判断,并作相应的处理。Page.IsPostBack属性的使用:因为在Page_Load中有的代码你只希望在该页面被首次装载是执行,而在回传时不执行,所以可以利用IsPostBack这个属性来进行判断作相应的处理例如:下拉列表框,在Page_Load中赋默认的初始值。如果不用IsPostBack属性进行限制,将重复添加。,7,Page的IsPostBack属性,例如:下拉列表框,在Page_Load中赋默认的初始值。如果不用IsPostBack属性进行限制,将重复添加。,if(!IsPostBack)DropDownList1.Items.Add(北京市);DropDownList1.Items.Add(天津市);DropDownList1.Items.Add(上海市);DropDownList1.Items.Add(重庆市);,ASP.Net标准控件,标准控件全部运行于服务器端,即必须显示声明:runat=server.这类控件在服务器端都以特殊的控件标签作为其HTML语法:当页面运行于客户端时,它们就会自动生成相应的符合HTML语法的控件标签。(以TextBox为例),标准控件,标准控件,标准控件,Label,Label示例,编程方式动态设置:Label1.Text=ASP.NET程序设计;Label1.Font.Name=黑体;Label1.Font.Size=30;Label1.ForeColor=System.Drawing.Color.Blue;动态创建一个Label控件,并添加到页面中:LabelmyLabel=newLabel();myLabel.Text=ThisisanewLabel;Page.Controls.Add(myLabel);,TextBox,TextBox示例,文本框:最多6位密码框:多行文本框(不能自动换行):,Button/LinkButton/ImageButton,当用户单击这三种类型按钮中任何一个时,都会产生Click事件,同时都会自动产生向服务器回送的操作。,Button/LinkButton/ImageButton,示例1:页面跳转说明:单击Button1按钮后会跳转到login.aspx页面。示例2:具有超链接外观的按钮武汉科技大学示例3:图形按钮示例4:Click事件protectedvoidButton1_Click(objectsender,EventArgse)Label1.Text=HelloWorld!;,HyperLink,Target属性取值:_blank:在新窗口显示。_parent:在父窗口显示。_self:在同一个窗口显示_top(默认值):在整个浏览器窗口显示。,武汉科技大学,HyperLink,注意LinkButton与HyperLink区别,二者均可在网页上创建超链接,外观相似。HyperLink使用NavigateURL属性,LinkButton使用PostBackUrl属性来实现链接。LinkButton功能与HyperLink不同(如不支持Click事件等)。,DropDownList,DropDownList控件实质是列表项(ListItem)容器,每个列表项对象都带有自己的属性,列表项可以通过手动或编程方式添加。,DropDownList控件只能单选,DropDownList,手动添加列表项Items属性,DropDownList示例,上海武汉广州获取选中项:Response.Write(DropDownList1.SelectedIndex+);Response.Write(DropDownList1.SelectedItem+);Response.Write(DropDownList1.SelectedValue+);设置选中项:DropDownList1.SelectedIndex=2;Response.Write(DropDownList1.SelectedValue);,SelectedItem.Value,或SelectedItem.Text,SelectedIndexChanged事件,当选择项发生改变时,触发该事件。配合AutoPostBack=true自动产生向服务器回送的操作。,示例:在页面中显示DropDownList控件的选择项。上海武汉protectedvoidDropDownList1_SelectedIndexChanged(objectsender,EventArgse)if(DropDownList1.SelectedIndex-1)Response.Write(DropDownList1.SelectedItem.Text);,DropDownList练习,DropDownList参考,友情链接武汉科技大学湖北工业大学protectedvoidDropDownList1_SelectedIndexChanged()intstr=int.Parse(DropDownList1.SelectedItem.Value);switch(str)case1:Response.Redirect();break;case2:Response.Redirect();break;,编程控制Items重要属性和方法,DropDownList1.Items.Count:获取列表项总数DropDownList1.Items.Add(项目名):添加一个新项目DropDownList1.Items.Remove(项目名):删除指定项目DropDownList1.Items.Insert(索引值,项目名):在指定索引位置添加一个新项目DropDownList1.Items.RemoveAt(索引值):删除指定索引项DropDownList1.Items.Clear():清除所有项目,DropDownList示例1遍历,for(inti=0;i);或者:foreach(ListItemsinDropDownList1.Items)Response.Write(s.Text+);,DropDownList示例2清除,for(inti=0;i=0;i-)DropDownList1.Items.RemoveAt(i);清除3:DropDownList1.Items.Clear();,【返回】,ListBox,ListBox控件与DropDownList控件基本相同,但ListBox控件的项目可多选。,如果列表控件只允许一个选项,则此属性可获取该选定项。如果列表控件允许多个选项,则此属性可获取索引最小的选定项。,ListBox列表项Items重要属性和方法,ListBox1.Items.Count:获取列表项总数ListBox1.Items.Add(项目名):添加一个新项目ListBox1.Items.Remove(项目名):删除一个指定的项目ListBox1.Items.Insert(索引值,项目名):在指定索引位置添加一个新项目ListBox1.Items.RemoveAt(索引值):删除指定索引项ListBox1.Items.Clear():清除所有项目,ListBox示例,示例1:为ListBox添加列表项。for(inti=0;i-1)ListBox2.Items.Add(ListBox1.SelectedItem.Text);ListBox1.Items.RemoveAt(ListBox1.SelectedIndex);右移多项:for(inti=0;iListBox1.Items.Count;i+)if(ListBox1.Itemsi.Selected)ListBox2.Items.Add(ListBox1.Itemsi.Text);ListBox1.Items.RemoveAt(ListBox1.SelectedIndex);右移所有项:for(inti=0;iListBox1.Items.Count;i+)ListBox2.Items.Add(ListBox1.Itemsi.Text);ListBox1.Items.Clear();,【返回】,CheckBox,选择的结果为bool型.当选中状态发生改变时,会触发CheckedChanged事件。,CheckBox示例,CheckBox示例,测试protectedvoidCheckBox1_CheckedChanged(objectsender,EventArgse)Label1.Font.Bold=!Label1.Font.Bold;protectedvoidCheckBox2_CheckedChanged(objectsender,EventArgse)Label1.Font.Italic=!Label1.Font.Italic;protectedvoidCheckBox3_CheckedChanged(objectsender,EventArgse)if(CheckBox3.Checked)Label1.ForeColor=System.Drawing.Color.Red;elseLabel1.ForeColor=System.Drawing.Color.Black;,【返回】,CheckBoxList,CheckBoxList控件是一组被封装在一起的CheckBox控件集合,可以通过编辑Items属性手工设置选择项,操作方法同DropDownList控件。当选中状态发生改变时会触发SelectedIndexChanged。,CheckBoxList示例获取多项值,CheckBoxList参考程序,足球篮球排球音乐舞蹈protectedvoidCheckBoxList1_SelectedIndexChanged(objectsender,EventArgse)stringMsg=您的个人爱好是:;for(inti=0;i;Label1.Text=Msg;,【返回】,RadioButton,RadioButton示例,protectedvoidRadioButton1_CheckedChanged(objectsender,EventArgse)Label1.Font.Bold=true;protectedvoidRadioButton2_CheckedChanged(objectsender,EventArgse)Label1.Font.Bold=false;,【返回】,RadioButtonList,RadioButton示例1,RadioButton参考,中国美国俄罗斯法国protectedvoidRadioButtonList1_SelectedIndexChanged(objectsender,EventArgse)Response.Write(你选中了+RadioButtonList1.SelectedItem.Text);,RadioButton示例2,RadioButton参考,中国美国俄罗斯法国,RadioButton参考,protectedvoidCheckBox1_CheckedChanged(objectsender,EventArgse)if(CheckBox1.Checked=true)RadioButtonList1.RepeatLayout=RepeatLayout.Flow;elseRadioButtonList1.RepeatLayout=RepeatLayout.Table;protectedvoidCheckBox2_CheckedChanged(objectsender,EventArgse)if(CheckBox2.Checked=true)RadioButtonList1.RepeatDirection=RepeatDirection.Horizontal;elseRadioButtonList1.RepeatDirection=RepeatDirection.Vertical;,【返回】,Image,ImageMap,ImageMap控件可以创建一个图像,该图像含有多用户可以单击的热区,每个热区都可以是一个单独的超链接或回送事件。,热区2,热区1,ImageMap控件组成,两个部分组成:(1)第一个部分是要显示的图像(2)第二个部分是热区控件集合,对于每个热区需要设置位置和大小坐标。,HotSpot集合编辑器,圆形热区矩形热区多边形热区,HotSpot集合编辑器,HotSpotMode:NotSet/Navigate/PostBack/InactiveNavigateUrl:单击HotSpot对象时导航至的URLPostBackValue:单击HotSpot时传递的HotSpot对象名称,ImageMap示例,【返回】,Table,Table控件包含TableRow(行)和TableCell(单元格)两个子控件。一个或多个TableCell控件构成一个TableRow控件;一个或多个TableRow控件构成一个Table控件。,Table,TableRow,TableCell,Table主要属性,TableRow集合编辑器,TableRow主要属性,TableCell集合编辑器,TableCell主要属性,Table示例1:一个简单的表格,学号姓名专业2005001wustzzcs,Table阅读,protectedvoidPage_Load(objectsender,EventArgse)introws=2,cells=2;for(inti=0;irows;i+)TableRowr=newTableRow();for(intj=0;jcells;j+)TableCellc=newTableCell();c.Text=Row+i.ToString()+,Col+j.ToString();r.Cells.Add(c);TableTable1=newTable();Table1.Rows.Add(r);Table1.GridLines=GridLines.Both;Table1.BorderWidth=1;Page.Controls.Add(Table1);,Table示例2:动态生成表格,protectedvoidPage_Load(objectsender,EventArgse)introws=2,cells=2;for(inti=0;irows;i+)TableRowr=newTableRow();for(intj=0;jcells;j+)TableCellc=newTableCell();c.Text=Row+i.ToString()+,Col+j.ToString();r.Cells.Add(c);TableTable1=newTable();Table1.Rows.Add(r);Table1.GridLines=GridLines.Both;Table1.BorderWidth=1;Page.Controls.Add(Table1);,动态地创建一个表包含三个步骤:(1)创建TableRow(2)创建TableCell对象,并设置Text属性,并将创建的TableCell对象添加到TableRow的Cells集合中;(3)将TableRow添加到Table的Rows集合中。对表中的各行重复此过程。,【返回】,BulletedList,DisplayMode取值:Text(文本/默认);HyperLink(超链接);LinkButton(链接按钮),BulletSytle取值:Numbered(数字序号)、LowerAlpha(序号为小写字母)、Disc(实心圆点序号)、CustomImage(序号为自定义图像)等.,BulletedListDisplayMode示例,.NET架构J2EE架构C#和Java,武汉科技大学湖北工业大学,使用BulletImageUrl属性为项目符号指定自定义图像,必须将BulletStyle属性设置为CustomImage,将DisplayMode设置为HyperLink值就可将列表内容显示为超链接,同时ListItem使用Value属性指定超链接定位到的URL。,BulletedList的Click事件,在BulletedList控件的DisplayMode=LinkButton模式下,并BulletedList控件中的某项被点击时触发。触发时将被点击项在所有项目列表中的索引号(从0开始)作为传回参数传回服务器端。,【返回】,protectedvoidBulletedList1_Click(objectsender,BulletedListEventArgse)switch(e.Index)case0:Response.Write(单击+BulletedList1.Itemse.Index.Text+按钮);break;case1:Response.Write(单击+BulletedList1.Itemse.Index.Text+按钮);break;,HiddenField,主要属性:Value示例:,【返回】,protectedvoidButton1_Click(objectsender,EventArgse)HiddenField1.Value=保存的输入值=+TextBox1.Text;protectedvoidButton2_Click(objectsender,EventArgse)Response.Write(HiddenField1.Value);,Calendar,Calendar控件的外观样式,也可使用“自动套用格式”对话框对Calendar样式进行设置,Calendar重要属性,关于DateTime结构,属性,关于DateTime结构,方法,Calendar示例1,基本用法,protectedvoidPage_Load(objectsender,EventArgse)/获取当前日期:TextBox1.Text=Calendar1.TodaysDate.ToLongDateString();或者TextBox1.Text=DateTime.Today.ToLongDateString();protectedvoidButton1_Click(objectsender,EventArgse)/获取选中的日期TextBox1.Text=Calendar1.SelectedDate.ToShortDateString();,Calendar重要事件,SelectionChanged:当用户单击日期选择器选择一天、一周或整月时发生。,Calendar示例2示例1的改进,SelectionChanged事件编程,protectedvoidCalendar1_SelectionChanged(objectsender,EventArgse)TextBox1.Text=Calendar1.SelectedDate.ToShortDateString();,Calendar示例3,如何设置当前被选中的日期(默认情况不选中),方法2:编程方法(会影响SelectionChanged事件)(1)Calendar1.SelectedDate=Calendar1.TodaysDate;(2)Calendar1.SelectedDate=DateTime.Parse(2009-11-23);(3)Calendar1.SelectedDate=DateTime.Today;,方法1:设置SelectedDate属性:如2009-11-23,Calendar阅读程序,DateTimetomorrow=DateTime.Today.AddDays(1);Calendar1.TodaysDate=tomorrow;Calendar1.SelectedDate=Calendar1.TodaysDate;Response.Write(Calendar1.SelectedDate.Day.ToString()+);,Calendar示例4SelectionMode,多日期的获取,protectedvoidCalendar1_SelectionChanged(objectsender,EventArgse)Stringds=Theselecteddate(s):+;foreach(DateTimedayinCalendar1.SelectedDates)ds+=day.ToShortDateString()+;Response.Write(ds);,【返回】,AdRotator,在页面中随机并循环显示一组广告图片,当用户点击广告时,系统将跳转到指定目标URL。,AdvertisementFile文件格式,pic1.gif武汉科技大学90edu,广告显示的加权频率值,该值越大,广告显示的频率越大。,广告的类别。使用KeywordFilter属性可对广告进行筛选,【返回】,FileUpload,FileUpload控件提供了SaveAs(string)方法,用于将用户上传的文件保存到Web服务器的指定位置,FileUpload示例,protectedvoidButton1_Click(objectsender,EventArgse)stringsaveDir=images;/指定的文件夹要存在stringappPath=Request.PhysicalApplicationPath;if(FileUpload1.HasFile)stringsavePath=appPath+saveDir+FileUpload1.FileName;FileUpload1.SaveAs(savePath);Response.Write(上传成功!);elseResponse.Write(上传失败!);,【返回】,Wizard,Wizard控件使用多个步骤来描绘用户操作过程;用户可在各个步骤之间前后移动,每个步骤都是一个WizardStep控件。,WizardStep集合编辑器,StepType:获取或设置步骤的类型Auto(默认)、Complete、Finish、Start和Step,WizardStep示例,学号姓名专业,FinishButtonClick事件,当单击“完成”按钮时发生,一般用于对最终数据进行收集处理。,protectedvoidWizard1_FinishButtonClick(objectsender,WizardNavigationEventArgse)Response.Write(学号:+TextBox1.Text+姓名:+TextBox2.Text+专业:+TextBox3.Text);,【返回】,XML,示例将XML文档内容以表格形式显示,假设要显示的XML文档为stu.xml;样式表文件为stutable.xsl。,stu.xml:小明18小丽17,stutable.xsl:,XML,方法1:采用DocumentSource和ThansformSource属性:方法2:采用Document和Transform属性动态绑定:System.Xml.XmlDocumentdoc=newSystem.Xml.XmlDocument();doc.Load(Server.MapPath(stu.xml);System.Xml.Xsl.XslTransformtrans=newSystem.Xml.Xsl.XslTransform();trans.Load(Server.MapPath(stutable.xsl);Xml1.Document=doc;Xml1.Transform=trans;,【返回】,View和MultiView,View控件只能放置在MultiView控件内部;在MultiView控件中,一次只能将一个View控件定义为活动视图,只有活动视图会呈现到客户端。,View和MultiView示例,实现多个View控件在MultiView控件内的切换。,View1,View2,View3,View和MultiView,指定第一个View为活动视图,View内部的控件,View和MultiView,protectedvoidNextButton_Command(objectsender,EventArgse)MultiView1.ActiveViewIndex+=1;protectedvoidBackButton_Command(objectsender,EventArgse)MultiView1.ActiveViewIndex-=1;protec
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 管道安装考试题及答案
- 孤儿救助考试题及答案
- 幼儿园教学教案设计:不跟陌生人走
- 我最喜爱的书籍读后感(5篇)
- 防范病毒考试题及答案
- (正式版)DB15∕T 3685-2024 《严寒地区预制拼装箱型涵洞设计与施工技术规范》
- 车辆买卖合同及其附加条款
- (正式版)DB15∕T 3651-2024 《光伏项目防沙治沙技术规程》
- 动物口语考试题及答案
- 顶尖学校考试题及答案
- 2025年医疗工作人员定向招聘考试笔试试题(含答案)
- 第二单元混合运算单元测试卷(含答案) 2025-2026学年人教版三年级数学上册
- 2025年中央一号文件客观题及参考答案
- 出境人员行前安全培训课件
- 俄乌局势进展
- 2025甘肃兰州兴蓉环境发展有限责任公司招聘内控管理岗等岗位5人笔试模拟试题及答案解析
- 苏教版三年级上册数学全册教学设计(配2025年秋新版教材)
- 用电安全与消防知识培训课件
- 绘本《其实我很喜欢你》冯玉梅
- 智慧交通典型城市案例及启示
- 国家开放大学《人文英语4》边学边练参考答案
评论
0/150
提交评论