0

我知道有很多关于禁用 ViewState 不会阻止文本框在刷新/回发中保持值的信息。我无法找到有关如何规避这种行为的信息。

这就是为什么我需要这样做。我有一个通过 AJAX 更新数据库的表单。每次用户更改字段时,数据库都会立即更新。因此,没有理由将值存储在数据库以外的任何地方。

考虑以下场景。

  1. 用户加载页面,文本框 FirstName 的值为“Bob”。
  2. 用户将名字更改为“Dave”。(数据库更新)
  3. 用户单击刷新按钮。

我们希望 FirstName 框现在具有“Dave”的值,但它显示的是“Bob”。那么如何强制 ASP 从数据库中加载值呢?

4

2 回答 2

1

我遇到的问题似乎与在正确的页面事件期间创建和填充控件有关。通过在 Page_Init 中创建控件并在 Page_Load 中填充它们来解决此问题。

于 2013-07-24T16:18:18.803 回答
1

用户单击刷新按钮。

在此步骤中,您将重新读取数据库中的数据并用该数据强制填充控件。如果页面中的所有“事件”实际上都由 AJAX 请求处理,那么听起来只有两个有意义的“WebForms 事件”是“刷新”按钮Page_Load的处理程序。Click这两个事件之一应重新填充数据库中的控件。

(或者没有“刷新”按钮,用户只是通过浏览器功能重新加载页面?在这种情况下,在这种情况下Page_Load应该总是从数据库中填充控件。)

于 2013-07-22T16:27:32.423 回答