我有Repeater
RadioButton
。有没有一种简单的方法可以从C#端访问所有这些RadioButton
?例如,可能是GroupName
的访问?我在网上找不到任何简单的东西。
ASPX:
<asp:Repeater ID="rptOtherNetworks" runat="server" >
<HeaderTemplate>
<li data-theme="c" data-role="list-divider" class="ui-li ui-li-divider ui-bar-b">
<asp:Localize ID="locRecentlySelected" runat="server"
EnableViewState="False" meta:resourcekey="locRecentlySelectedResource1"
Text="Select Network from Other Cameras">
</asp:Localize>
</li>
</HeaderTemplate>
<ItemTemplate>
<li data-theme="c">
<!-- I want to access these -->
<asp:RadioButton Text='<%# Eval("NetworkDescription") %>' data-mac='<%# Eval("MAC") %>'
Checked="False" GroupName="RadioGroupNetworkCameras" runat="server" />
</li>
</ItemTemplate>
</asp:Repeater>
答案 0 :(得分:0)
嗯,您可以通过在每个RepeaterItem中按ID查找所有RadioButton来检索它们。
<asp:RadioButton ID="rb"
Text='<%# Eval("NetworkDescription") %>'
data-mac='<%# Eval("MAC") %>'
Checked="False"
GroupName="RadioGroupNetworkCameras"
runat="server" />
foreach (RepeaterItem ri in rptOtherNetworks.Items)
{
if (ri.ItemType == ListItemType.Item || ri.ItemType == ListItemType.AlternatingItem)
{
RadioButton r = (RadioButton)ri.FindControl("rb");
}
}
但是你要遇到的问题是在Repeater中,单选按钮will not be mutually exclusive。通过JavaScript和其他方法有"fixing"这种方法,但请注意这一点。