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 ...

Get Programming ASP .NET now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.