Как перенести данные обратной передачи в динамически добавляемый UserControl (.NET)?
-
05-09-2019 - |
Вопрос
У меня есть Панель на моей Странице:
<asp:Panel ID="pnlTest" runat="server" />
Затем я динамически добавляю к нему текстовое поле в Page_Load:
TextBox simpleTextBox = new TextBox();
pnlTest.Controls.Add(simpleTextBox);
simpleTextBox.ID = "SimpleTextBox-1";
Есть ли способ извлечь информацию, введенную в этом текстовом поле, не извлекая ее непосредственно из запроса.Форма?Я думал, что смогу сделать что-то подобное после того, как добавлю это снова:
lblPresentResults.Text = myTextBox.Text;
Я знаю, этот пример кажется надуманным, но я решил, что попытаюсь исключить все остальные переменные в моем конкретном приложении, особенно для того, чтобы задать вопрос здесь.
Решение
Вам нужно добавить текстовое поле перед загрузкой viewstate, например, в Page_Init , и вы должны быть в состоянии это сделать.
Другие советы
Просто создайте текстовое поле на Init
или PreInit
вместо того, чтобы загружать, чтобы он существовал на странице до того , как Состояние просмотра восстановлено.Затем ASP.Net обновит его для вас автоматически.