2013-06-25 32 views
0

我正在尋找一種方法來重複下列代碼,只要用戶按下「添加更多」按鈕。有兩個問題,我不知道如何解決在這種情況下,動態ASP.NET代碼生成「用戶通過單擊按鈕擴展表單域」

1-如果我使用Literal控件,我將無法將ASP.NET控件嵌入到它們中。有什麼替代品? 2-由於顯示的病例數量取決於客戶端的請求數量,我該如何實現這一點,以便用戶每點擊一次「添加更多」,就會爲客戶端的輸入顯示一組新的字段。

<div class="controls controls-row"> 
    <div class="span3"> 
     <asp:Label ID="CarouselTextLabel" CssClass="control-label" Text="Carousel Text" Font-Bold="true" runat="server" /> 
     <asp:TextBox ID="CarouselText" TextMode="MultiLine" Height="50" runat="server" /> 
    </div> 
    <div class="span3"> 
     <asp:Label ID="UploadImageText" CssClass="control-label" Text="Upload Slide" Font-Bold="true" runat="server" /> 
     <asp:FileUpload ID="UploadSlideImage" runat="server" /> 
    </div> 
    <div class="span3"> 
     <asp:Label ID="ButtonLabel" CssClass="control-label" Text="Button Label" runat="server" /> 
     <asp:TextBox ID="ButtonLabelText" runat="server" /> 
    </div> 
    <div class="span3"> 
     <asp:Label ID="ButtonLinkLabel" CssClass="control-label" Text="Button Link" runat="server" /> 
     <asp:TextBox ID="ButtonLinkLabelText" runat="server" /> 
    </div> 
</div> 
<p class="stdformbutton"> 
    <asp:Button ID="AddMore" Text="Add More" CssClass="btn-rounded btn-warning" OnClick="AddMoreSlidesToCarousel" runat="server" /> 
</p> 

回答

1
  1. 可以使用Placeholder控制,而不是文字上的任意加價。

  2. 看到這個SO問題和答案。 Dynamically add a new text box when clicking a button

+0

謝謝。有效。這也是非常豐富的:-) – Sam

+0

現在您已經創建了這些動態控件,您將如何讀取這些動態生成的ID字段?例如,您如何將「CarouselText + i.ToString()」作爲id來處理,以便您可以讀取文本? – Sam

+0

我想你需要另一個問題,或者這可能有所幫助:http://stackoverflow.com/questions/1763050/accessing-controls-added-programmatically-on-postback?lq=1 –

0

我會使用基於模板的數據綁定控件,如Repeater控件。它讓你定義會重複根據數據綁定的數據源

+0

非常感謝您的及時回覆。你能舉一個例子還是再詳細一點。 Regards – Sam