基于用户输入的内容

时间:2015-10-17 15:57:41

标签: c# asp.net webforms

我正在asp.net和C#中创建一个Web表单。

表单询问用户用户拥有多少个孩子,然后在单击Proceed按钮后,应用程序应提示每个孩子的姓名。

我知道使用控制台应用程序,编码将是:

for (int i = 0 ; i < noOfChildren ; i++)
    {
        Console.Write("Child's Name: ");
        name = Console.ReadLine();
    }

我如何编写asp.net/C#应用程序以执行相同的操作,但只显示用户输入的标签和文本框的次数...?

提前致谢!

1 个答案:

答案 0 :(得分:1)

在下面的示例中,它仅动态创建Textbox,但您可以根据需要添加样式和标签控件动态。

Aspx页面中,在html正文中创建form标记。

<form id="form1" runat="server">
<div>
    <table>
        <tr>
            <td>
                No of Text boxes
            </td>
            <td>
                <asp:TextBox ID="txtNumbers" runat="server"></asp:TextBox>
            </td>
        </tr>
        <tr>
            <td>
            </td>
            <td>
                <asp:Button ID="btnSubmit" runat="server" OnClick="btnSubmit_Click" Text="Submit" />
            </td>
    </table>
    <br />      
</div>

并在c#文件后面的代码中

protected void btnSubmit_Click(object sender, EventArgs e)
{
    int noofcontrols = Convert.ToInt32(txtNumbers.Text);
    for (int i = 1; i <= noofcontrols; i++)
    {
        TextBox NewTextBox = new TextBox();
        NewTextBox.ID = "TextBox" + i.ToString();
        NewTextBox.Style["Clear"] = "Both";
        NewTextBox.Style["Float"] = "Left";
        NewTextBox.Style["Top"] = "25px";
        NewTextBox.Style["Left"] = "100px";
        //form1 is a form in my .aspx file with runat=server attribute
        form1.Controls.Add(NewTextBox);
    }
}

我认为这就是你想要的。

Reference