我需要一种方法来强制代码隐藏中的回发或页面重新加载。尝试使用一些 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/