Верхний (условный) переключатель всегда выбран - PullRequest
0 голосов
/ 08 ноября 2011

В настоящее время я передаю некоторые значения в один из моих файлов ascx.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";

            }

1 Ответ

0 голосов
/ 09 ноября 2011

Для серверного решения проще всего было бы перебрать список RadioButton и использовать простой LINQ для выбора первой видимой кнопки.

Что-то вроде:

var buttons = new []{length5yr, ...};
var firstVisibleButton = buttons.Where(b=>b.Visible).First();
firstVisibleButton.Checked = true;

Выше, вероятно, больше псевдокод, чем что-либо, но без полного примера кода, это все, что я могу сделать.Я уверен, что вы можете выяснить детали.Приведенный выше код должен был бы выполнить после того, как вы скрыли / показали RadioButton.

Я, вероятно, должен указать, что список, который вы создаете ( button ) должен следовать порядку, в котором отображаются кнопки для правильной работы.

...