c# - 检测页面刷新 jQuery 或 C# ASP.Net

标签 c# asp.net jquery refresh

我正在寻找一种方法来检测我的 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;
}

附言:Profiles.User.LastPageUrl 是我为其他目的而创建的 session 变量,但适合此目的的需要。所以这不是一些内置属性。

但是,经过几次测试后我得出结论,一个页面可以同时是 PostBack 和 Refresh。因为用户可以按下一个按钮,然后点击刷新。所以这种情况使我以前的代码无效,因为 !Page.IsPostBack。 我仍在寻找一个简单直接的解决方案。

最佳答案

据我所知,大多数浏览器的浏览器刷新不会发送任何特殊信息来指示刷新按钮已被按下。但是,有一些选择,具体取决于您要完成的目标。

我建议阅读以下内容,看看它们是否能帮助您到达目的地:

只是一种直觉,但上面的第二项可能是您需要的路径。有时解决问题的最好方法是消除问题。也就是说,构建解决方案,以便推送刷新不需要首先进行特殊处理。

至于 Javascript(客户端)与 ASP.NET(服务器端),我认为您可能会以两者的某种组合结束,而不是非此即彼。

关于c# - 检测页面刷新 jQuery 或 C# ASP.Net,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2444760/

相关文章:

c# - 使用 LinkSprite JPEG 彩色相机拍照

c# - 无法在 Visual Studio 2015 中运行迁移

c# - C# 中的常量日期时间

asp.net - 根据表值参数过滤表并将 TVP 值插入 Select

c# - 如何将报告转换为图像?

c# - RichTextBox语法实时高亮--禁用重绘

javascript - parseFloat 为 -2.00 返回 0-2.00

java - 在没有表单提交的情况下在 Spring 使用ajax jquery上传图像

javascript - 如何在 .on 方法中给出多个事件和处理程序?

javascript - Jquery 滑动选项卡-如何禁用顶部菜单?