asp.net答题例子出现RadioButton没有赋值的问题
HL_GT 2017-12-16 10:27:46 总是提示答对0道题,求大神指点问题所在。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Repeater1.DataSource =DT();
Repeater1.DataBind();
}
public DataTable DT()
{
DataTable dt = new DataTable();
dt.Columns.Add("id");
dt.Columns.Add("title");
dt.Columns.Add("a");
dt.Columns.Add("b");
dt.Columns.Add("c");
dt.Columns.Add("d");
dt.Columns.Add("answer");
DataRow dr1 = dt.NewRow();
dt.Rows.Add(dr1);
dr1[0] = "1";
dr1[1] = "最好的学校是?";
dr1[2] = "清华";
dr1[3] = "北大";
dr1[4] = "剑桥";
dr1[5] = "牛津";
dr1[6] = "b";
DataRow dr = dt.NewRow();
dt.Rows.Add(dr);
dr[0] = "1";
dr[1] = "word的作用是什么";
dr[2] = "写字";
dr[3] = "画画";
dr[4] = "听歌";
dr[5] = "看电影";
dr[6] = "a";
DataRow dr2 = dt.NewRow();
dt.Rows.Add(dr2);
dr2[0] = "1";
dr2[1] = "最帅的是?";
dr2[2] = "张建";
dr2[3] = "死肥宅";
dr2[4] = "jb可";
dr2[5] = "宇宇";
dr2[6] = "d";
return dt;
}
protected void Button1_Click1(object sender, EventArgs e)
{
int count =0;
foreach(RepeaterItem ri in Repeater1.Items)
{
Console.WriteLine(ri.ToString());
string useranwer="";
RadioButton rbA = ri.FindControl("rdoA") as RadioButton;
if (rbA.Checked)
{
useranwer = "a";
}
RadioButton rbB = ri.FindControl("rdoB") as RadioButton;
if (rbB.Checked)
{
useranwer = "b";
}
RadioButton rbC = ri.FindControl("rdoC") as RadioButton;
if (rbC.Checked)
{
useranwer = "c";
}
RadioButton rbD = ri.FindControl("rdoD") as RadioButton;
if (rbD.Checked)
{
useranwer = "d";
}
Label lab = ri.FindControl("Label2") as Label;
if (lab.Text.ToString()==useranwer.ToString())
{
count++;
}
}
Label1.Text = "答对了" + count.ToString() + "道题!";
}
}
前台的代码:
<body>
<form id="form1" runat="server">
<div>
<asp:Repeater ID="Repeater1" runat="server">
<HeaderTemplate>
<table>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td><%#Container.ItemIndex+1 %>.<%#DataBinder.Eval(Container.DataItem,"title") %></td>
</tr>
<tr>
<td><asp:RadioButton ID="rdoA" runat="server" GroupName="1" Text='<%#DataBinder.Eval(Container.DataItem,"a") %>'></asp:RadioButton></td>
</tr>
<tr>
<td><asp:RadioButton ID="rdoB" runat="server" GroupName="1" Text='<%#DataBinder.Eval(Container.DataItem,"b") %>'></asp:RadioButton></td>
</tr>
<tr>
<td><asp:RadioButton ID="rdoC" runat="server" GroupName="1" Text='<%#DataBinder.Eval(Container.DataItem,"c") %>'></asp:RadioButton></td>
</tr>
<tr>
<td><asp:RadioButton ID="rdoD" runat="server" GroupName="1" Text='<%#DataBinder.Eval(Container.DataItem,"d") %>'></asp:RadioButton></td>
</tr>
<tr>
<td><asp:Label ID="Label2" runat="server" Text='<%#DataBinder.Eval(Container.DataItem,"answer") %>'></asp:Label></td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
<asp:Button ID="Button1" runat="server" Text="提交" onclick="Button1_Click1" />
</div>
</form>
</body>