2013-10-13 3 views
0

Я добавил DropDownList из Toolbox на страницу входа на веб-сайт, над которым я работаю.ASP.NET с DropDownList

После того, как я выбираю в DropDownListListItem (в моем случае позволяет говорить Gym, например ...), при нажатии, я хочу, что три бара мы будем открыты ниже моих DropDownList (например, баров, которые мы будем открывать имя пользователя, пароль и идентификатор), я имею в виду три текстовых поля под друг другом.

http://imageshack.us/photo/my-images/854/w7wn.jpg

ответ

0

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

0
<select> 
<option value="1">Gym 1</option> 
<option value="2">Gym 2</option> 
<option value="3">Gym 3</option> 
<select> 
0

В firest вы кладете в текстовые поля Panle затем скрыть эту панель и вы должны установить свойство AutoPostBack из вас drobdownlist Истина и после выбора пункта в DropDownList, постбэк будет accur. Таким образом, вы можете показать, что панель включает текстовые поля.

0

Возможно, вам действительно нужны динамические текстовые поля.

В HTML части:

<asp:DropDownList runat="server" ID="DDL1" autopostback = "true" onselectedindexchanged="DDL_SelectChanged" /> <asp:PlaceHolder runat="server" ID="PH1"> </asp:PlaceHolder>

В коде:

void DDL_SelectChanged(object sender, EventArgs e) 
    { 
     if (DDL1.SelectedIndex == 1) 
     { 
      for (int i = 0; i < 3; i++) 
      { 
       TextBox newTB = new TextBox(); 
       newTB.ID = "TB" + i; 
       PH1.Controls.Add(newTB); 
      } 
     } 
    } 
0

Вы можете использовать контроль MultiveView. И установите активный индекс просмотра в событии selectedIndexChanged Dropdown. Я написал несколько примеров кода для вас:

Aspx сторона:

<asp:MultiView ID="multiView" ActiveViewIndex="-1" runat="server"> 
     <asp:View ID="viewGym" runat="server"> 
      <asp:TextBox ID="txtBxUserName" runat="server" /> 
      <asp:TextBox ID="txtBxPassword" runat="server" /> 
      <asp:TextBox ID="txtBxId" runat="server" /> 
     </asp:View> 
    </asp:MultiView> 
    <asp:DropDownList ID="Dropdownlist1" runat="server" AutoPostBack="true" 
     onselectedindexchanged="Dropdownlist1_SelectedIndexChanged"> 
     <asp:ListItem Text="Choose one club" Value="0" /> 
     <asp:ListItem Text="Gym" Value="1" /> 
     <asp:ListItem Text="Shoppers" Value="2" /> 
    </asp:DropDownList> 

Код Behind:

protected void Page_Load(object sender, EventArgs e) 
    { 
     if (IsPostBack) //don't forget :) 
      return; 
    } 

    protected void Dropdownlist1_SelectedIndexChanged(object sender, EventArgs e) 
    { 
     if (Dropdownlist1.SelectedValue == "1") //Gym item selected 
     { 
      multiView.ActiveViewIndex = 0; //Gym view active 
     } 
    } 

Если вы хотите какой-либо точки зрения не активен при первой загрузке страницы, то вы устанавливаете ActiveViewIndex с -1 в aspx-коде.