2013-09-19 2 views
0

Я пытаюсь добавить элементы управления, но это переписывание.asp.net - Как добавить элементы управления динамически при нажатии кнопки?

На следующем изображении Если я нажму кнопку «Добавить больше», я хочу отобразить все эти поля.

Код:

<asp:PlaceHolder ID="PlaceHolder1" runat="server"> 
<div id="divreg" runat="server"> 
<table id="tbl" runat="server"> 
<tr> 
    <td class="style8"> Visa Number:</td> 
    <td class="style20"><asp:TextBox ID="txtUser" Width="160px" runat="server"/></td> 
    <td class="style22"> Country Name:</td> 
    <td class="style23"> 
    <asp:DropDownList ID="dropCountry" Width="165px" runat="server"> </asp:DropDownList></td> 
</tr> 
<tr> 
    <td class="style22"> Type of Visa:</td> 
    <td class="style23"><asp:DropDownList ID="dropVisa" Width="165px" runat="server">     </asp:DropDownList></td> 
    <td class="style22"> Type of Entry:</td> 
    <td class="style23"> 
    <asp:DropDownList ID="dropEntry" Width="165px" runat="server"> 
    </asp:DropDownList> </td> 
    </tr> 
<tr> 
    <td class="style8"> Expiry Date</td> 
    <td class="style20"> 
    <BDP:BasicDatePicker ID="BasicDatePicker4" runat="server" onselectionchanged="BasicDatePicker2_SelectionChanged" 
AutoPostBack="True" /> 
    </td> 
    <td class="style22"><asp:Button ID="btnAddVisa" Text="Add More Visa" runat="server" OnClick="btnAddVisa_Click" /> </td> 

</tr></table></div> 
</asp:PlaceHolder> 

Код .cs:

static int i = 0; 
    protected void btnAddVisa_Click(object sender, EventArgs e) 
    { 
     i++; 
     for (int j = 0; j <= i; j++) 
     { 
      PlaceHolder1.Controls.Add(divReg); 
      PlaceHolder1.Controls.Add(new LiteralControl("<BR>")); 
     } 

    } 

Изображение: Здесь я пунктДобавление кнопку Больше Visa Я хочу, чтобы отобразить эти все поля снова

Любые идеи? Заранее спасибо

ответ

0

Создайте пользовательский элемент управления для представления всего, что добавлено, а затем добавьте элемент управления в целом. Обязательно используйте метод LoadControl, а не конструктор элемента управления. Вам также необходимо сохранить достаточную информацию в ViewState, чтобы воссоздать элемент управления на странице_Load. В вашем случае достаточно количества элементов управления.

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