阅读内容 

使用ASP.NET服务器控件(5)

[日期:2005-12-09] 来源:未知  作者:佚名 [字体: ]
<ASP:radiobutton><asp:radiobuttonlist>控件

<asp:radiobuttonlist>控件的工作方式与其对应的HTML窗体控件或Windows界面相同。选择一个按钮后,就会取消同一组中另一个按钮的选择。注意整个组的标识符仅在<asp:radiobuttonlist>控件的id属性中设置,其语法是很简单的:

 

<ASP:radiobuttonlist id="radio1" runat="server">

  <ASP:listitem id="option1" runat="server" value="A" />

  <ASP:listitem id="option2" runat="server" value="B" />

  <ASP:listitem id="option3" runat="server" value="C" />

</ASP:radiobuttonlist>

检查radSample.SelecteditemValue,就可以编程确定用户选择了哪个选项,如"option A"

在下面的例子中,将通过一组单选按钮决定用户在HTML窗体上选择了哪一目的地,并将所做的选择显示给用户。

试一试:使用<ASP:radiobutton>控件

(1) ch03文件夹中创建TIO-RadioButtonList.ASPx,输入以下代码:

<script runat="server" language="vb">

  Sub Page_Load()

   if Page.IsPostBack then

    Message.Text = "You have selected the following: " + radCity.SelectedItem.Value

   end if

  End Sub

</script>

 

<HTML>

  <head>

    <title>Radio Button List Example</title>

  </head>

  <body>

    <ASP:label id="Message" runat="server" />

    <br /><br />

    Which city interests you? <br /><br />

    <form runat="server">

      <ASP:radiobuttonlist id="radCity" runat="server">

        <ASP:listitem id="optMadrid" runat="server" value="Madrid" />

        <ASP:listitem id="optOslo" runat="server" value="Oslo" />

        <ASP:listitem id="optLisbon" runat="server" value="Lisbon" />

      </ASP:radiobuttonlist><br /><br />

      <input type="Submit">

    </form>

  </body>

</HTML>

(2) 在浏览器中观看页面,如图3-8所示,选择某一城市,并单击Submit Query按钮

  3-8

代码的说明

TIORadioButtonList.ASPx页面有3个单选按钮,它们位于IDradCity的组中。注意每个选项使用了不同的ID和值:

    <form runat="server">

      <ASP:radiobuttonlist id="radCity" runat="server">

        <ASP:listitem id="optMadrid" runat="server" value="Madrid" />

        <ASP:listitem id="optOslo" runat="server" value="Oslo" />

        <ASP:listitem id="optLisbon" runat="server" value="Lisbon" />

      </ASP:radiobuttonlist><br />

      <input type="Submit">

    </form>

在页面顶部的ASP.NET代码中,我们在Sub Page_Load()End Sub语句之间使用熟悉的3行代码从窗体返回用户信息。使用与<asp:listbox>类似的方式,读取SelectedItem.Value值,获取所选的选项信息:

if Page.IsPostBack then

  Message.Text = "You have selected " + radCity.SelectedItem.Value

end if

选择某一单选按钮后,message标签的文本就设置为"You have selected"后跟SelectedItem. Value返回的用户选择。

3.4.6  <ASP:checkbox><asp:checkboxlist>控件

复选框与单选按钮类似,允许用户从一组按钮中进行多个选择。但是,<asp:checkbox>只允许选择一个选项(“愿意为快速购物付出比$5更多的价钱吗?”),而<asp:checkboxlist>允许用户选择多个选项(“可以给您发送那些免费产品:运动、服装、鞋子?”)。复选框和单选按钮的另一个根本区别是,一旦选择了一个复选框,还可以再次单击它,取消选择。

<ASP:radiobuttonlist>例子中的大多数规则都可应用于复选框。主要区别是语法:单选按钮使用“options”,而复选框使用“listitems”。

一个<ASP:checkbox>有一个ID

