Как динамически добавлять панель с элементами управления asp при нажатии кнопки

#c# #panel

#c# #панель

Вопрос:

У меня есть панель с asp.net элементы управления внутри. При каждом нажатии кнопки AddNew linkbutton мне приходится добавлять эту панель снова и снова. Как я могу это сделать?

Спасибо

Вот моя панель:

 <asp:Panel ID="pBody" runat="server" CssClass="cpBody">
            <div class="field"> 
              <asp:TextBox runat='server' ID='txtNumber' MaxLength='12' CssClass='textBox'      Width="300px" /> 
              <asp:RequiredFieldValidator id="RequiredFieldValidatortxtNumber" runat="server" ControlToValidate="txtNumber" ErrorMessage="<%$ Resources:PleaseFillTheRequiredField %>" ForeColor="Red"></asp:RequiredFieldValidator> 
            </div> 
            <div class="label"> 
               <asp:Literal ID="litCurrentState" runat="server" Text="<%$ Resources:CurrentState %>" />:
               <span id="spanCurrentStateValid" runat="server" class="text-danger">*</span> 
            </div> 
            <div class="field"> 
              <asp:DropDownList ID="ddlCurrentState" runat="server" CssClass="textBox filter-textbox"   Width="300px"></asp:DropDownList>
              <asp:RequiredFieldValidator id="RequiredFieldValidatorCurrentState" runat="server"  ControlToValidate="ddlCurrentState" ErrorMessage="<%$ Resources:PleaseFillTheRequiredField %>" InitialValue="- Choose-" ForeColor="Red"> </asp:RequiredFieldValidator> 
            </div> 
            <div class="label"> 
               <asp:Literal ID="litDocumentPath" runat="server" Text="<%$Resources:DocumentPath %>" />: 
               <span id="spanDocumentPathValid" runat="server" class="text-danger">*</span>            </div> 
           <div class="field"> 
               <asp:UpdatePanel ID="UpdatePanel1" runat="server"> 
                  <Triggers> 
                      <asp:PostBackTrigger ControlID="UploadButton" /> 
                  </Triggers> 
                  <ContentTemplate>
                      <asp:FileUpload ID="fupDocumentPath" runat="server" Width="300px" /> 
                      <asp:Button runat="server" id="UploadButton" CausesValidation="false" text="Upload" onclick="UploadButton_Click" /> 
                      <asp:Label runat="server" id="StatusLabel" text="Upload status: " /><br /><br />          
                  </ContentTemplate> 
               </asp:UpdatePanel> 
        <asp:RequiredFieldValidator id="RequiredFieldValidatorDocumentPath" runat="server" ControlToValidate="fupDocumentPath" ErrorMessage="<%$ Resources:PleaseFillTheRequiredField %>" ForeColor="Red" Display="Dynamic"></asp:RequiredFieldValidator> 
        <asp:HyperLink ID="HyperLink2" runat="server" NavigateUrl="#">Example</asp:HyperLink>
     </div> 
    </asp:Panel> 
    <asp:LinkButton runat="server" ID="lbtnAddNew">Add new</asp:LinkButton>
  

Ответ №1:

Определите панель в a UserControl , а затем при нажатии кнопки программно создайте экземпляр вашего элемента управления и добавьте его в представление.

Комментарии:

1. не могли бы вы уточнить.