我有一个带有单选按钮的中继器。
<script type="text/javascript">
$(document).ready(function ()
{
$("#test input:radio").attr("name", "yourGroupName");
});
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<div id="test">
<asp:Repeater runat="server" ID="rep" onitemdatabound="rep_ItemDataBound"
onitemcommand="rep_ItemCommand">
<ItemTemplate>
<asp:RadioButton ID="n" runat="server" Text='<%# Eval("name") %>' AccessKey='<%# Eval("id")%>' />
</ItemTemplate>
</asp:Repeater>
</div>
我正在使用顶部的 javascript 来修复 .net 中的单选按钮错误。我在页面加载时将一个列表绑定到转发器,并在(!Page.IsPostback)
其周围加上一个 if。
编辑:
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
rep.DataSource = z.Table.ToList();
rep.DataBind();
}
}
然后我有一个按钮,单击该按钮时应该对已选择的单选按钮执行某些操作,这就是现在的问题:
foreach (RepeaterItem i in rep.Items)
{
RadioButton erb = i.FindControl("n") as RadioButton;
if (erb.Checked)
{
//do stuff
}
}
无论我选择哪个单选按钮,当我单击按钮并调试整个循环时,每个复选框 == false。我正在用代码做更多的事情,但我已经简化了它,因为这是最大的问题。
我已经看到了无数关于这个问题的主题,并且我已经浏览了所有这些主题,但我似乎仍然无法让它发挥作用。