强制ASP.NET控件重新加载数据

时间:2013-07-22 16:23:36

标签: asp.net viewstate control-state

我知道有很多关于禁用ViewState如何阻止文本框在刷新/回发后保持值的信息。我不能鳍是关于如何规避这种行为的信息。

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

请考虑以下情况。

  1. 用户加载页面,文本框FirstName的值为“Bob。”
  2. 用户将名字改为“Dave”。 (数据库更新)
  3. 用户点击刷新按钮。
  4. 我们希望FirstName框现在具有“Dave”的值,但它显示“Bob”。那么如何强制ASP加载db?

    中的值

2 个答案:

答案 0 :(得分:1)

  

用户点击刷新按钮。

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

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

答案 1 :(得分:1)

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