MVC后退按钮问题

2024-03-17

我有一个在单击后退按钮时需要执行的操作方法。我之前通过在操作方法(Response.Cache.SetCacheability(HttpCacheability.NoCache))中禁用缓存来完成此操作。这对于不同的操作方法不起作用。出于某种原因,当我禁用缓存并点击后退按钮时要触发我的操作方法,页面会过期。对可能出现的问题有什么想法吗?


尝试以下方法,对我来说效果很好:

public class NoCacheAttribute : ActionFilterAttribute
{
    public override void OnResultExecuting(ResultExecutingContext filterContext)
    {
        var response = filterContext.HttpContext.Response;
        response.Cache.SetExpires(DateTime.UtcNow.AddDays(-1));
        response.Cache.SetValidUntilExpires(false);
        response.Cache.SetRevalidation(HttpCacheRevalidation.AllCaches);
        response.Cache.SetCacheability(HttpCacheability.NoCache);
        response.Cache.SetNoStore();
    }
}

public class HomeController : Controller
{
    [NoCache]
    public ActionResult Index()
    {
        // When we went to Foo and hit the Back button this action will be executed
        // If you remove the [NoCache] attribute this will no longer be the case
        return Content(@"<a href=""/home/foo"">Go to foo</a><div>" + DateTime.Now.ToLongTimeString() +  @"</div>", "text/html");
    }

    public ActionResult Foo()
    {
        return Content(@"<a href=""/home/index"">Go back to index</a>", "text/html");
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MVC后退按钮问题 的相关文章

  • ASP/ASP.NET 短标签的名称

    有没有一个特定的名字 Scott Gu 将这些称为 代码块 这就是我的看法 http weblogs asp net scottgu archive 2010 04 06 new lt gt syntax for html encoding
  • ASP.NET Mvc - 可为空参数和逗号作为分隔符

    我应该如何在 global asax 中定义路由才能使用可为空的参数和逗号作为分隔符 我正在尝试为我的搜索用户页面实施路由规则 例如 Controller Action name page status Global asax 的完整条目
  • 基于父子类的视图中的分层菜单

    我有一个视图模型 public class Page public int Id get set public Page Parent get set public string Name get set public string Tit
  • MVC 2 AntiForgeryToken - 为什么对称加密 + IPrinciple?

    我们最近将解决方案更新为 MVC 2 这更新了AntiForgeryToken作品 不幸的是 这不再适合我们的 AJAX 框架 问题是 MVC 2 现在使用对称加密来编码有关用户的一些属性 包括用户的Name财产 来自IPrincipal
  • 每5秒刷新一次表数据

    我目前正处于设计阶段 想知道如何每 5 秒更新一个表 我的表将显示从我的模型返回的只读数据 通常我的观点就是 table table HTML 然后是 foreach 循环来写出数据 然而 因为我想每 5 秒刷新一次整个表 所以我不确定如何
  • 在 mvc3 中将下拉列表的选定值从视图传递到控制器?

    我有 mvc3 Web 应用程序 我使用了 EF 并从数据库填充了两个下拉列表 现在 当我从这些下拉列表中选择值时 我需要在网络网格内显示它们 我怎样才能做到这一点 using Html BeginForm Html ValidationS
  • Html.DropDownListFor 未按预期运行 ASP.net MVC

    我是 ASP net MVC 的新手 在使下拉列表正常工作时遇到问题 我有一个强类型视图 它尝试使用 Html DropDownListFor 如下所示 我使用模型中的属性填充列表 如下所示 Public ReadOnly Property
  • “无法开始调试”-VS2010 ASP.NET MVC 2

    我只能使用 VS2010 和 ASP NET MVC2 启动一次调试会话 当我结束第一个会话并尝试启动另一个会话时 我可以看到 无法开始调试 没有其他消息 我使用 Visual Studio Development Server 而不是 I
  • 有人使用自定义 ViewMasterPage 吗?

    最近 当我构建我的 ASP NET MVC 应用程序时 我倾向于在我的母版页中始终需要计算 格式化和配置许多项目 其中一些项目包括 我喜欢将特定的类附加到 body 标记 就像 WordPress 那样来帮助我的 CSS 解决问题 我通常会
  • ASP.NET MVC 2 - POST 后 ViewData 为空

    我真的不知道在哪里寻找错误 情况 我有一个 ASPX 视图 其中包含一个表单和一些输入 当我单击 提交 按钮时 所有内容都会 POST 到我的一个 ASP NET MVC 操作 当我在那里设置断点时 它被正确命中 当我使用 FireBug
  • asp.net-mvc 中模型绑定双精度的 CultureInfo 问题(2)

    在我的 Jquery 脚本中 我使用浏览器的 CultureInfo en UK 发布了两个双打 该浏览器使用 作为分数分隔符 我的 MVC 应用程序在区域设置为 nl BE 的服务器上运行 使用 作为分数分隔符 AcceptVerbs H
  • asp.net mvc html 属性没有值

    我正在尝试根据 HTML5 规范创建一个隐藏表单 其中隐藏属性在没有值的情况下使用 现在我不知道如何将其强制到 asp net mvc 中 上面的方法不能编译 Compiler Error Message CS0103 The name h
  • .NET 正则表达式可匹配任何语言的任何类型的字母

    我可以使用哪种正则表达式来匹配 允许 任何语言的任何类型的字母 我需要匹配任何字母 包括任何变音符号 例如 并排除任何类型的符号 数学符号 货币符号 装饰符号 方框图字符等 和标点符号 我正在使用 ASP NET MVC 2 和 NET 4
  • 在 ASP.NET MVC 2 中使用 name="array_name[]" 作为表单元素发布数组

    再会 在 PHP 中 可以使用方括号将 name 属性分配给输入元素 如下所示 name my value PHP 会在服务器端自动将其转换为数组 这在 ASP NET MVC 中可能吗 如果没有 是否有其他方法可以在 ASP NET MV
  • ASP.NET MVC - 更新生产中的预编译 Razor View 文件

    我想知道以下是否可能 通过在 Visual Studio 中打开项目设置 使用我们的 MVC 应用程序预编译 Razor 视图 将应用程序部署到生产环境 然后在稍后阶段 通过覆盖生产中现有的 cshtml 文件来更新视图 而无需回收应用程序
  • Ajax 长轮询无法正常工作

    我正在 MVC 2 中使用长轮询开发一个简单的陌生人聊天应用程序 如果我在不同的浏览器中打开应用程序 它在我的开发机器上工作正常 我的意思是 如果我在 IE 和 mozilla 中加载应用程序 它工作正常 如果我在浏览器的两个选项卡 例如
  • ASP.NET MVC 2 强类型 htmlhelper、索引

    public class Foo public bool Checked get set View
  • 子文件夹中忽略 ASP.NET web.config 授权设置

    我正在使用 asp net mvc 2 和 vs 2008 我正在尝试制作具有表单授权的网站 当我尝试限制对某些页面的访问时 我正在使用 asp net 管理工具 例如 我创建规则来拒绝匿名用户访问整个网站 正如预期的那样 管理工具在根 w
  • 如何有效地测试action是否用属性(AuthorizeAttribute)修饰?

    我正在使用 MVC 并且有一种情况OnActionExecuting 我需要确定即将执行的Action方法是否用属性修饰 AuthorizeAttribute尤其 我不是问授权是否成功 失败 而是问该方法是否需要授权 对于非 MVC 人员
  • 单选按钮更改事件

    我有 2 个单选按钮 例如 ID 和名称

随机推荐