O'Reilly logo

Programming ASP .NET by Dan Hurwitz, Jesse Liberty

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Binding Radio Buttons and Checkboxes

It is not uncommon to build your form dynamically; adding checkboxes, radio buttons, and other controls based on data extracted from a database. For example, you might like to add shipping methods (e.g., “first class”, “next day”, etc.) to the form. Typically you’d add these as radio buttons. To make the form flexible, you’d like to make it data-driven; getting the exact text for the radio buttons from a table in the database. That way, if you change from one delivery service to another, you do not need to change the web form; you just update the database and the form works.

As you saw in Chapter 3, ASP.NET offers a dynamic radio button control, RadioButtonList, which you can add to the form, deferring the content of the radio buttons (and even the number of buttons to create) until runtime. Begin the example with the following HTML source, which defines a RadioButtonList control named rbList:

<tr>
   <td>
      How should we ship?
   </td>
   <td>
      <asp:RadioButtonList 
      RepeatDirection="Horizontal" 
      id=rbList runat="server">
      </asp:RadioButtonList>
   </td>
</tr>

You’ll look at how to fill the radio buttons with data in just a moment, but while you’re building the form, add checkboxes to allow the customer to choose extras to go with his choice of books:

<tr>
   <td colspan="2">
      Please choose any "extras" you'd like:&nbsp;
      <asp:CheckBoxList 
      RepeatDirection="Horizontal"
      id="cbList" 
      runat="server"></asp:CheckBoxList>
   </td>
</tr>

Normally, you’d fill the radio buttons and ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required