2015-10-17 46 views
1

我在asp.net和C#中创建了一个web表单。基于用户输入的多个标签/文本框

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

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

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

我将如何编写asp.net/C#应用程序做同样的事情,但仅显示标签和文本框的数量相同用户输入的次数...?

在此先感谢!

+0

你想要所有的文本框在同一页,不是吗? –

+0

是的,我做...相同的页面,相同的格式 – user2625790

回答

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

+0

谢谢!这样可行! – user2625790

+1

请将代码直接放在您的答案中,而不是通过链接。你的回答应该在这里完成,链接只能用于额外或补充信息。 – skrrgwasme

+0

基于社区的反馈,我也有同样的感受,所以我编辑了我的答案。 –

相关问题