在asp.net viewstate中需要帮助

时间:2009-11-05 16:45:13

标签: asp.net viewstate

请有人用观点来帮助我。假设我创建了两个表单。第一个表单包含名字和姓氏以及一个名为NEXT的按钮。第二种形式包含两个字段和两个按钮,如后退和保存。当我在form1中按一个NEXT按钮并重定向到第二页时输入一些值。当我从第二页按下后退按钮它应该到第一页我填充的任何数据应该存在,但在我的情况下,它不显示只有空的形式,我可以看到我按下后退按钮。

为此,我使用了viewstate机制。在页面目录中我设置了enableviewstate = true。 按钮中的postbackurl。请有人帮我解决我的问题。

谢谢, 萨米特

4 个答案:

答案 0 :(得分:2)

Viewstate不会将信息从一个WebForm传递到另一个WebForm。它只在同一个WebForm上的回发中传递信息。

您希望使用其他方法(如SessionState)将信息从第一页传送到第二页。否则,您可以将所有输入组合在同一页面上,并使用ASP.NET Wizard control之类的内容将它们分成多个步骤。

David Lively对cookie或数据库解决方案的建议也很好。

答案 1 :(得分:1)

ViewState将帮助您在同一页面的视图/回发之间传送数据,但在单独页面之间移动数据时,它实际上无法帮助您。

在您的第一页中,使用表单字段填充Cookie或数据库。然后,任何表单都可以更新cookie,删除它或者你有什么。

答案 2 :(得分:0)

您可以调用正在执行“真实”的javascript函数。也许我错过了一些东西,但这就是我要做的事。

onClick="history.go(-1)"

答案 3 :(得分:0)

当从某个其他页面调用页面时,它不是回发帖子,它被视为第一次调用...当从同一页面调用页面时,它被称为回发帖子...查看状态或意义上控制值仅在回发期间保留,并在第一次调用时重置为表单值...

这就是你没有看到控件值的原因。

正如其他人建议的那样,尝试使用会话或cookie,最好的选择是向导。