ASP.NET Tutorial/ASP.net Controls/RadioButtonList

Материал из .Net Framework эксперт
Перейти к: навигация, поиск

A combination of bullet-list and radio-button list controls

   <source lang="csharp">

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs"

   Inherits="Data" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server">

   <title>Bullets & Radios</title>

</head> <body>

       <form id="form1" runat="server">
           <asp:RadioButtonList ID="BulletOptions" runat="server" AutoPostBack="True" 
               OnSelectedIndexChanged="BulletOptions_SelectedIndexChanged" 
               RepeatColumns="3" 
               RepeatDirection="Horizontal" />

           <asp:BulletedList ID="BulletedList1" runat="server" 
               BulletImageUrl="/core35/images/bullet.gif" />
       </form>

</body> </html> File: Default.aspx.cs using System; using System.Data; using System.Data.SqlClient; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; public partial class Data : System.Web.UI.Page {

   protected void Page_Load(object sender, EventArgs e)
   {
   if (!IsPostBack)
   {
     FillOptions();
     FillCountries();
   }
 }
 protected void FillOptions()
 {
   BulletOptions.DataSource = Enum.GetValues(typeof(BulletStyle));
   BulletOptions.SelectedIndex = 0;
   BulletOptions.DataBind();
 }
 protected void FillCountries()
 {
   string connString = ConfigurationManager.ConnectionStrings["NorthwindConnectionString"].ConnectionString;
   string cmdText = "SELECT DISTINCT country FROM customers";
   DataTable data = new DataTable();
   SqlDataAdapter adapter = new SqlDataAdapter(cmdText, connString);
   adapter.Fill(data);
   BulletedList1.DataSource = data;
   BulletedList1.DataTextField = "country";
   BulletedList1.DataBind();
 }
 protected void BulletOptions_SelectedIndexChanged(object sender, EventArgs e)
 {
   BulletStyle style = (BulletStyle) Enum.Parse(typeof(BulletStyle), BulletOptions.SelectedValue);
   BulletedList1.BulletStyle = style;
 }

}</source>


Data binding with the RadioButtonList Control

   <source lang="csharp">

<%@ Page Language="C#" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <script runat="server">

   protected void btnSubmit_Click(object sender, EventArgs e)
   {
       lblProduct.Text = rblProducts.SelectedItem.Text;
   }

</script> <html xmlns="http://www.w3.org/1999/xhtml" > <head id="Head1" runat="server">

   <title>Show RadioButtonList</title>

</head> <body>

   <form id="form1" runat="server">
   <asp:RadioButtonList
       id="rblProducts"
       DataSourceID="srcProducts"
       DataTextField="Title"
       DataValueField="Id"
       RepeatColumns="3"
       Runat="server" />
   <asp:Button
       id="btnSubmit"
       Text="Submit"
       Runat="server" OnClick="btnSubmit_Click" />

   <asp:Label
       id="lblProduct"
       Runat="server" />
   <asp:SqlDataSource
       id="srcProducts"
       SelectCommand="SELECT Id, Title FROM Products"
       ConnectionString="<%$ ConnectionStrings:Products %>"
       Runat="server" />
   </form>

</body> </html>

File: Web.config <configuration>

 <connectionStrings>
   <add name="Products" 
        connectionString="Data Source=.\SQLEXPRESS;
        AttachDbFilename=|DataDirectory|MyDatabase.mdf;Integrated Security=True;User Instance=True" />
 </connectionStrings>

</configuration> Three properties that have an effect on its layout: RepeatColumns: The number of columns of radio buttons to display. RepeatDirection: The direction that the radio buttons are repeated.

                  Possible values are Horizontal and Vertical.

RepeatLayout: Determines whether the radio buttons are displayed in an HTML table.

                  Possible values are Table and Flow.</source>
   
  

Get selected item index from asp:RadioButtonList (VB.net)

   <source lang="csharp">

<%@ Page Language="VB" %> <script runat="server">

  sub Submit(Sender as Object, e as EventArgs)
     dim strIncome as string = lbIncome.SelectedItem.Text
     dim strAge as string = rlAge.SelectedItem.Text
     
     lblMessage.Text = "Hello " & tbName.Text & "!" & _
        "Your income is: " & strIncome & "
" & _ "Your age is: " & strAge & "
" if rlAge.SelectedIndex < 3 then lblMessage.Text += "You"re a young one!" else lblMessage.Text += "You"re a wise one!" end if if cbNewsletter.Checked then lblMessage.Text += "You will be receiving our" & _ " newsletter shortly." end if end sub

</script> <html><body>

  <form runat="server">
     <asp:Label id="lblMessage" runat="server" />
     
     Enter your name: 
     <asp:TextBox id="tbName" runat="server" />
     
     Choose your age:
<asp:RadioButtonList id="rlAge" runat="server" RepeatDirection="horizontal"> <asp:ListItem><18</asp:ListItem> <asp:ListItem>19-24</asp:ListItem> <asp:ListItem>25-34</asp:ListItem> <asp:ListItem>35-49</asp:ListItem> <asp:ListItem>50-65</asp:ListItem> </asp:RadioButtonList> Choose your income:
<asp:ListBox id="lbIncome" runat="server" size=1> <asp:ListItem>< $9</asp:ListItem> <asp:ListItem>$10-$99</asp:ListItem> <asp:ListItem>$100-$499</asp:ListItem> <asp:ListItem>> $500</asp:ListItem> </asp:ListBox> Do you want to receive our newsletter?
<asp:Checkbox id="cbNewsletter" runat="server" Text="Yes!" /> <asp:Button id="btSubmit" runat="server" Text="Submit" OnClick="Submit" /> </form>

</body></html></source>