10 1 1 Label HTMLLabel asp Label idlabel
10. 1. 1 Label 控件 用HTML标记Label控件的格式为: <asp: Label id="label 1" font-size="14" fontbold="true" forecolor="red" Text="显示的字符 " runat=server/> 或 <asp: Label id="Label 1" runat=server>标签控件显 示的字符串</asp: Label> Label控件常用的属性如下: • Font: • Text: 4
10. 1. 2 Text. Box控件 5 Text. Box控件HTML标记格式如下: <asp: Text. Box id="text. Box 1" runat=server> </asp: Text. Box> Text. Box控件常用的属性和事件如下: • 属性Text. Mode : Text. Mode=Multi. Line为多行编辑框 , Text. Mode=Single. Line为单行编辑框; Text. Mode=Pass. Word为口令编辑框 ; • 属性Max. Length: • 属性Rows:多行编辑框时,该属性有效,表示允许 最大行数 • 事件Text. Changed:
10. 1. 3 Button、Link. Button和Image. Button控件为普通按钮,Link. Button控件为超级链接 形式的按钮,Image. Button控件为图形按钮。用HTML 标记这 3个按钮控件的格式如下: <asp: button text="按 钮 标 题 " id="btn 1" Onclick="Btn_Click" runat=server/> <asp: Link. Button text="按 钮 标 题 " id="btn 2" Onclick="Btn_Click" runat=server/> <asp: Image. Button id="btn 3" Onclick="Btn_Click" Image. Url="t. bmp" runat="server"/> 3个按钮控件常用的属性和事件如下: • 属性Text: 6
10. 1. 4 Check. Box和Check. Box. List控件用如下方法标记: <asp: Check. Box. List id="checkboxlist 1" runat="server"> <asp: List. Item Selected=true>音乐</asp: List. Item> <asp: List. Item>文学</asp: List. Item> </asp: Check. Box. List> Check. Box. List控件常用的属性和事件如下: • 属性Selected. Item: • 属性Repeat. Columns: • 属性Repeat. Direction: • 属性Items: • 事件Selected. Index. Changed: 8
<html> <script runat="server" Language="C#" > void Check_Clicked(Object sender, Event. Args e) { String s="你的爱好是:"; for(int i=0; i<checkboxlist 1. Items. Count; i++) { if (checkboxlist 1. Items[i]. Selected) s += checkboxlist 1. Items[i]. Text; } Message. Text=s; } </script> 10
<body> <form runat="server"> <asp: Check. Box. List id="checkboxlist 1" Auto. Post. Back="True" runat="server“ On. Selected. Index. Changed="Check_Clicked"> <asp: List. Item>音乐</asp: List. Item> <asp: List. Item>文学</asp: List. Item> </asp: Check. Box. List> <asp: label id=“Message” Text=“你的爱好是:” runat="server"/> </form> </body> </html> 11
12 【例10. 2】用VS 2005集成环境实现具体步骤如下: 1. 创建一个网站。放置Label控件到Web窗体, 其属性Text=“你 的爱好是:”。 2. 放置Check. Box. List控件到窗体,单击属性Items右侧标题为 "…"的按钮,出现"List. Item集合编辑器"对话框。单击"添 加"按钮,增加两个Check. Box按钮,属性Text分别为:音乐、 文学。设定属性Auto. Post. Back=true。 3. 为Check. Box. List控件Selected. Index. Changed事件处理函数 增加语句如下: private void Check. Box. List 1_Selected. Index. Changed (object sender, Event. Args e) { string s="你的爱好是:"; for(int i=0; i<2; i++) { if(Check. Box. List 1. Items[i]. Selected) s=s+Check. Box. List 1. Items[i]. Text; } Label 1. Text=s; }
13 10. 1. 5 Radio. Button和Radio. Button. List控件 该控件用如下方法标记: <asp: Radio. Button. List id=radio. Button. List 1 runat="server"> <asp: List. Item Selected=true>男</asp: List. Item> <asp: List. Item>女</asp: List. Item> </asp: Radio. Button. List 1> 【例10. 3】两个单选按钮,标题分别为男和女,初始 标题为“男”的单选按钮被选中。用Label控件显示 选择的结果。网页文件如下:
<html> <script language="C#" runat="server"> void Check_Clicked(Object sender, Event. Args e) { if(Radio. Button. List 1. Selected. Index==0) //第一个单选按钮的索引号为 0 Label 1. Text="男"; else Label 1. Text="女"; } </script> 14
<body> <form runat=server> <asp: Radio. Button. List id=Radio. Button. List 1 Auto. Post. Back="True" runat="server " On. Selected. Index. Changed="Check_Clicked"> <asp: List. Item Selected=true>男</asp: List. Item> <asp: List. Item>女</asp: List. Item> </asp: Radio. Button. List> <asp: Label id=Label 1 Text=“男” runat="server"/> </form> </body> </html> 15
16 【例10. 4】用VS 2005实现的具体步骤如下: • 创建一个网站。放置Label控件到Web窗体, 属性Text=“男”。 • 放置Radio. Button. List控件到窗体,单击属性Items右侧标题 为"…"的按钮,出现"List. Item集合编辑器"对话框。单击" 添加"按钮,增加 1个Radio. Button按钮,属性Text为"男", Selected属性为true。增加另一个Radio. Button按钮,Text 属性为"女",Selected属性为false。属性 Auto. Post. Back=true。 • 为Radio. Button. List控件Selected. Index. Changed事件增加事 件处理函数如下: private void Radio. Button. List 1_Selected. Index. Changed (object sender, Event. Args e) { if(Radio. Button. List 1. Selected. Index==0) Label 1. Text="男"; else Label 1. Text=“女”; }
19 private void Radio. Button. List 1_Selected. Index. Changed (object sender, Event. Args e) { Image 1. Image. Url=Radio. Button. List 1. Selected. Item. Valu e; } 4. � Page_Load事件� 理函数增加� 句: private void Page_Load (object sender, Event. Args e) {Image 1. Image. Url= Radio. Button. List 1. Items[0]. Value; }
21 10. 1. 8 Table、Table. Cell和Table. Row控件 使用这 3个控件可以在网页中建立一个表,使用方法如下: <asp: Table id="Table 1" runat="server" Cell. Padding=10 Grid. Lines="Both"> <asp: Table. Row> <asp: Table. Cell>第 0行,第 0列</asp: Table. Cell> <asp: Table. Cell>第 0行,第 1列</asp: Table. Cell> </asp: Table. Row> <asp: Table. Cell>第 1行,第 0列</asp: Table. Cell> <asp: Table. Cell>第 1行,第 1列</asp: Table. Cell> </asp: Table. Row> </asp: Table>
10. 1. 9 Drop. Down. List控件 控件HTML标记格式如下: <asp: Drop. Down. List id="drop. Down. List 1“ Auto. Post. Back="True" runat="server" On. Selected. Index. Changed="Selection_Change"> <asp: List. Item Selected="True" Value="White"> 白色 </asp: List. Item> <asp: List. Item Value="Black"> 黑色 </asp: List. Item> </asp: Drop. Down. List> Drop. Down. List控件常用的属性和事件如下: 24
10. 1. 10 List. Box控件 27 List. Box列表控件的HTML标记格式如下: <asp: List. Box id="list. Box 1" Rows="6“ Selection. Mode="Single" runat="server"> <asp: List. Item Selected="True" Value="White"> 白色</asp: List. Item> <asp: List. Item Value="Black"> 黑色</asp: List. Item> </asp: List. Box> List. Box控件常用的属性、事件和Drop. Down. List控件基本一致, 不相同的如下: • Selection. Mode:指定控件的选择模式。为Multiple允许多选, 为Single只能单选。 • Selected. Value:等价于Selected. Item. Value。如果未选定 任何� ,返回空字符串("")。 • Rows:获取或设置 List. Box 控件中显示的行数。
33 <html> <body> <form id="Form 1" method="post" runat="server"> 姓 名 : <asp: Text. Box id="Text. Box 1" runat="server"/> <asp: Button Text="提交" runat=server/> <asp: Required. Field. Validator id="Required. Field. Validator 1" runat="server" Error. Message="必须输入姓名" Control. To. Validate="Text. Box 1" Display="Dynamic"/> </form> </body> </html>
35 private void Button 1_Click(object sender, Event. Args e) { if(Page. Is. Valid==true) Label 1. Text=“已输入了银行卡号”; } 4. 放置另一个Required. Field. Validator控件到窗体, 属性 Control. To. Validate为Text. Box 2, 属性Error. Message="必须输 入活期账号",属性Text="没有输入活期账号"。属性 Display=Dynamic,属性Validation. Group="NO 2",属性 Enable. Client. Script="false"。 5. 放置Button控件到窗体, 属性Text=“提交活期账号”,属性 Validation. Group=“NO 2”,为按钮增加单击事件处理函数如下: private void Button 2_Click(object sender, Event. Args e) { if(Page. Is. Valid==true) Label 1. Text=“已输入了活期账号”; } 6. 运行,如果不在两个Text. Box� 入数据,�� "提交"按� ,� � 控件将� 示�� 信息。
10. 2. 3 Validation. Summary控件 36 如果希望在固定位置显示所有验证控件的提示信息,可以 在页面中放置控件Validation. Summary,它将自动显示发现错 误的数据验证控件的属性Error. Message的内容。控件用如下格 式标记: <asp: Validation. Summary id=“Validation. Summary 1” runat=“server“ Header. Text=”标题” Display. Mode="Bullet. List( 默 认 值 ) 或 List或 Single. Paragraph" Show. Summary="true或false"> </asp: Validation. Summary> 继续例10. 9,增加一个Validation. Summary控件,修改属 性Header. Text="集中显示NO 1组的错误",修改属性 Display. Mode为Single. Paragraph,属性 Validation. Group="NO 1"。运行后,如果不输入银行卡编号, 单击标题为"提交银行卡号"按钮,控件Validation. Summary将 显示属性Error. Message内容"必须输入银行卡号"。
10. 2. 5 Compare. Validator控件可以对两个控件输入的值进行比较。 控件HTML标记格式如下: <asp: Compare. Validator id="Compare. Validator 1" runat="server" Text="错误提示信息" Error. Message="错误提示信息" Control. To. Validate="被验 证控件的id值" Display="None或Static或Dynamic" Value. To. Compare="与被 验证控件比较的的值" Control. To. Compare="与被验证控件比较的控件的id值" Type=" 要比较的数据类型" Operator="比较运算符"/> 其中属性Type为比较的数据类型,可以是Currency、Time、 Double、Integer、String、Date等。属性Operator为比较 运 算 符 , 可 以 是 : Equal、 Great. Than、 Less. Than、 Great. Than. Equal、Less. Than. Equal、Not. Equal。 38
<body> 42 <form runat=server> <asp: Drop. Down. List id="State. List" runat="server"> <asp: List. Item>课程总论</asp: List. Item> <asp: List. Item>刚体静力学</asp: List. Item> <asp: List. Item>弹性静力学</asp: List. Item> </asp: Drop. Down. List><BR> <asp: button Text=“提交” On. Click="Submit. Btn_Click" runat=server/><BR> 选定的课程: <asp: label text='<%#State. List. Selected. Item. Text%>‘ runat=server/> </form> </body> </html>
10. 3. 2 绑定到函数返回值 【例10. 16】本例说明如何绑定到函数返回值。在编辑框中输入数字,单 击按钮判断该数的奇偶。 <html> <script language="C#" runat="server"> void Btn_Click (Object src, Event. Args e) { Page. Data. Bind(); } String Even. Or. Odd(string s) { int number=Convert. To. Int 16(s); if((number%2)==0) return "偶数"; else return “奇数”; } </script> 43
<body> <form runat=server> <asp: Text. Box id="text. Box 1" Text="1" runat=server/> <asp: Label runat=server Text=<%# Even. Or. Odd(text. Box 1. Text)%> /> <asp: button text="计算奇偶" id="button 1" Onclick="Btn_Click" runat=server/> </form> </body> </html> 44
10. 3. 3 绑定到集合类对象 45 【例10. 17】像Grid. View、List. Box、Drow. Down. List这样的服务器 控件的列表都可以绑定到公共语言运行库的集合类对象,如 List、Dictionary等。本例说明如何将Drow. Down. List控件的下 拉列表绑定到List类对象。运行后单击按钮,标签将显示所作 的选择。 <html> <script language="C#" runat="server"> void Page_Load(Object Sender, Event. Args E) { if(Page. Is. Post. Back) return; System. Collections. Generic. List<string> l= new System. Collections. Generic. List<string>(); l. Add ("北京"); l. Add ("上海"); Drop. Down 1. Data. Source=l; Drop. Down 1. Data. Bind(); }
46 void Btn_Click(Object sender, Event. Args e) { Label 1. Text=“您选择了:”+ Drop. Down 1. Selected. Item. Text; </script> <body> <form runat=server> <asp: Drop. Down. List id="Drop. Down 1" runat="server"/> <asp: button Text=“提交” On. Click="Btn_Click" runat=server/> <asp: Label id=Label 1 runat="server"/> </form> </body> </html> } <BR>
按以上设置生成的Sql. Data. Source组件的HTML语句如下。请注意 56 如何从配置文件中取出连接字符串。 <asp: Sql. Data. Source ID="Sql. Data. Source 1" runat="server" Connection. String="<%$ Connection. Strings: Student. IConnection. String %>" Delete. Command="DELETE FROM [Student] WHERE [Student. Num] = @Student. Num" Insert. Command="INSERT INTO [Student] ([Student. Num], [Student. Name], [Student. Sex]) VALUES (@Student. Num, @Student. Name, @Student. Sex)" Select. Command="SELECT * FROM [Student]" Update. Command="UPDATE [Student] SET [Student. Name] = @Student. Name, [Student. Sex]=@Student. Sex WHERE [Student. Num] = @Student. Num">
<Delete. Parameters> <asp: Parameter Name="Student. Num“ Type="Int 32"/> </Delete. Parameters> <Update. Parameters> <asp: Parameter Name="Student. Name" Type="String"/> <asp: Parameter Name="Student. Sex" Type="String" /> <asp: Parameter Name="Student. Num" Type="Int 32" /> </Update. Parameters> <Insert. Parameters> <asp: Parameter Name="Student. Num" Type="Int 32" /> <asp: Parameter Name="Student. Name" Type="String" /> <asp: Parameter Name="Student. Sex" Type="String" /> </Insert. Parameters> </asp: Sql. Data. Source> 57
59 10. 为Drop. Down. List控件事件Selected. Index. Changed增加事件 处理函数如下:
60 protected void Drop. Down. List 1_Selected. Index. Changed (object sender, Event. Args e) { Label 1. Text="下拉列表控件所选项的Text= "+Drop. Down. List 1. Selected. Item. Text+", 下拉列表控件所选项的Value=" + Drop. Down. List 1. Selected. Item. Value; } 11. 运行,在Drop. Down. List控件的下拉列表中,可以看到学生信 息库Sdudent. I的学生情况表Student中的所有学生姓名,从中 选择不同姓名的学生,Label中将显示所选学生的姓名和学号。
62
64
65
67
71
73
75 10. 7 Repeater控件 自学
76 10. 8 Data. List控件 自学
77 10. 9 Ad. Rotator控件 自学
78 10. 10 Calender控件 自学
82 12. 4 导航控件 12. 4. 1 Site. Map. Path控件 12. 4. 2 Menu控件 12. 4. 3 Tree. View控件
89 12. 4. 1 Site. Map. Path控件(续) • 【例12 -19】Site. Map. Path控件示例。
- Slides: 106