如何在.net中检测页面刷新

问题描述 投票:14回答:5

我有一个Button_click事件。刷新页面时,先前的Postback事件再次触发。如何识别页面刷新事件以阻止Postback操作?

我尝试了以下代码来解决它。实际上,我在SharePoint页面中添加了可视化Web部件。添加Webpart是回发事件,因此,每次将WebPart添加到页面时,!postback始终为false,并且由于对象引用为null,所以我在else循环中遇到错误。

if (!IsPostBack){
    ViewState["postids"] = System.Guid.NewGuid().ToString();
    Cache["postid"] = ViewState["postids"].ToString();
}
else{
    if (ViewState["postids"].ToString() != Cache["postid"].ToString()){
        IsPageRefresh = true;
    }
    Cache["postid"] = System.Guid.NewGuid().ToString();
    ViewState["postids"] = Cache["postid"].ToString();
}

我该如何解决这个问题?

我有一个Button_click事件。刷新页面时,先前的回发事件将再次触发。如何识别页面刷新事件以防止回发操作?我尝试了下面的代码...

c# asp.net sharepoint page-lifecycle sharepoint-object-model
5个回答
10
投票

使用viewstate对我来说效果更好here。基本上:



0
投票

如果您想检测HTTP GET的刷新而不是仅检测POST的刷新,这是一个骇人的解决方法,在现代浏览器中,大多数方法都可以使用。

Javascript:


0
投票

检查页面刷新的另一种方法。我已经编写了没有Java脚本或任何客户端的自定义代码。


0
投票

简单解决方案

© www.soinside.com 2019 - 2024. All rights reserved.