还有另一个句柄后退按钮,但有一些例子

时间:2012-02-11 08:25:21

标签: jquery asp.net-mvc back-button

您好,

我有一个MVC应用程序,其中包含一个动态填充jquery的表单,当提交然后回到浏览器时,动态控件将不再可见。

我在global.asax中测试了这段代码:

protected void Application_BeginRequest()
        {
            HttpContext.Current.Response.Cache.SetExpires(DateTime.UtcNow.AddDays(-1));
            HttpContext.Current.Response.Cache.SetCacheability(HttpCacheability.NoCache);
            HttpContext.Current.Response.Cache.SetValidUntilExpires(false);
            HttpContext.Current.Response.Cache.SetRevalidation(HttpCacheRevalidation.AllCaches);
            HttpContext.Current.Response.Cache.SetNoStore();
        }

但这并不适用于所有浏览器。

我还想过刚从后退按钮刷新网页,但根据互联网上的论坛,这也不会被大多数浏览器所支持?

重要的是,soltion适用于大多数浏览器和移动设备。

是的我有一个“编辑上一页信息”按钮,但我无法阻止用户使用后退按钮。

BestRegards

修改1:

我发现这个网页:http://www2.blocket.se/ai/form/0很好地处理问题(请求尝试),问题是如何?我已经检查但无法看到解决方案?

怎么做?这是一个好的解决方案吗?或者还有其他更好的吗?

2 个答案:

答案 0 :(得分:0)

您可以使用类似sessvars.js的内容将表单的状态存储在javascript对象中,然后在文档onload事件上重新检查/重新填充。不是一个很好的解决方案,但它可能会有效。

答案 1 :(得分:0)

我认为您可以使用其他javascript mvvm框架轻松修复所有项目。

这是Knockoutjs

在这里您可以找到一些示例:http://www.knockmeout.net/

然后,再使用一个插件:sammy.js,您可以让用户使用浏览器上的prev或下一个按钮在javascript应用程序步骤中导航。 Try it here

here关于它的完整教程。