0

我想在按钮单击中的每个文本框和下拉列表下方创建动态 2 个文本框和 2 个下拉列表。这是我正在使用的代码,它创建动态文本框和下拉列表,但它以水平方式创建控件。我希望以垂直方式创建动态控件,它将出现在文本框和下拉列表下。

<div id="dvContainer" runat="server">

<table align="center" cellpadding="0" cellspacing="0" width="90%">
<tr>
<td>
    <table width="100%">
        <tr>
            <td align="center">Date</td>
            <td>
                <asp:TextBox ID="TextBox1" runat="server" Width="150px">                </asp:TextBox>
            </td>
            <td align="center">Time</td>
            <td>
                <asp:TextBox ID="TextBox2" runat="server" Width="150px"></asp:TextBox>
            </td>
            <td align="center">Godown</td>
            <td>
                <asp:DropDownList ID="DropDownList1" runat="server" Width="150px">
                </asp:DropDownList>
            </td>
        </tr>
    </table>
</td>
</tr>

<tr>
<td><table width="100%">
        <tr>
            <td align="center">Item</td>
            <td align="center">QTY</td>
            <td align="center">Unit</td>
            <td align="center">Available</td>
            <td align="center"></td>

        </tr>
        <tr>
            <td align="center">
                <asp:DropDownList ID="DropDownList2" runat="server" Width="150px">
                </asp:DropDownList>
            </td>
            <td align="center">
                <asp:TextBox ID="TextBox3" runat="server" Width="150px"></asp:TextBox>
            </td>
            <td align="center">
                <asp:DropDownList ID="DropDownList3" runat="server" Width="150px">
                </asp:DropDownList>
            </td>
            <td align="center">
                <asp:TextBox ID="TextBox4" runat="server" Width="150px"></asp:TextBox>
            </td>
             <td align="center">
                 <asp:Button ID="Button1" runat="server" Text="Button"   onclick="Button1_Click" />
            </td>

        </tr>

    </table></td>
</tr>

</table>

</div>

这是我在cs页面中使用的代码

public partial class StockEntry : System.Web.UI.Page
{
protected System.Web.UI.WebControls.DropDownList Ddl_Item;
protected System.Web.UI.WebControls.TextBox Txt_Quantity;
protected System.Web.UI.WebControls.DropDownList Ddl_Unit;
protected System.Web.UI.WebControls.TextBox Txt_Available;

protected void Page_Load(object sender, EventArgs e)
{

}

int countTimes = 0;

protected void Button1_Click(object sender, EventArgs e)
{
    if (ViewState["countTimes"] == null)
    {
        countTimes = 1;
    }
    else
    {
        countTimes = Convert.ToInt32(ViewState["countTimes"]);
    }

    for (int i = 0; i < countTimes; i++)
    {
        Ddl_Item = new DropDownList();
        Ddl_Item.ID = "Ddl_Item" + i;
        Ddl_Item.Width = 180 + i;

        Txt_Quantity = new TextBox();
        Txt_Quantity.ID = "Txt_Quantity" + i;
        Txt_Quantity.Width = 180 + i;

        Ddl_Unit = new DropDownList();
        Ddl_Unit.ID = "Ddl_Unit" + i;
        Ddl_Unit.Width = 180 + i;

        Txt_Available = new TextBox();
        Txt_Available.ID = "Txt_Available" + i;
        Txt_Available.Width = 180 + i;

        dvContainer.Controls.Add(Ddl_Item);
        dvContainer.Controls.Add(Txt_Quantity);

        dvContainer.Controls.Add(Ddl_Unit);
        dvContainer.Controls.Add(Txt_Available);

    }
    countTimes = countTimes + 1;

    ViewState.Add("countTimes", countTimes);
}

}

4

2 回答 2

0

You are adding your controls in the div, not in the table and next to each other. To add some html structure around controls, you can create literal object with your html in its text, and add them before/after your controls (for example you can add <br/> )

于 2013-08-21T10:18:52.833 回答
0

我想你想要的是HtmlGenericControl http://msdn.microsoft.com/en-us/library/system.web.ui.htmlcontrols.htmlgenericcontrol.aspx

这将允许您添加设置布局所需的表格,您当然可以将每个控件包装在一个 div 中并使用 CSS 控制您的布局。

于 2013-08-21T12:01:59.740 回答