gpt4 book ai didi

c# - 获取一组 HtmlInputRadioButton 控件的选中值

转载 作者:行者123 更新时间:2023-11-30 20:56:51 28 4
gpt4 key购买 nike

使用 RadioButtonList 时控件,我可以使用以下代码访问我的代码隐藏中的选定值:

rbMyButtons.SelectedValue

但是,我想使用 HtmlInputRadioButton控件,因为这些让我可以更好地控制呈现的标记。如果我使用 <input type="radio" runat="server" /> 的列表然后,据我所知,我必须做这样的事情:

if (rbMyButtonsOption1.Checked)
{
...
}
else if (rbMyButtonsOption2.Checked)
{
...
}
else if ...

有什么方法可以模仿 RadioButtonList.SelectedValue 的行为吗? 使用Request.Form["name"]

最佳答案

这是我的做法:

首先,将 Html 控件包装在面板或类似的分组对象中(面板将呈现为 div):

<asp:Panel runat="server" ID="ButtonList" ClientIDMode="Static">
<input type="radio" name="seasons" value="Spring" runat="server" />Spring <br/>
<input type="radio" name="seasons" value="Summer" runat="server" /> Summer <br/>
<input type="radio" name="seasons" value="Fall" runat="server" /> Fall <br/>
<input type="radio" name="seasons" value="Winter" runat="server" /> Winter <br/>
</asp:Panel>

然后,创建一个扩展方法来访问面板的 ControlCollection 属性并遍历集合:

public static class HelperFunctions
{
public static string GetRadioButtonValue(this ControlCollection collection)
{
foreach (var control in collection)
{
if (control is HtmlInputRadioButton)
{
var radioControl = ((HtmlInputRadioButton)control);
if (radioControl.Checked)
{
return radioControl.Value;
}
}
}

//If no item has been clicked or no Input Radio controls are present we return an empty string
return String.Empty;
}
}

终于可以轻松获取到值了:

var selectedValue = ButtonList.Controls.GetRadioButtonValue();

关于c# - 获取一组 HtmlInputRadioButton 控件的选中值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17295638/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com