2013-03-11 2 views
3

У меня есть раскрывающийся список, заполненный целыми числами. Когда выбрано «1», должно появиться текстовое поле. Я сделал что-то подобное в другом проекте, но здесь это не сработает.Почему не работает if-statement в этом коде ASP.Net?

Любая помощь приветствуется.

C# код:

protected void Page_Load(object sender, EventArgs e) 
{ 
    if (!IsPostBack) 
    { 
     ddlHowMany.Items.Add(new ListItem("0", "0")); 
     ddlHowMany.Items.Add(new ListItem("1", "1")); 
     ddlHowMany.Items.Add(new ListItem("2", "2")); 
     ddlHowMany.Items.Add(new ListItem("3", "3")); 
    } 
} 

protected void ddlHowMany_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    // int howMany = Convert.ToInt32(ddlHowMany.SelectedValue); 
    if (ddlHowMany.SelectedIndex == 1) 
    { 
     txtGraphic1Desc.Visible = true; 
    } 
} 

Default.aspx код:

<asp:DropDownList ID="ddlHowMany" runat="server" 
        onselectedindexchanged="ddlHowMany_SelectedIndexChanged" 
        style="margin-left: 8px" Width="50px"> 
       </asp:DropDownList> 
       <br /> 
       <br /> 
       <asp:TextBox ID="txtGraphic1Desc" class="descriptions" runat="server" Height="92px" 
        TextMode="MultiLine" 
        Width="328px" Font-Names="Trebuchet MS" Visible="False">Description of graphiC#1</asp:TextBox> 
+0

Ваш двойной отрицательный знак в заголовке меня сбивает с толку. Работает ли код или нет, и вы ожидаете, что он не будет работать или работать? – Nate

+0

Ух, я только что видел это. Прости. Сейчас он не работает. – mishmomo

+0

Это сработает ... вы действительно отправляете назад страницу? Если нет кнопки отправки, вам нужно добавить 'AutoPostBack =" true "' в DDL. – MikeSmithDev

ответ

7

Вы хотите добавить autoPostBack="true" к DropDownList.

<asp:DropDownList ID="ddlHowMany" runat="server" 
        onselectedindexchanged="ddlHowMany_SelectedIndexChanged" 
        style="margin-left: 8px" Width="50px" AutoPostBack="true"> 
+0

И исправить капитализацию 'OnSelectedIndexChanged'! – MikeSmithDev

+0

Есть ли параметр, который я могу изменить в Visual Studio, чтобы он правильно добавил капитализацию? – mishmomo

+0

Используйте Ctrl + A, чтобы выделить все. Затем Ctrl + K, Ctrl + F отформатирует этот выбор в правильном формате. – Win

Смежные вопросы