Asp.Net (vb) 在代码隐藏中强制回发

标签 asp.net postback reload code-behind

我需要一种方法来强制代码隐藏中的回发或页面重新加载。尝试使用一些 javascript 但没有让它工作。浏览网络我看到第一个问题是“为什么”?

情况是我有一个关于自动回发的下拉列表,并且 gridview 数据源的选择参数是从该下拉列表的选定值派生的。因此,页面可以正常工作,并且只要所选项目发生更改,内容就会更新。但有些链接和按钮会让客户离开页面,以便他们稍后再链接回来。

这个想法是将最后的选择存储在 session 中,并检查第一个 page.load 事件(如果 session 选项不是默认选项)。现在我可以基于此更改下拉列表的 selectedindex,但显然数据源的触发速度比 page.load 更快,因此除非我可以强制重新加载,否则这不会有帮助。

有什么想法吗?当然,全页回发/重新加载并不是唯一的选择,只需强制 gridview/数据源刷新就足够了。我只是不知道除了重新加载整个页面之外该怎么做。

谢谢。

最佳答案

您可以在页面上放置一个ajax计时器,在它们返回时启用它,从而在页面呈现时立即导致OnTick自动回发,然后禁用它,但说实话......对于一个微不足道的事情来说,这是一个可怕的解决方法问题。

为什么在以编程方式更改下拉列表值后不能重新绑定(bind) GridView。例如时间线大概是这样的。

  • 用户返回页面(不是回发)
  • GridView 与默认值绑定(bind)
  • 页面加载
    • 检查您的 session 变量
    • 如果找到值
    • 设置 DropDownList 选择的值
    • 再次调用 GridView/DataSource 的 .DataBind() 以强制其重新绑定(bind)。

关于Asp.Net (vb) 在代码隐藏中强制回发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/914911/

相关文章:

javascript - 如何检查页面重新加载是否完成

iphone - UITableView 的 reloadRowsAtIndexPaths : (NSArray *) indexPaths failing to cause a reload unless you call it twice?

c# - 如何填写下拉列表表单数据库表?

c# - 如何注册 Javascript 函数以在每次回发时运行?

javascript - 如何在页面加载后禁用下拉列表框项目的选择?

javascript - 选择从 JavaScript 填充的控件返回空值

asp.net 站点无法在默认页面上运行

javascript - 如何使页面真正重新加载

c# - 为什么要创建外键约束?

asp.net - 如何在 web.config 文件中包含 &/&