ラジオボタンを備えたリピーターがあります。
<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 になります。私はコードでより多くのことをしていますが、これが最大の問題であるため、単純化しました。
この問題に関する数え切れないほどのトピックを見てきましたが、それらすべてに目を通しましたが、まだこれを機能させることができないようです.