作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我有一个 Button_click
事件。刷新页面时,先前的 Postback
事件再次触发。如何识别页面刷新事件以阻止 Postback
操作?
我尝试了下面的代码来解决它。实际上,我是在 SharePoint 页面中添加可视化 Web 部件。添加 webpart 是一个回发事件,因此每次我将 webpart 添加到页面时 !postback 始终为 false,并且我在 else 循环中遇到错误,因为对象引用为 null
。
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();
}
我该如何解决这个问题?
最佳答案
使用 View 状态对我来说效果更好,详见 here .基本上:
bool IsPageRefresh = false;
//this section of code checks if the page postback is due to genuine submit by user or by pressing "refresh"
if (!IsPostBack)
{
ViewState["ViewStateId"] = System.Guid.NewGuid().ToString();
Session["SessionId"] = ViewState["ViewStateId"].ToString();
}
else
{
if (ViewState["ViewStateId"].ToString() != Session["SessionId"].ToString())
{
IsPageRefresh = true;
}
Session["SessionId"] = System.Guid.NewGuid().ToString();
ViewState["ViewStateId"] = Session["SessionId"].ToString();
}
关于c# - 如何在 .net 中检测页面刷新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11793588/
我是一名优秀的程序员,十分优秀!