ASP.Net数据绑定控件没有更新,可能的缓存问题?

时间:2011-05-18 18:23:37

标签: c# asp.net data-binding browser-cache

使用如下设置处理项目:

  • ASPX页面
    • 用户控制1
      • Radio Buttons 1-12
    • 用户控制2
      • 根据单选按钮1-12计算的值标签

两个UserControl都是数据绑定,两者都有一个从ASPX页面调用的“SaveData”方法。

UserControl2中的值位于标签中。第一个是单击的单选按钮的编号(1到12),第二个是根据该编号计算的值。

当页面保存时,正确保存值并重新填充单选按钮。当UserControl重新填充时,标签仍然是旧值。

如果您随后将光标放在地址栏中并刷新,则会出现同样的问题。但是如果你按CTRL +刷新,一切都会很好。

显然我遇到了第二个UserControl缓存的问题。我怎样才能解决这个问题,为什么第一个UserControl(带有单选按钮)没有缓存?

修改
在测试时,我添加了一个TextBox绑定到与RadioButton和Label相同的值。 3控件,RadioButton使用Field1上的Bind,TextBox和Label使用Field上的Eval(但是尝试过Bind也没用)。
我将RadioButton从1改为3并保存 在PostBack上,RadioButton被正确更新为3. TextBox和Label两者仍然表示“1” 然后我将RadioButton更改为6并在TextBox中键入“4”(测试值的变化是否会强制更新,即使它在EVAL上,而不是BIND)并点击“保存”。
在PostBack上,RadioButton在6时是正确的,但TextBox和Label都表示“3”。

不知道这意味着什么,但有人可能会理解这一点。

1 个答案:

答案 0 :(得分:0)

问题归结于按钮单击以在2个用户控件上调用“SaveData”方法发生在DataBinding之后。在“保存数据”方法(或第一个UserControl保存后的任何时间)内的第二个UserControl上调用“Form.DataBind”可以解决问题。