2015-10-17 75 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

基於社區的反饋,我也有同樣的感受,所以我編輯了我的答案。 –

相關問題