我正在 asp.NET 中现有数据网格的不同行中动态创建拖网格
我生成的数据网格有一列是 TemplateColumn (复选框列)。
在我的父数据网格中,我有一个带有复选框的模板列。当我选中或取消选中复选框的值时,会调用 check_change 方法(autopostback 设置为 true),动态生成的数据网格会丢失选中的复选框(所有复选框均再次取消选中)。但是,如果我选中子(动态生成的)网格的任何复选框并按 F5,它会刷新页面,但我仍然选中了复选框。
发生了什么 ??回发与刷新 F5 有何不同???理解这一点可能会帮助我解决我的问题:DataGrid 没有被改变!
很简单,浏览器缓存响应。因此,如果您按 F5,通常每次都会看到网格中带有选中的复选框。但是,如果您在代码中进行回发,则会强制浏览器连接到服务器并发布数据。
然后它将等待服务器的响应,并返回回发的原因。
很烦人,但这就是浏览器的工作原理。您可以通过按 Ctrl+F5 强制完全刷新而不是模拟回发。
这(有时)取决于浏览器,因为并非所有浏览器的行为都与您在此处描述的相同。
如果需要回发,但您仍希望保持复选框状态为选中状态,我建议改为使用 AJAX 调用。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)