使用如下设置处理项目:
两个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”。
不知道这意味着什么,但有人可能会理解这一点。
答案 0 :(得分:0)
问题归结于按钮单击以在2个用户控件上调用“SaveData”方法发生在DataBinding之后。在“保存数据”方法(或第一个UserControl保存后的任何时间)内的第二个UserControl上调用“Form.DataBind”可以解决问题。