<ASP:checkbox id="chkQuickShipping" runat="server" />

如果希望使用多个复选框,可以将它们包含在<ASP:checkboxlist>控件中。此时需要为<asp:checkboxlist>控件本身设置id属性,并为控件中的每一个选项创建<asp:listitem>控件,如下面的代码所示:

<ASP:checkboxlist id="chkCatalogs" runat="server">

  <ASP:listitem id="Sports" runat="server" value="Sports" />

  <ASP:listitem id="itmClothes" runat="server" value="Clothes" />

  <ASP:listitem id="itmShoes" runat="server" value="Shoes" />

</ASP:checkboxlist>

下面的例子对上例进行了修改,使用已建立的假日选项,让用户能对目的地进行多个选择。

试一试:使用<ASP:checkbox>控件

(1) 打开TIO-RadioButtonList.ASPx,把它保存为ch03文件夹下的TIO-CheckBoxList.aspx并修改代码,如下面加底纹的代码所示:

<script runat="server" language="vb">

  Sub Page_Load()

    Dim msg As String = "You have selected the following items:<br />"

    If chkCities.Items(0).Selected Then msg = msg & chkCities.Items(0).Text & "<br />"

    If chkCities.Items(1).Selected Then msg = msg & chkCities.Items(1).Text & "<br />"

    If chkCities.Items(2).Selected Then msg = msg & chkCities.Items(2).Text & "<br />"

 

    lblCities.Text = msg

  End Sub   

</script>

 

<HTML>

<head>

  <title>Check Box List Example</title>

</head>

<body>

  <ASP:label id="lblCities" runat="server" /><br /><br />

  Which city do you wish to look at hotels for? <br /><br />

  <form runat="server">

    <ASP:checkboxlist id=" chkCities " runat="server">

      <ASP:listitem id="optMadrid " runat="server" value="Madrid" />

      <ASP:listitem id="optOslo " run at="server" value="Oslo" />

      <ASP:listitem id="optLisbon " value="Lisbon" />

    </ASP:checkboxlist> <br /><br />

    <input type="Submit">

  </form>

</body>

</HTML>

(2) 在浏览器中打开TIO-CheckBoxList.ASPx,如图3-9所示,选择多个选项,单击Submit Query按钮。

  3-9

代码的说明

本例所用代码只对页面做了一些小改动:即将HTML控件改为<ASP:checkboxlist>控件,同时改变了控件的ID,注意在复选框组中,选项用listitem标记,而不是options

ASP.NET代码与前面的TIO-ListBox.aspx例子相同,但本例所指的是复选框,而不是列表框。语法也作了修改,在msg值的最后添加了城市名。注意可以使用语法msg+=,获得与msg=msg &相同的效果:

  Sub Page_Load()

    Dim msg As String = "You have selected the following items:<br />"

    If chkCities.Items(0).Selected Then msg = msg & chkCities.Items(0).Text & "<br />"

    If chkCities.Items(1).Selected Then msg = msg & chkCities.Items(1).Text & "<br />"

    If chkCities.Items(2).Selected Then msg = msg & chkCities.Items(2).Text & "<br />"

    lblCities.Text = msg

  End Sub   

其中包含了一组基本的ASP.NET服务器控件。注意所有的控件都以<asp:>开头,都包含属性runat="server",每个控件都有一个ID。前面还介绍了如何使用它们从用户处收集信息,并在代码中利用这些信息。在许多页面中都使用了变量。例如,单选按钮和复选框页面中的msg,还使用了控制结构如IF THEN

在学习其他ASP.NET功能之前,先详细讨论一下如何在ASP.NET中使用变量。之后深入探讨在已使用的逻辑中的控制结构。

阅读:
录入:

推荐 】 【 打印
上一篇:ASP与SQL基础(4)
下一篇:ASP与SQL基础(5)
相关新闻      
本文评论       全部评论
发表评论
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款


点评: 字数
姓名:
Advertisement
内容查询


Advertisement