2009-04-06 3 views
0

У меня есть панель на моей странице:Как вытащить данные PostBack в динамически добавленный UserControl (.NET)?

<asp:Panel ID="pnlTest" runat="server" /> 

Тогда я динамически добавить TextBox к нему на Page_Load:

TextBox simpleTextBox = new TextBox(); 
    pnlTest.Controls.Add(simpleTextBox); 
    simpleTextBox.ID = "SimpleTextBox-1"; 

Есть ли способ, чтобы тянуть в информации, набранной в этом TextBox, не вытаскивая это непосредственно из Request.Form? Я думал, что я мог бы сделать что-то вроде этого после того, как я добавил его снова:

lblPresentResults.Text = myTextBox.Text; 

Я знаю, что этот пример кажется надуманным, но я решил попытаться устранить все другие переменные в моем конкретном применении, особенно спросить вопрос здесь.

ответ

3

Вам необходимо добавить текстовое поле перед загрузкой в ​​представлении, например, в Page_Init, и вы должны это сделать.

+0

Ударьте меня на 1 секунду! –

+0

Выполняет это в Page_Init UserControl page_Init так же, как это делает на странице Page_Init? –

2

Просто создайте текстовое поле на Init или PreInit, а не нагрузки, так что она существует на странице перед тем ViewState восстанавливается. Затем ASP.Net автоматически обновит его для вас.