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">

                 <%--<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);
    }   
}

当我运行这个应用程序并单击按钮时,每次都会添加一个新的文本框控件。没关系。但我想在每个文本框控件之间有一个分隔空间!请帮我解决我丢失的部分。

我尝试在 asp 占位符的结束标记上方使用 br 标记。它失败了。扩展问题,如果我想在每个动态添加的文本框旁边添加两个按钮,我是否走在正确的道路上?对不起一个大问题。不能再减少它了。

4

2 回答 2

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);
} 
于 2013-02-08T17:42:02.857 回答
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;
}
于 2013-02-10T05:37:26.883 回答