2013-02-08 70 views
0

Sry,我錯過了這個基本的東西。沒有線索如何實現這一點。在asp.net中動態添加控件之間的換行ajax updatepanel

這裏是我的Default.aspx

<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent"> 
    <asp:ScriptManager ID="MainScriptManager" runat="server" /> 
    <asp:UpdatePanel EnableViewState="true" UpdateMode="Always" ID="mainpanel" runat="server"> 
     <ContentTemplate> 
      <asp:PlaceHolder ID="MainPlaceHolder" runat="server"> 

       <%--<asp:Button runat="server" id="EditButton" onclick="UpdateButton_Click" text="Edit" Visible="true"/> 
       <asp:Button runat="server" id="DeleteButton" onclick="UpdateButton_Click" text="Delete" Visible="true"/> --%>  
             <%--<br />--%>    </asp:PlaceHolder> 
     </ContentTemplate> 
    </asp:UpdatePanel> 
    <asp:Button runat="server" id="UpdateButton2" onclick="UpdateButton_Click" text="Add" /> 
</asp:Content> 

這是我Default.aspx.cs

protected void Page_Load(object sender, EventArgs e) 
{ 
    if (!IsPostBack) 
    { 

    } 
} 

protected void UpdateButton_Click(object sender, EventArgs e) 
{ 
    int count = 0; 

    if (ViewState["ButtonCount"] != null) 
    { 
     count = (int)ViewState["ButtonCount"]; 
    } 

    count++; 
    ViewState["ButtonCount"] = count; 

    for (int i = 0; i < count; i++) 
    { 
     TextBox t = new TextBox(); 
     t.Text = "hello"+i.ToString(); 
     MainPlaceHolder.Controls.AddAt(MainPlaceHolder.Controls.Count, t); 
    } 
} 

當我運行這個程序,當我點擊按鈕,添加一個新的文本框控件每次。沒關係。但是我希望在每個文本框控件之間有一個突破的空間!請幫我解決我錯過的那篇文章。

我試着用一個br標籤在asp佔位符的結束標籤上方。它失敗了。如果我想要在每個動態添加的文本框旁邊添加兩個按鈕,我是否在正確的路徑上擴展問題?爲了一個大問題,無法將其最小化。

+0

那是怎麼了? ag「失敗」?它沒有被渲染?它是否被渲染,但沒有達到你想要的換行符? – 2013-02-08 17:37:38

回答

1

我期望修改代碼看起來像這樣的工作:

for (int i = 0; i < count; i++) 
{ 
    TextBox t = new TextBox(); 
    t.Text = "hello"+i.ToString(); 
    MainPlaceHolder.Controls.AddAt(MainPlaceHolder.Controls.Count, t); 
    Literal lit = new Literal() { Mode=LiteralMode.PassThrough, Text="<br/>" }; 
    MainPlaceHolder.Controls.AddAt(MainPlaceHolder.Controls.Count, lit); 
} 
+0

謝謝。試試這個 – 2013-02-08 19:09:32

0

使用此爲您的Default.aspx:

<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent"> 
<asp:ScriptManager ID="MainScriptManager" runat="server" /> 
<asp:UpdatePanel EnableViewState="true" UpdateMode="Always" ID="mainpanel" runat="server"> 
    <ContentTemplate> 
     <asp:PlaceHolder ID="MainPlaceHolder" runat="server" ClientIDMode="static"> 

      <%--<asp:Button runat="server" id="EditButton" onclick="UpdateButton_Click" text="Edit" Visible="true"/> 
      <asp:Button runat="server" id="DeleteButton" onclick="UpdateButton_Click" text="Delete" Visible="true"/> --%>  
            <%--<br />--%>    </asp:PlaceHolder> 
    </ContentTemplate> 
</asp:UpdatePanel> 
<asp:Button runat="server" id="UpdateButton2" onclick="UpdateButton_Click" text="Add" /> 

然後添加到你的CSS :

#MainPlaceHolder input[type=text] 
{ 
    display:block; 
} 
相關問題