ASP.NET Server Controls - Показать скрытие текстового поля на основе выбора

Каков наилучший способ показать/скрыть текстовое поле или весь раздел div на основе выбора пользователей из раскрывающегося списка? Я не верю, что это возможно с помощью серверных элементов управления, поэтому мне придется использовать стандартные элементы управления HTML на стороне клиента, правильно? Спасибо за любой вклад. Будет ли jQuery лучшим вариантом для этого?

На основе выпадающего выделения я хочу иметь возможность отображать следующее Div и по умолчанию скрывать Div. Мысли:

 <div id="divLimitPrice">Limit Price<br />
 <asp:TextBox ID="txtLimitPrice" runat="server" ValidationGroup="ValidationGroupOrder">    </asp:TextBox>

Ответ 1

Вы можете сделать это с помощью управления сервером так же, как простые элементы управления html. Вам нужно только исправить набор визуализированных идентификаторов клиента элемента управления. Вот пример: (см. Примечания к коду для того, что я делаю)

function TriggerChange(me)
{
    // get the drop down control
    var cTheDropDown = jQuery("#<%=ddlControl.ClientID%>");

    // find the value of the selected one
    var SelValue = jQuery('option:selected', cTheDropDown).attr('value');

    // now do what you like with it
    if(SelValue == "open")
      jQuery("#divLimitPrice").show();
    else
      jQuery("#divLimitPrice").hide();
}

более короткая версия

function TriggerChange(me)
{
    // get the selected value from the drop down list
    //  and base on it, show or hide your div
    if(jQuery("#<%=ddlControl.ClientID%>").val() == "open")
      jQuery("#divLimitPrice").show();
    else
      jQuery("#divLimitPrice").hide();
}

И при управлении вы добавляете триггер как:

<asp:DropDownList ID="ddlControl" runat="server" onchange="TriggerChange(this);">