所以我有一个包含两个控件的 ASP.NET 页面:
- 一个
GridView
,它显示来自SqlDataSource
的行,用户可以在其中选择一行; DetailsView
,用户可以在其中查看并编辑所选行的值。
DetailsView
可以更新底层数据,但即使页面重新加载,GridView
仍然显示旧数据,直到我手动重新加载浏览器中的页面。
如何确保 GridView
在 DetailsView
中更新后显示正确的数据?
附注可能需要注意的是 due to reasons outlined in this other question ,我必须将自定义 OnItemUpdating
事件与 DetailsView
结合使用。此事件执行 SQL 更新命令(成功),将 DetailsView
设置回 ReadOnly 模式(退出编辑模式),然后取消该事件 (e.Cancel = true
) 。如果此事件取消也以某种方式取消了 GridView
更新,我如何手动告诉它自行更新?
P.P.S.:我发现this similar question ,但答案不起作用:它将整个页面重置回原始状态,这意味着 GridView
丢失其选定的行,并且 DetailsView
消失。我不想这样。
最佳答案
页面加载时:
YourGridViewID.DataBind()
关于asp.net - 当基础数据更改时,GridView 内容不会更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9093145/