2010-12-21 69 views
2

Hy,使用C#,我如何讀取動態創建的文本框的內容?

我創建了一些標準內容的動態文本框。

有沒有人知道我怎麼才能讀取這些文本框的內容(假設用戶修改了標準內容)當我按下一個按鈕?

非常感謝。

傑夫

更新

這是我正在創建文本框:

foreach (string name in listOfNames) 
{ 
    TextBox tb = new TextBox(); 
    tb.Text = name; 
    tb.BorderStyle = BorderStyle.None; 
    tb.BorderWidth = 0; 
    tb.Font.Name = "Arial"; 
    tb.Font.Size = 8; 
} 
+4

的WinForms,WPF,ASP.NET,Silverlight中,XNA,Windows Phone 7的,Xbox 360遊戲機,Zune播放器,... ????嘗試更具體些,到處都有文本框和按鈕。還定義*動態*。那些文本框是如何創建的,最好提供一個代碼片段。 – 2010-12-21 13:51:59

+0

你使用什麼技術? ASP.NET?雙贏的形式? WPF/Silverlight的? – Shimmy 2010-12-21 13:52:39

+0

除了達林的評論,他們如何添加?你知道這些名字嗎? – 2010-12-21 13:53:35

回答

3

具體取決於您所使用的技術變化動態控制一個有用的文章。然而,這個概念仍然非常相似,但對於ASP.NET來說,它會更有趣一些。

的WinForms/WPF/Silverlight的

保持動態創建的文本框的列表,並且當按下按鈕,您可以通過文本框列表中運行並且讀取Text屬性來獲取用戶輸入。

ASP.NET - 標籤更新後,看起來這一部分最適合您的要求。

對於ASP.NET,你需要在OnInit方法的重寫,以創建文本框,這應該發生在每次回發。然後在Button.Click事件中,您可以從您在OnInit函數中創建的文本框中讀取用戶輸入。您需要確保每個帖子後面都使用相同的ID創建控件。

2

您需要確保文本框每個回傳重新

如果您不重新創建它們,將無法訪問其屬性或事件。

創建動態控件的最佳位置是頁面Init事件處理程序。

我建議你閱讀ASP.NET page life cycle


更新(以下更新問題)

確保設置ID(和不同的一個,在那個)的文本框,所以你可以參考他們以後。

我看不到你將這些控件添加到頁面的位置。

0

Request.Form是Key-Value對的集合,它表示從ASP.NET請求返回的所有數據。如果您訪問該文件,您可以獲取任何值,無論其控件是在ASPX代碼中指定的還是在代碼隱藏文件中動態創建的。

如果您在頁面生命週期的初始階段重新創建它們,您也可以自動將它們的值重新放回。如果你這樣做,它們的值將在ASP.NET重新創建頁面狀態並應用表單中的值時設置。

0

您應該能夠像訪問正常控件一樣訪問它們,只需要獲取對該控件的引用即可。 記得在每個回發中重新創建所有控件。

this是在asp.net

相關問題