【发布时间】:2011-01-27 12:51:24
【问题描述】:
我正在寻找一种在我的 C# 代码中检测页面是否已刷新 (f5) 的方法。
首先我不知道 jQuery/JavaScript 解决方案是否会比完全 C# ASP.Net 更好。所以...第一个问题是:是什么让你选择一个而不是另一个?
第三个也是最重要的部分是,如果有人愿意帮助我解决这个问题。一些好的教程,或文章......任何东西。我尝试了一些解决方案……但也许因为我缺乏知识,它们没有奏效。
提前致谢。
更新 1
我尝试做 Hightechrider 解决方案,因为它看起来很容易实现。所以我输入了这段代码:
public bool IsRefresh { get; set; }
protected override void OnPreInit(EventArgs e)
{
base.OnPreInit(e);
IsRefresh = false;
if (Page.Request.AppRelativeCurrentExecutionFilePath == Profiles.User.LastPageUrl &&
!Page.IsPostBack)
IsRefresh = true;
}
PS:Profiles.User.LastPageUrl 是我为其他目的而创建的会话变量,但它满足了这一需求。所以这不是一些内置属性。
但是,经过几次测试后,我得出的结论是,一个页面可以同时是 PostBack 和 Refresh。因为用户可以按下一个按钮,然后点击刷新。因此,由于!Page.IsPostBack,这种情况使我以前的代码无效。 我仍在寻找一个简单直接的解决方案。
【问题讨论】: