ViewState - 如何在两个页面之间保持状态

时间:2011-02-16 15:58:18

标签: asp.net viewstate

在page1.aspx上我有一个id =“tb1”的文本框 在page2.aspx我有一个id =“tb2”的文本框

page2.aspx设置为page1.aspx的postbackurl。对于两个标签enabl; eViewState为true。 我在page1中写的文字也不应该出现在第2页的标签上吗?我可以在不查看Request标头并自行设置文本的情况下实现这一点吗?

1 个答案:

答案 0 :(得分:1)

ViewState是一个Javascript的blob,它是针对单个页面而不是多个页面保留的。当您使用PostBackUrl属性发布到与初始页面不同的页面时,您需要执行自己的验证,并从“上一页”的控件中提取属性值:

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

此外,ViewState在每个控件的基础上都很荣幸,所以即使你想要发生的事情是可能的,你的TextBox有两个不同的ID这一事实意味着ViewState将无法匹配它们...... / p>