ViewState - как сохранить состояние между двумя страницами - PullRequest
1 голос
/ 16 февраля 2011

На page1.aspx у меня есть текстовое поле с id = "tb1" На page2.aspx у меня есть текстовое поле с id = "tb2"

page2.aspx устанавливается как postbackurl для page1.aspx. Для обеих меток enabl; eViewState имеет значение true. Разве текст, который я пишу на странице 1, не должен отображаться на ярлыке на странице 2? Могу ли я реализовать это, не просматривая заголовки Request и не устанавливая текст самостоятельно?

1 Ответ

1 голос
/ 16 февраля 2011

ViewState - это блок Javascript, который сохраняется для одной страницы, а не для нескольких. Когда вы используете свойство PostBackUrl для публикации на странице, отличной от начальной, вам необходимо выполнить собственную проверку и извлечь значения свойств из элементов управления на «предыдущей странице»:

// Get the value of TextBox1 from the page that 
// posted to this page.
text = ((TextBox)PreviousPage.FindControl("tb1")).Text;

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

...