顶部(条件)单选按钮始终被选中
本文关键字:单选按钮 条件 顶部 | 更新日期: 2023-09-27 18:13:46
我目前将一些值传递给我的asx .cs文件之一,它根据发送的值显示某些单选按钮。单选按钮在.ascx中实例化:
<asp:RadioButton ID="length5yr" GroupName="SubLength" runat="server" Visible ="false"
/>
<asp:label runat="server" id="Label5yr" Visible="false" style="width: 300px">
</asp:label>
<asp:RadioButton ID="length3yr" GroupName="SubLength" runat="server" Visible ="false"
/>
<asp:label runat="server" id="Label3yr" Visible="false" style="width: 300px">
</asp:label>
<asp:RadioButton ID="length2yr" GroupName="SubLength" runat="server" Visible ="false"
/>
<asp:label runat="server" id="Labelyr2" Visible="false" style="width: 300px">
</asp:label>
<asp:RadioButton ID="length1yr" GroupName="SubLength" runat="server" Visible ="false"
/>
<asp:label runat="server" id="Label1yr" Visible="false" style="width: 300px">
</asp:label>
<asp:RadioButton ID="lengthQuarterly" GroupName="SubLength" runat="server" Visible ="false"
/>
<asp:label runat="server" id="labelQuarterly" Visible="false" style="width: 300px">
</asp:label>
<asp:RadioButton ID="lengthMonthly" GroupName="SubLength" runat="server" Visible ="false"
/>
<asp:label runat="server" id="labelMonthly" Visible="false" style="width: 300px">
</asp:label>
我想要检查最后显示的第一个/顶部的单选按钮。我已经能够得到最后一个单选按钮检查(这也给了我其他问题)-但我怎么能得到顶部的检查!?
这是我如何确定显示哪个单选按钮的代码-我只显示了其中一个选项,只是为了使代码更容易阅读。
foreach (Dictionary<string, string> d in orderOptions)
{
if (d["length"] == "one")
{
length1yr.Visible = true;
price1yr = d["price"];
rate1yr = d["rate"];
issues1yr = d["issues"];
premium1yr = d["premium"];
Label1yr.Text = d["description"] + "<br><br>";
Label1yr.Visible = true;
SubLength1yr = "1 year";
}
对于服务器端解决方案,最简单的方法是遍历RadioButton
列表并使用一些简单的LINQ来选择第一个可见按钮。
类似:
var buttons = new []{length5yr, ...};
var firstVisibleButton = buttons.Where(b=>b.Visible).First();
firstVisibleButton.Checked = true;
上面的伪代码可能比任何东西都多,但没有完整的代码示例,这就是我所能做的。我相信你能弄清楚细节。上面的代码必须在隐藏/显示RadioButton
之后执行。
我可能应该指定您创建的列表(按钮) 必须遵循按钮显示的顺序才能正常工作