.net - F5浏览器刷新和回发有区别吗?(asp.NET)

标签 .net asp.net postback refresh

我正在 asp.NET 中现有数据网格的不同行中动态创建拖网格

我生成的数据网格有一列是TemplateColumn(复选框列)。

在我的父数据网格中,我有一个带有复选框的模板列。当我选中或取消选中复选框的值时,会调用 check_change 方法(autopostback 设置为 true),动态生成的数据网格会丢失选中的复选框(所有复选框均再次取消选中)。但是,如果我选中子(动态生成的)网格的任何复选框并按 F5,它会刷新页面,但我仍然选中了复选框。

发生什么事了?回发与刷新 F5 有何不同???理解这一点可能会帮助我解决我的问题:DataGrid not being altered!

最佳答案

很简单,浏览器缓存响应。因此,如果您按 F5,通常每次都会看到网格中带有选中的复选框。但是,如果您在代码中进行回发,则会强制浏览器连接到服务器并发布数据。

然后它将等待服务器的响应,并返回回发的原因。

很烦人,但这就是浏览器的工作原理。您可以通过按 Ctrl+F5 强制完全刷新而不是模拟回发。

这(有时)取决于浏览器,因为并非所有浏览器的行为都与您在此处描述的相同。

如果需要回发,但您仍希望保持复选框状态为选中状态,我建议改为使用 AJAX 调用。

关于.net - F5浏览器刷新和回发有区别吗?(asp.NET),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3308723/

相关文章:

.net - Visual Studio 2013 和 .NET 4.6

c# - 为什么我的 CheckBox.Checked 属性会重置?

asp.net - 为什么我动态添加的控件在回发后会丢失它们的值?

c# - 为什么要在 ASP.NET 中加密查询字符串?

javascript - 在 .aspx 页面上禁用右侧,但在超链接上启用

.net - 关于 CorDbg 和 Mdbg 的良好资源

asp.net - 如何将敏感数据发送到 Asp.net Web API 服务器

asp.net - IIS 7 中的 session 超时

c# - 在 Owin 中间件中设置挑战

c# - 如何保持自动回传的滚动位置?