c# - 如何在 C# 中验证 ASP.NET 中继器中的多个单选按钮
问题描述
我有多个单选按钮,并且我使用 GroupName 来选择 2 个选项中的至少 1 个。我似乎无法获得 GroupName,因此我可以验证以确保选择了 2 个中的 1 个,并单击了提交按钮。
<myRepeater>
<asp:CustomValidator
ID="CustomValidator1"
runat="server"
ErrorMessage="* Select an option"
ForeColor="#ff0000"
OnServerValidate="option1_Validation"
Display="Dynamic" />
<asp:RadioButton
ID="rdOption1"
Text="Option_1"
GroupName="gnOption1"
runat="server" />
<asp:RadioButton
ID="rdOption2"
Text="Option_2"
GroupName="gnOption1"
runat="server" />
</myRepeater>
代码:
protected void option1_Validation(object source, ServerValidateEventArgs args)
{
bool itemSelected = false;
foreach (RepeaterItem ri in myRepeater.Items)
{
RadioButton rb= (RadioButton)ri.FindControl("gnOption1");
{
if (rb.GroupName == "gnOption1" && rb.Checked == true)
{
itemSelected = true;
}
args.IsValid = itemSelected;
}
}
}
解决方案
protected void game1_Validation(object sender, ServerValidateEventArgs args)
{
CustomValidator CustomValidator1 = (CustomValidator)sender;
bool itemSelected = false;
RepeaterItem ri = (RepeaterItem)CustomValidator1.Parent;
{
if (ri is RadioButton)
{
RadioButton rb = (RadioButton)ri.FindControl("gnOption11");
if (rb.GroupName == "gnOption1" && rb.Checked == true)
{
itemSelected = true;
}
}
}
args.IsValid = itemSelected;
}
推荐阅读
- node.js - puppeteer / 登录后不接受任何操作
- oracle-sqldeveloper - oracle sql developer未在约束选项卡中显示表的外键
- ios - Swift 应用程序在 iPhone 上崩溃但不是模拟器
- javascript - 如何使谷歌地方自动完成结果显示在输入上方
- python-3.x - 如何在张量流中训练神经网络
- mysql - 嵌套 SQL (Hana) 序列
- ios - 如果我使用带屏障的 OS 原子函数写入/交换,在 64 位平台上读取 64 位原子值是否安全?
- javascript - 用于发送电子邮件的 jQuery
- integration-testing - 如何启用 Braintree PayPal 结账的负面测试?
- python - zeep - 禁用警告“强制肥皂:地址位置到 HTTPS”