日期:2011-02-20  浏览次数:20371 次

<% @Import Namespace="System.Data" %>
<% @Import Namespace="System.Data.SqlClient" %>
<script language="vb" runat="server">
  Sub Page_Load(sender as Object, e as EventArgs)
    If Not Page.IsPostBack then
      BindData()
    End If  
  End Sub

  
  Sub BindData()
    '1. Create a connection
    Dim myConnection as New SqlConnection(ConfigurationSettings.AppSettings("connectionString"))

    '2. Create the command object, passing in the SQL string
        Const strSQL as String = "SELECT PublisherID, Name FROM tblPublishers ORDER BY Name"
        Dim myCommand as New SqlCommand(strSQL, myConnection)

    myConnection.Open()

    radlstPubs.DataSource = myCommand.ExecuteReader(CommandBehavior.CloseConnection)
    radlstPubs.DataBind()  

  End Sub



  Sub btnViewBooks_Click(sender as Object, e as EventArgs)
    'If the user has not selected an item from the radiobuttonlist,
    'do nothing
    If radlstPubs.SelectedItem Is Nothing then Exit Sub
    
    '1. Create a connection
    Dim myConnection as New SqlConnection(ConfigurationSettings.AppSettings("connectionString"))

    '2. Create the command object, passing in the SQL string
        Dim strSQL as String = "SELECT Title, Description FROM tblBooks " & _
                " WHERE PublisherID = " & radlstPubs.SelectedItem.Value & _
                " ORDER BY Title"
        Dim myCommand as New SqlCommand(strSQL, myConnection)

    myConnection.Open()

    dgBooks.DataSource = myCommand.ExecuteReader(CommandBehavior.CloseConnection)
    dgBooks.DataBind()  
    
    lblTitle.Text = "Books Published by " & radlstPubs.SelectedItem.Text
  End Sub
</script>

<html>
<body>

  <h1>Radio Button List Demo</h1>
  This demo illustrates how to use data-binding to dynamically
  create a radio button list based on database information.
  The data below is from the
  <a href="http://www.4guysfromrolla.com/webtech/chapters/">Sample Chapters Database</a>.
  First, the radio button list is bound to the <code>tblPublishers</code> table.  Then,
  when you select a publisher, a DataGrid Web control is populated with
  the books provided by the selected publisher.  (Adding paging to the DataGrid would be
  a snap.  Just read: <a href="http://www.4guysfromrolla.com/webtech/072101-1.shtml">Paing
  Database Results in ASP.NET</a>!)
  <p><hr><p>

  <form runat="server">
    
    <b>Choose a Publisher's Books to View</b><br>
    <asp:radiobuttonlist id="radlstPubs" runat="server" Font-Name="Verdana"