2012-04-07 66 views
1

下面的数据列表代表问题和答案的集合,当用户点击使用javascript提交按钮时如何检查用户是否选择了正确的答案单选按钮?如何获取数据列表中选定的单选按钮文本?

答案存储在数据库中。

Datalist中:的CommandName = “验证”

添加OnItemCommand事件的DataList1:

<asp:DataList ID="DataList1" runat="server" DataKeyField="Qno" 
     DataSourceID="SqlDataSource1"> 
     <ItemTemplate> 
      Qno: 
      <asp:Label ID="QnoLabel" runat="server" Text='<%# Eval("Qno") %>' /> 
      <br /> 
      Question: 
      <asp:Label ID="QuestionLabel" runat="server" Text='<%# Eval("Question") %>' /> 
      <br /> 
      <asp:RadioButton ID="RadioButton1" runat="server" Text='<%# Eval("Ans1") %>' /> 
      <br /> 
      <asp:RadioButton ID="RadioButton2" runat="server" Text='<%# Eval("Ans2") %>' /> 
      <br /> 
      <asp:RadioButton ID="RadioButton3" runat="server" Text='<%# Eval("Ans3") %>' /> 
      <br /> 
      <asp:RadioButton ID="RadioButton4" runat="server" Text='<%# Eval("Ans4") %>' /> 
      <br /> 
      <asp:Button ID="Button2" runat="server" Text="Submit" /> 
      <br /> 
     </ItemTemplate> 
    </asp:DataList> 
+0

你有什么试过的? – HBP 2012-04-07 05:52:12

回答

0

在DataList控件提供了将Button2的CommnadName参数* OnItemCommand = “DataList1_OnItemCommand” *

在后面的代码,填写在* DataList1_OnItemCommand *事件操作:

protected void DataList1_OnItemCommand(object sender, DataListCommandEventArgs e) 
{ 
if (String.Equals(e.CommandName, "Validate")) 
{ 
    DataListItem dataItem = (DataListItem)e.Item; 
    RadioButton rbtn1 = (RadioButton)dataItem.FindControl("RadioButton1"); 
    RadioButton rbtn2 = (RadioButton)dataItem.FindControl("RadioButton2"); 
    RadioButton rbtn3 = (RadioButton)dataItem.FindControl("RadioButton3"); 
    RadioButton rbtn4 = (RadioButton)dataItem.FindControl("RadioButton4"); 

    // Code to check which radio button was checked. 
    if(rbtn1 != null && rbtn1.Checked) 
    { 

    } 
    else if(rbtn2 != null && rbtn2.Checked) 
    { 

    } //Perform these for the remaining two check boxes 
} 
} 

根据选中的复选框执行必要的操作。

+0

我得到错误没有重载'DataList1_OnItemCommand'匹配委托'System.Web.UI.WebControls.DataListCommandEventHandler' – Abhishek 2012-04-07 07:22:28

+0

如何解决错误? – Abhishek 2012-04-07 10:14:11

+0

早些时候我没有检查IDE中的语法就提供了答案。我现在通过修复一些不正确的语法来编辑我以前的答案。 – 2012-04-07 15:09:18

相关问题