当使用ajax时,如何在回发时保留文本框的视图状态

本文关键字:文本 保留 视图状态 ajax | 更新日期: 2023-09-27 18:18:11

我已经创建了从Master页面继承的网页default.aspx。我在default.aspx上使用了ajax 更新面板

默认页面有3个文本框当我点击提交,错误发生在页面上,有一个链接显示错误重定向到showError.aspx,显示错误的详细信息。

showError.aspx页面上有返回按钮,单击返回default.aspx。在此过程中,在默认页面中失去文本框的视图状态

那么,当使用ajax时,我如何保存视图状态呢?

当使用ajax时,如何在回发时保留文本框的视图状态

这是webforms的典型行为。视图状态在两次回发之间有效。意思是你发布到同一个页面(url)。如果您离开该页面转到另一个页面,那么您就放弃了viewstate。下次返回到该页面视图状态时将被重置。服务器不知道您是如何获得页面的(地址栏、HTML按钮/链接或使用历史记录)。它只知道你来过。

简短的回答是你不保留视图状态。这样做违背了视图状态的目的。它只存在于回发之间。有一些方法可以保留用户输入,但这可能需要对如何管理验证和错误进行概念和设计上的更改。

例如

。1. 验证用户输入(所需、范围、正则表达式等)。2. 验证业务规则(客户是有效的,日期在时间点之后,客户的帐户没有被保留,等等)3.处理请求

1,2应该捕获大多数问题,并将用户返回到相同的页面,其中填充了字段和请求不成功的错误列表。如果错误发生在第3点,那么它确实是异常的,应该放弃所有工作。用户不应该在状态保留的情况下返回到上一页,因为确实出现了您没有预料到的错误。

所有这些都与输入是什么以及是否使用ajax无关