c# - 如何获取数据列表中选定的单选按钮文本?

标签 c# javascript asp.net

下面的数据列表代表一组问题和答案,当用户使用javascript单击提交按钮时,如何检查用户是否选择了正确答案单选按钮?

答案存储在数据库中。

数据列表:

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

最佳答案

为 DataList 中的 Button2 提供 CommandName 参数:CommandName="Validate"

为 DataList1 添加 OnItemCommand 事件:*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
 }
}

根据选中的复选框采取所需的操作。

关于c# - 如何获取数据列表中选定的单选按钮文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10052108/

相关文章:

c# - 在 Web.config 中将信任级别设置为高会使应用程序运行速度变慢?

c# - 从多个项目中引用 C# 代码

javascript - 如何将 JSON 转换为另一个 JSON

c# - 如果 Excel 列在 asp.net c# 中具有某些值,则提示消息

javascript - 在传单中单击标记时不生成 map 单击事件

javascript - 如何获取拖动的div框的数据集属性?

asp.net - Angular 2 无法使用 asp.net MVC 5 Web Api 调用自定义 Web Api

c# - 安全使用 Marshal.Copy 从原始位图数据到托管数组

c# - 在 WinForms 中以可本地化的形式在运行时更改 CurrentUICulture

c# - 创建一个具有通用列表对象的接口(interface)