




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、ASP.NET第八讲第八讲ASP. Net ServerControls(ASP.NET高级服务器端控件)高级服务器端控件)周开来周开来CheckBox和和RadioButton选择组件选择组件checkbox语句:语句:选择组件选择组件checkbox 属性说明:属性说明: Checked:若为若为True,表示表示CheckBox是被选是被选择的,若为择的,若为False,则不被选择。,则不被选择。 TextAlign:取值为取值为right,字靠右排列,为,字靠右排列,为left,靠左排列。,靠左排列。 Text:CheckBox的文字内容。的文字内容。 选择组件选择组件checkbox
2、 事件说明:事件说明: OnCheckedChanged:若若AutoPostBack=True,则当则当CheckBox的选的选择框被打勾或取消打勾都会触发择框被打勾或取消打勾都会触发CheckedChanged事件。事件。 CheckBox运行示例运行示例ASP.NET组件组件CheckBox兴趣:兴趣: void CheckBox_Changed( object sender, EventArgs e) string strResult;strResult=您的兴趣有您的兴趣有:;if (chkCH61.Checked=true) strResult=strResult + chkCH6
3、1.Text.ToString()+ ;if (chkCH62.Checked=true) strResult=strResult+ chkCH62.Text.ToString()+ ;if ( chkCH63.Checked=true ) strResult=strResult+ chkCH63.Text.ToString()+ ; lblTitle2.Text=strResult ;选择组件选择组件CheckBoxList 此组件性质与此组件性质与CheckBox相同,但它的功能相同,但它的功能比比CheckBox来的强,使用上也较方便。因来的强,使用上也较方便。因为它将选项群组化,也就是
4、将所有选项集为它将选项群组化,也就是将所有选项集合起来成为一个对象,如此不管是选项要合起来成为一个对象,如此不管是选项要与数据库结合或是管理所有的选项都变得与数据库结合或是管理所有的选项都变得比较轻松与容易。比较轻松与容易。 选择组件选择组件CheckBoxList 语句说明:语句说明: Asp:CheckBoxList id=”CheckBoxList1” runat=”SERVER” AutoPostBack=True|False CellPadding=”Pixels” DataSource= DataTextField=”DataSourceField” DataValueField=
5、”DataSourceField” RepeatColumns= 1 RepeatDirection=Vertical上到下上到下|Horizontal左到右左到右 RepeatLayout=Flow|Table TextAlign=Right|Left OnSelectedIndexChanged=”MethodName” 属性说明:属性说明: RepeatColumns:设置一列要显示几个设置一列要显示几个CheckBox,默认值为默认值为1。 RepeatDirection:设置设置CheckBox的排列方的排列方向,若为向,若为Vertical,由上到下排列。若为,由上到下排列。若为H
6、orizontal,则由左到右排列。,则由左到右排列。 但若但若RepeatColumns=1,则此属性的设置并则此属性的设置并不会影响排列。默认值为不会影响排列。默认值为Vertical RepeatLayout:若设为若设为Flow,则则CheckBox的的排列会较为紧密而显得比较不规则,若设为排列会较为紧密而显得比较不规则,若设为TABLE,则,则CheckBox会以表格方式排列,会以表格方式排列,较有规则性并且整齐。默认值为较有规则性并且整齐。默认值为Table. 事件说明:事件说明: OnSelectedIndexChanged: 若若AutoPostBack=True,则当则当Ch
7、eckBoxList被选择的选项有所改变便会被选择的选项有所改变便会触发触发SelectedIndexChanged事件。事件。例:例:ASP.NET组件组件CheckBoxList兴趣:兴趣:运动运动 看电影看电影 听音乐听音乐 void chklistCH61_Changed(object sender,EventArgs e) string strResult;/ int intIndex;strResult=您的兴趣有您的兴趣有:;for (int intIndex=0;intIndex=System.Convert.ToInt32(chklistCH61.Items.Count)-1
8、;intIndex+) if (chklistCH61.ItemsintIndex.Selected) strResult=strResult+chklistCH61.ItemsintIndex.Text.ToString()+ ; lblTitle2.Text=strResult;选择组件选择组件RadioButton RadioButton是一个是一个单选单选的选择组件,可的选择组件,可以将类似性质但不可重复选择的选项集合以将类似性质但不可重复选择的选项集合成一个群组,设置方法非常简单,只要将成一个群组,设置方法非常简单,只要将GroupName设成相同名称即可。设成相同名称即可。 选择组
9、件选择组件RadioButton 语句说明:语句说明: 属性说明:属性说明:Checked:若为若为True,表示此表示此RadioButton是被选择的,是被选择的,若为若为False,没被选择。没被选择。GroupName:相同性质的选项但只能单选的群组名称。相同性质的选项但只能单选的群组名称。Text:RadioButton的文字内容。的文字内容。 事件说明:事件说明:OnCheckedChanged:若若AutoPostBack=true,则当则当CheckBox的选择框被打勾或取消打勾便会触发的选择框被打勾或取消打勾便会触发CheckedChanged事件。事件。 RadioButt
10、on示例示例RadioButton血型:血型:void RadioButton_Changed(object sender,EventArgs e ) string StrResult;/定义变量定义变量StrResult=您的血型是:您的血型是:;if (rdoCH61.Checked ) StrResult=StrResult+rdoCH61.Text.ToString()+型型;else if( rdoCH62.Checked ) StrResult=StrResult+ rdoCH62. Text.ToString() +型型;else if ( rdoCH63.Checked) St
11、rResult=StrResult+rdoCH63.Text.ToString() +型型;else if (rdoCH64.Checked) StrResult=StrResult+ rdoCH64.Text.ToString() +型型; lblTitle2.Text=StrResult;选择组件选择组件RadioButtonList 此组件性质基本上与此组件性质基本上与RadioButton相同,但相同,但它的功能要比它的功能要比RadioButton来的强,使用上来的强,使用上也较方便。因为它将选项群组化,也就是将也较方便。因为它将选项群组化,也就是将所有选项集合起来成为一个对象,如此
12、不管所有选项集合起来成为一个对象,如此不管是选项要与数据库结合或是管理所有的选项是选项要与数据库结合或是管理所有的选项都变得比较轻松与容易。都变得比较轻松与容易。语句说明:语句说明:Asp:RadioButtonList id=” RadioButtonList1” runat=”server”AutoPostBack=True|FalseCellPadding=”Pixels”DataSource=DataTextField=”DataSourceField”DataValueField=”DataSourceField”RepeatColumns=”ColumnCount”RepeatDi
13、rection=Vertical|HorizontalRepeatLayout=Flow|TableTextAlign=Right|LeftOnSelectedIndexChanged=”MethodName”选择组件选择组件RadioButtonList 属性说明:属性说明: RepeatColumns:设置一列要显示几个设置一列要显示几个RadioButton,默认值为默认值为1。 RepeatDirection:设置设置RadioButton的排列方向,的排列方向,若为若为Vertical,由上到下排列。若为,由上到下排列。若为Horizontal,则由左到右排列。则由左到右排列。 但若
14、但若RepeatColumns=1,则此属性的设置并不会则此属性的设置并不会影响排列。默认值为影响排列。默认值为Vertical RepeatLayout:若设为若设为Flow,则则RadioButton的排的排列会较为紧密而显得比较不规则,若设为列会较为紧密而显得比较不规则,若设为Table,则则RadioButton会以表格方式排列,较有规则性会以表格方式排列,较有规则性并且整齐。默认值为并且整齐。默认值为Table.选择组件选择组件RadioButtonList 事件说明:事件说明: OnSelectedIndexChanged: 若若AutoPostBack=True,则当则当Radi
15、oButtonList被选择的选项有所改变便被选择的选项有所改变便会触发会触发SelectedIndexChanged事件。事件。图形显示组件图形显示组件Image 纯粹只是显示图片。纯粹只是显示图片。 语句说明:语句说明: asp:Image id=”Image1” runat=”server” AlternateText=”String” ImageUrl=”string” ImageAlign=. 图形显示组件图形显示组件Image 属性说明:属性说明: AlternateText:鼠标光标停留在图片上显示鼠标光标停留在图片上显示的说明性文本。的说明性文本。 ImageUrl:设置欲显示
16、的图片的设置欲显示的图片的URL路径。路径。 ImageAlign:设置设置Image图片与外围文字的图片与外围文字的排列方式。排列方式。图形显示组件图形显示组件Image 例:例: 群组组件群组组件-Panel 语句说明:语句说明: 其他控制组件放置于此其他控制组件放置于此 属性说明:属性说明: BackImageUrl:背景图片的背景图片的URL地址路径。地址路径。 HorizontalAlign:Panel内控件的水平排列内控件的水平排列方式。方式。 Wrap:为为True,则文字内容多于则文字内容多于Panel内长,内长,会自动折行。会自动折行。例:报错解决办法:引号改成英文引号例:报
17、错解决办法:引号改成英文引号 用户名称用户名称 密码密码 表格组件表格组件Table、TableRow 、TableCell 添加的是vs工具箱标准Table,不是html中的Table语句说明:语句说明:cell text(其他的其他的TableCell)(其他的其他的TableRow及及TableCell)属性说明:属性说明:表格属性:表格属性:BackImageUrl 控件的背景中显示的图像的 URL CellSpacing=-1“ 表格单元格间距(以像素为单位)。默认值为 -1 ,表示未设置此属性。CellPadding=-1“ 单元边沿与单元内容之间的空间GridLines=“Bot
18、h“ 为表格边框线。可能的值:None无、Horizontal横线、Vertical垂线、Both同时HorizontalAlign=Center” 内容的水平对齐方式 Height=234px Width=408px“行属性:行属性:asp:TableRow id=TableRow1 runat=ServerHorizontalAlign=Center“ 行内容的水平对齐方式VerticalAlign=Middle“ 内容的垂直对齐方式列属性:列属性: Aspx前台代码:前台代码:下面我们增加下面我们增加“DropDownList下拉框控件的用法下拉框控件的用法”的难度,的难度,下拉框中的内
19、容很多情况下不是事先固定的,而是要动态添加。下拉框中的内容很多情况下不是事先固定的,而是要动态添加。这里设计是用一数据表这里设计是用一数据表DataTable与之联系起来。与之联系起来。 另建一文件另建一文件Default11.aspx ,添加一下拉框,取名,添加一下拉框,取名dlstWeb,先设,先设AutoPostPack为为false,否则在刚启动而面就,否则在刚启动而面就触发触发SelectedIndexChanged事件,弹出窗口就乱飞了。事件,弹出窗口就乱飞了。DataTable属于属于System.Data命名空间,所以如果页面没命名空间,所以如果页面没预添加,可以自行增加这一行
20、。预添加,可以自行增加这一行。 DropDownList下拉下拉框最重要两个绑定表列字段的属性:框最重要两个绑定表列字段的属性:(1)DataTextField数据文本字段,指将数据源中的哪个字段绑定到控件作为下拉框显示的文字(2)DataValueField数据值字段 ,上面文字的值,超链接或ID等。private void Page_Load(object sender, System.EventArgs e) / 用用IsPostBack判断,只在没有回传时才初始化判断,只在没有回传时才初始化 / 这样可以防止每次刷新或回传时,都执行一次以下代码这样可以防止每次刷新或回传时,都执行一次以
21、下代码 / 可以节省服务器的资源了。可以节省服务器的资源了。 if (!IsPostBack) DataTable dt = new DataTable(); DataRow dr; / 在表中增加字段在表中增加字段 dt.Columns.Add(WebName,typeof(string); dt.Columns.Add(WebUrl, typeof(string); / 表中增加行表中增加行 dr = dt.NewRow(); drWebName = 新浪新浪; drWebUrl = http:/; dt.Rows.Add(dr); dr = dt.NewRow(); drWebName
22、= 网易网易; drWebUrl = http:/; dt.Rows.Add(dr); dr = dt.NewRow(); drWebName = 搜狐搜狐; drWebUrl = http:/; dt.Rows.Add(dr); / 把表与下拉菜单绑定数据把表与下拉菜单绑定数据 dlstWeb.DataSource = dt; dlstWeb.DataTextField = “WebName”;/下拉框文字下拉框文字 dlstWeb. DataValueField = “WebUrl”;/这些文字的值,此处为网址这些文字的值,此处为网址 dlstWeb.DataBind(); / 开始时就把
23、下拉菜单的开始时就把下拉菜单的AutoPostBack设为设为false, / 防止一开始就乱跳出网页来防止一开始就乱跳出网页来 dlstWeb.AutoPostBack = true; 下面的事件与前面一模一样了下面的事件与前面一模一样了 private void dlstWeb_SelectedIndexChanged( object sender, System.EventArgs e) Response.Write(“window.open (” +dlstWeb. SelectedValue + “);”); /打开选择的动态新窗口打开选择的动态新窗口说明:说明:/如果以上两页代码报
24、错,那是没有用英文输入法,以及字母大小不对造成的。如果以上两页代码报错,那是没有用英文输入法,以及字母大小不对造成的。说明:说明:1. dropdownlist控件的几个属性控件的几个属性selectedIndex、selectedItem、selectedValue、selectedItem.Text、selectedItem.value的区别的区别 1. selectedIndex指的是dropdownlist中选项的索引,为int,从0开始,可读可写2. selectedItem指的是选中的dropdownlist中选项,为ListItem,只读不写3. selectedValue指的是
25、选中的dropdownlist中选项的值,为string, 只读不写4. selectedItem.Text指的是选中的dropdownlist中选项的文本内容,与selectedItems的值一样为string,可读可写5. selectedItem.value指的是选中的dropdownlist中选项的值,与selectedValue的值一样,为string,可读可写1 view plaincopy to clipboardprint?2 3 4 5 6 7 8 无标题页 9 10 11 12 13 14 北京 15 上海 16 广州 17 18 19 20 21 22 23 24 25
26、26 27 28 29 30 31 代码 1 using System; 2 using System.Data; 3 using System.Configuration; 4 using System.Collections; 5 using System.Web; 6 using System.Web.Security; 7 using System.Web.UI; 8 using System.Web.UI.WebControls; 9 using System.Web.UI.WebControls.WebParts; 10 using System.Web.UI.HtmlContro
27、ls; 11 12 public partial class dropdown : System.Web.UI.Page 13 14 protected void Page_Load(object sender, EventArgs e) 15 16 17 18 protected void Button1_Click(object sender, EventArgs e) 19 20 Label1.Text = selectedIndex= + DropDownList1.SelectedIndex; 21 Label2.Text = selectedItem= + DropDownList
28、1.SelectedItem; 22 Label3.Text = selectedValue= + DropDownList1.SelectedValue; 23 Label4.Text = selectedItem.text= + DropDownList1.SelectedItem.Text; 24 Label5.Text = selectedItem.value= + DropDownList1.SelectedItem.Value; 25 26 运行效果如下:2.关于关于DropDownList绑定数据的一点认识绑定数据的一点认识 平时我们用平时我们用DropDownList控件控件(
29、如如:下拉菜单时下拉菜单时)显示栏目名称等时显示栏目名称等时,一般可以用两种方法使其显示我们要的内容一般可以用两种方法使其显示我们要的内容:方法一方法一: /ddlFirstType、ddlSecondType即为即为DropDownList控件名字控件名字,下同下同 ddlFirstType.DataSource = ds.Tables0.DefaultView; /这里绑定的是在下拉菜单中显示出来的文字这里绑定的是在下拉菜单中显示出来的文字,比如比如我的文章我的文章 ddlFirstType.DataTextField = CnName; /这里绑定的内容在下拉菜单中是看不到的这里绑定的内
30、容在下拉菜单中是看不到的,这里指的是这里指的是我的文章我的文章这个栏目在数据库中对应的这个栏目在数据库中对应的ID ddlFirstType.DataValueField = ID; ddlFirstType.DataBind();此时此时,ddlFirstType.SelectedValue得到的是得到的是ID这个字段的内容这个字段的内容,比如你选中的是比如你选中的是我的文章我的文章这个栏目这个栏目,那么此时那么此时 SelectedValue得到的是得到的是我的文章我的文章在数据库中对应的在数据库中对应的ID.要得到下拉菜单中选中的值要得到下拉菜单中选中的值,如如我的文章我的文章,需要用需
31、要用:ddlFirstType.SelectedItem.Text.方法二方法二:for(int i=0;ids.Tables0.Rows.Count;i+)ddlSecondType.Items.Add(ds.Tables0.RowsiCnName.ToString(); 此时此时, ddlFirstType.SelectedValue得到的是得到的是CnName这个字段的内容这个字段的内容,比如你选中的是比如你选中的是我的文章我的文章这个栏目这个栏目,那么此那么此时时SelectedValue得到就是得到就是我的文章我的文章这几个字这几个字,而而ID的内容就得不到的内容就得不到.8.1 A
32、dRotator控件控件 Asp中存在一个中存在一个AdRotator adruteit广告广告轮显组件,它可以在页面中生成动态的广告轮显组件,它可以在页面中生成动态的广告条,并可以自由地设置各广告的显示比例。条,并可以自由地设置各广告的显示比例。 在在ASP.NET中也同样存在中也同样存在AdRotator,不过在不过在ASP.NET中是以控件的形式存在,而不是组中是以控件的形式存在,而不是组件,读取数据的文件也不再是简单的文本文件,读取数据的文件也不再是简单的文本文件,而是网络上流行的件,而是网络上流行的XML文档。文档。使用使用AdRotator的一般步骤:的一般步骤:1)定义)定义Ad
33、Rotator控件:控件:(2)通过通过AdvertisementFile广告文件属性指定引用的数据文件广告文件属性指定引用的数据文件(3)将需要播放的广告信息寸于将需要播放的广告信息寸于XML文件之中,这个文件之中,这个Data.XML文件文件的格式为:的格式为: 需要显示的广告图形的需要显示的广告图形的URL 点击广告后访问的点击广告后访问的URL 说明文字说明文字 关键字关键字 显示数显示数 每个广告数据拥有五个标准的属性每个广告数据拥有五个标准的属性ImageUrl、NavigateUrl、AlternateText、Keyword、Impressions。 其中,只有其中,只有Ima
34、geUrl是必须的,其他四个是是必须的,其他四个是可选的。可选的。Impressions中设置的数据表示该中设置的数据表示该广告数据在总体中的广告数据在总体中的“份量份量”,数字越大,数字越大,该广告显示的百分比越大。该广告显示的百分比越大。运行结果运行结果public void AdCreated(Object src,AdCreatedEventArgs e)lblImageUrl.Text = (string) e.ImageUrl;lblNavigateUrl.Text = (string) e.NavigateUrl;lblAlternateText.Text = (string)
35、e.AlternateText;AdRotator控件控件AdRotator演示演示/引用的数据文件引用的数据文件ad.xml当前引用文件为:当前引用文件为:链接到:链接到:说明文字:说明文字:以下代码粘贴到以下代码粘贴到Default12.aspx文件中文件中 /images/de.gif /红色要注意是相对路径,红色要注意是相对路径, /还是绝对路径否则可能看不到图片还是绝对路径否则可能看不到图片 /也可以用网络图片,也可以用网络图片,urlg一定要对一定要对http:/163网易网易bbs50 /images/en.gif http:/中国校友录中国校友录aspcn50 /images/
36、header_bg.jpg http:/云南信息港云南信息港aspcn50在解决方案资源管理器中添加在解决方案资源管理器中添加ad.xml文件,将代码粘贴进去文件,将代码粘贴进去8.2 Calendar控件控件 在其他的动态在其他的动态web技术中设计一个日历是技术中设计一个日历是很麻烦的,需要考虑很多方面的问题。而很麻烦的,需要考虑很多方面的问题。而在在AsPNet,设计一个日历是十分简单的,设计一个日历是十分简单的事情,只需要一行代码便可以完成。如:事情,只需要一行代码便可以完成。如: 这是一个又最简单的日历控件应用这是一个又最简单的日历控件应用 Calendar拥有丰富属性用以创建各种风
37、格的日历。拥有丰富属性用以创建各种风格的日历。首先希望把显示首先希望把显示“2001年年6月月”的的这一栏这一栏(称为称为Title栏栏)改为只显示月份,不显示年,改为只显示月份,不显示年,而且希望背景颜色为黑色,前景色为白色。代码如而且希望背景颜色为黑色,前景色为白色。代码如下:下:显示如图所示显示如图所示设置Title栏将将“”换成文字表示换成文字表示 显示如图所示:显示如图所示:NextPrevFormat控制控制“翻月翻月”按钮格式,它有三个值按钮格式,它有三个值ShortMonth、FullMonth、CustomText,默认为,默认为CustomText。这样还不够好,用户。这样
38、还不够好,用户可能还需要更多的个性化,代码如下:可能还需要更多的个性化,代码如下:使用FullMonth格式 NextPrevFormat控制控制“翻月翻月”按钮格式,它有三个值按钮格式,它有三个值ShortMonth、FullMonth、CustomText,默认为,默认为CustomText。这样还不够好,用户可能还需要更多的个。这样还不够好,用户可能还需要更多的个性化,代码如下:性化,代码如下:自定义翻月按钮 需要注意的是,在自定义需要注意的是,在自定义“翻月翻月”按钮文字时,按钮文字时,NextPrevFormat的值必须为的值必须为CustomText 在在Calendar控件中还能
39、够控制日期的选择模式,控件中还能够控制日期的选择模式,在默认条件下,一次只能选择一个日在默认条件下,一次只能选择一个日(Day),但是,但是,通过相应的设置后,可以一次性选取一周的日期,通过相应的设置后,可以一次性选取一周的日期,甚至是一个月的日期。甚至是一个月的日期。 这就需要设置这就需要设置SelectionMode属性属性 Day:任意:任意一个单独的日子;一个单独的日子;DayWeek:可以选择任意的一:可以选择任意的一天或一个星期;天或一个星期; DayWeekMonth :可以选择一:可以选择一天或一周或一个月;天或一周或一个月; None:不能选取日期:不能选取日期 一次选择一个
40、星期一次选择一个星期 SelectionMode有四个值:有四个值:Day,DayWeek,DayWeekMonth,None,默认为默认为Day.同样也可以将选择周,月的按钮换成指定的同样也可以将选择周,月的按钮换成指定的文字或图片,代码如下:文字或图片,代码如下: 控制选择按钮控制选择按钮Calendar控件也有属于自身的事件控件也有属于自身的事件。 (1)当选择的日期发生变化时,将触发当选择的日期发生变化时,将触发Onselectionchanged事件事件. 当选择一周后的执行结果当选择一周后的执行结果此两页代码写在一个此两页代码写在一个Default13.aspx文件中:文件中:vo
41、id SelectionChanged(Object sender,EventArgs e)switch (Calendar1.SelectedDates.Count)/属性属性SelectedDates.Count 选择了选择了日期的数量选择了选择了日期的数量;属性属性SelectedDates 选择多个日期后的选择多个日期后的DateTime对象的集合。只保存日期,时间为空对象的集合。只保存日期,时间为空 case (0): /None Label1.Text = 没有选择日期没有选择日期; break; case (1): /Day Label1.Text = “选择的日期为:选择的日期
42、为: ” + Calendar1.SelectedDate.ToShortDateString();/返返回选定日期的开始时间。回选定日期的开始时间。 SelectedDate 一个选定的日期。只保留日期,时间为空一个选定的日期。只保留日期,时间为空;SelectedDates 选择多个日期后的选择多个日期后的DateTime对象的集合。只保存日期,时间为空对象的集合。只保存日期,时间为空。ToShortDateString就是把你所操作的时间改变成短时间类型http:/ 方法、tostring()区分 break; case (7): /Week Label1.Text = 选择周的开始日期
43、为:选择周的开始日期为: + Calendar1.SelectedDate.ToShortDateString(); break;/如果删除如果删除ToShortDateString()仍然显示开始日期,不过显示几点几分仍然显示开始日期,不过显示几点几分 default: /Month Label1.Text = 选择月的开始日期为:选择月的开始日期为: + Calendar1.SelectedDate.ToShortDateString(); break; /switch-case语句用法http:/ 当当Calendar控件每产生一个日期时就会触发控件每产生一个日期时就会触发OnDayRe
44、nder事件,通过处理事件,通过处理OnDayRender事件,事件,可以对每个日期进行判断,做出特殊的显示效果。可以对每个日期进行判断,做出特殊的显示效果。下面的程序生成日历时,将首先判断生成的日期是否下面的程序生成日历时,将首先判断生成的日期是否“今天今天”(Today),如果判断是,则将如果判断是,则将“今天今天”所在所在TableCell的背景色设置为黄色,接着判断生成的日期的背景色设置为黄色,接着判断生成的日期是否为周末,如果是表明此日期为周末,并以红色背是否为周末,如果是表明此日期为周末,并以红色背景显示。景显示。将下面代码全粘贴到将下面代码全粘贴到Default14.aspx文件
45、文件:void SelectionChanged(Object sender,EventArgs e)switch (Calendar1.SelectedDates.Count) case (0): /None Label1.Text = 没有选择日期; break; case (1): /Day Label1.Text = 选择的日期为: + Calendar1.SelectedDate.ToShortDateString(); break; case (7): /Week Label1.Text = 选择周的开始日期为: + Calendar1.SelectedDate.ToShortDa
46、teString(); break; default: /Month Label1.Text = 选择月的开始日期为: + Calendar1.SelectedDate.ToShortDateString(); break; void DayRender(Object sender,DayRenderEventArgs e)CalendarDay d = e.Day;/ CalendarDay 类表示 Calendar 控件中的日期。TableCell c = e.Cell;/ TableCell类表示Table控件中的单元格。if(d.IsToday)/ 属性IsToday获取一个值,该值指
47、示由此类的实例表示的日期是否与 Calendar 控件的 TodaysDate 属性所指定的日期相同。c.BackColor = Color.Yellow;if(d.IsWeekend)/属性IsWeekend获取一个值,该值指示由此类的实例表示的日期是否是星期六或星期日。 c.Controls.Add(new LiteralControl(“周末”);/LiteralControl 类表示 不需要在服务器上处理的任何其他字符串。http:/ Controls.Add在 Controls 集合中添加一个控件并返回一个对该控件的引用。只不过此处是添加字符串。c.BackColor = Color
48、.Red;8.3 HtmlInputFile控件控件FileUpload控件控件 编写过编写过ASP的程序员都知道,在的程序员都知道,在ASP中上中上传文件是比较困难的,但是传文件是比较困难的,但是ASP.NET因为因为拥有了拥有了HtmlInputFile控件,上传文件已经控件,上传文件已经变得十分轻松了。变得十分轻松了。HtmlInputFile控件提供控件提供了内置的上传文件的处理方法。了内置的上传文件的处理方法。上传单个文件上传单个文件上传单个文件示例上传单个文件示例请选择文件上传:请选择文件上传:上传文件名:上传文件名:上传文件大小:上传文件大小:真实文件名真实文件名:这里需要注意的
49、是,HtmlForm控件的Enctype属性必须设定为multipart/form-data,这样才能保证文件数据的完全上传,否则接受程序仅仅只能获得上传文件的路径信息。public void Page_Load(Object src,EventArgs e)/设置设置HtmlInputFile控件的属性控件的属性UploadFile.MaxLength= 30;UploadFile.Size= 20;public void DoUpload(Object src,EventArgs e)HttpPostedFile hpf = UploadFile.PostedFile;FileName.T
50、ext = hpf.FileName;FileSize.Text = hpf.ContentLength.ToString();/取得文件名取得文件名(不含路径不含路径)char de = ;string AFilename = hpf.FileName.Split(de);string strFilename = AFilenameAFilename.Length-1;rname.Text = strFilename;hpf.SaveAs(Server.MapPath(.)+strFilename);一次上传多个文件一次上传多个文件 上传多个文件最简单的办法就是使用多个上传多个文件最简单的办
51、法就是使用多个HtmlInputFile控件,然后对每个控件执行控件,然后对每个控件执行一次上面的代码。但是这样做需要对每个一次上面的代码。但是这样做需要对每个HtmlInputFile编写代码,当编写代码,当HtmlInputFile控件很多时,这是一个非常麻烦的工作,控件很多时,这是一个非常麻烦的工作,这就需要使用这就需要使用Reques对象的对象的Files对象。对象。public void DoUpload(Object src,EventArgs e)/取得上传文件的个数取得上传文件的个数int FileCount = Request.Files.Count;string strFi
52、lename;string AFilename;char de = ;HttpPostedFile hpf;for(int i=0;iFileCount;i+)hpf = Request.Filesi;AFilename = hpf.FileName.Split(de);strFilename = AFilenameAFilename.Length-1;Response.Write(strFilename);hpf.SaveAs(Server.MapPath(.)+strFilename);/在在Panel控件中显示上传过程控件中显示上传过程AddPanelControls(strFilena
53、me);public void AddPanelControls(string filename)Label lblShow = new Label();lblShow.Text = filename+已经上传已经上传;Panel1.Controls.Add(lblShow);在此程序中,在此程序中,Request.Files0和和Request.Files1分别表示分别表示UploadFile1.PostedFile,UploadFile2.PostedFile。通过。通过使用使用Request.Files属性,大属性,大大简化了程序的代码。大简化了程序的代码。上传多个文件上传多个文件上传多
54、个文件上传多个文件选择上传文件选择上传文件1:选择上传文件选择上传文件2:选择上传文件选择上传文件3:选择上传文件选择上传文件4:选择上传文件选择上传文件5:8.3 FileUpload控件控件FileUpload控件属性详解:控件属性详解:1.Enable属性:是否禁用属性:是否禁用(几乎所有控件都有该属性几乎所有控件都有该属性) 2.FileBytes属性:以字节数组形式获取文件上传内容属性:以字节数组形式获取文件上传内容(需要将文件保存到数据库时要用到它需要将文件保存到数据库时要用到它)3.Focus方法:设为焦点控件方法:设为焦点控件4.HasFile(有文件)(有文件) 获取一个布尔
55、值,用于表示获取一个布尔值,用于表示FileUpload控件是否已经包含一个文件控件是否已经包含一个文件,有上传文件时返回有上传文件时返回true。5.PostedFile 控件的属性,用于获得包装成控件的属性,用于获得包装成HttpPostedFile对象的上传文件。使用该对象可以获取上传文件的相关对象的上传文件。使用该对象可以获取上传文件的相关属性,有下面属性,有下面6、7、8、9属性和常用方法属性和常用方法SaveAs() 将客户端上传的文件存在服务器的磁盘中 SaveAs(ByVal Filename As String )。HttpPostedFile什么意思?这是一个类,代表通过什
56、么意思?这是一个类,代表通过HTTP协议用协议用POST方法上传上来的文件。注意,它方法上传上来的文件。注意,它只是引用上传的文件的一个临时文件,如果要永久保存上传上来的那个文件,请使用它的只是引用上传的文件的一个临时文件,如果要永久保存上传上来的那个文件,请使用它的SaveAs方法方法。6.FileName 获取上传文件在客户端的文件名称获取上传文件在客户端的文件名称7.FileContent文件容量文件容量以流方式获得上传文件容量。以流方式获得上传文件容量。8.FileBytes文件文件 类型类型 ContentType? 获取上传文件的获取上传文件的MIME类型,如类型,如text/ht
57、ml,image/jpg等等 9.ContentLength 获得上传文件的大小获得上传文件的大小,单位是字节单位是字节(byte)10. InputStream:把上传文件当成流来获取:把上传文件当成流来获取8.3 FileUpload控件实例控件实例练习:上传所有格式文件到网站根目录下的文件夹images2中。1.首先在根目录下建一个images2文件:8.3 FileUpload控件实例控件实例2.在解决方案资源管理器中添加在解决方案资源管理器中添加Default16.aspx文件。文件。前台代码:(如报错,将前台代码:(如报错,将删除)删除) 3.后台cs代码:using System
58、;using System.Collections.Generic;using System.IO;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;public partial class Default16 : System.Web.UI.Page protected void Button1_Click(object sender, EventArgs e) string strName = FileUpload1.PostedFile.FileName;/使用使用
59、fileupload控件获取上控件获取上传文件的文件名传文件的文件名 if (strName != )/如果文件名存在如果文件名存在 bool fileOK = false;/是建立一个名叫是建立一个名叫fileok的布尔变量的布尔变量 并附初始值并附初始值 为为false int i = strName.LastIndexOf(“.”);/获取获取.的索引顺序号,在这里的索引顺序号,在这里.代表文件名字与后缀的间隔。代表文件名字与后缀的间隔。此句意思是从文件名此句意思是从文件名strName(它是个字符串)的最后往前查找点号出现的位置。(它是个字符串)的最后往前查找点号出现的位置。LastIndexOf()方()方法法 参见参见http:/ string kzm = strName.Substring(i);/提取
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 融资协议书样式6篇
- 承包水库养鱼标准合同4篇
- 托班卫生健康教育要点
- 社会科学研究方法研究设计
- 项目战略合作框架协议书模板3篇
- 健康促进课件
- 具体施工内容装饰合同7篇
- T/ZJSEE 0013.1-2023燃气机组能耗实测导则第1部分:启动能耗
- 顶层设计与渐进实践融合策略
- 压缩空气系统施工合同7篇
- xx市体育中心设计说明
- 2024年江苏省南通市如皋市中考一模语文试题
- 08J933-1体育场地与设施(一)
- 2024-2030年中国纳米抗体药物行业运行现状及发展行情监测研究报告
- 2023年高考物理分题型多维刷题练专题19热学中的变质量气体问题(原卷版+解析)
- 如何唤醒孩子学习的内驱力
- 跨境电商合伙投资协议书
- 工程质量责任登记制度
- 状元展厅方案策划
- 土壤农化分析实验智慧树知到期末考试答案章节答案2024年甘肃农业大学
- 空压机日常维护保养点检记录表
评论
0/150
提交评论