您好,
我有一个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很好地处理问题(请求尝试),问题是如何?我已经检查但无法看到解决方案?
怎么做?这是一个好的解决方案吗?或者还有其他更好的吗?
答案 0 :(得分:0)
您可以使用类似sessvars.js的内容将表单的状态存储在javascript对象中,然后在文档onload事件上重新检查/重新填充。不是一个很好的解决方案,但它可能会有效。
答案 1 :(得分:0)
我认为您可以使用其他javascript mvvm框架轻松修复所有项目。
这是Knockoutjs。
在这里您可以找到一些示例:http://www.knockmeout.net/
然后,再使用一个插件:sammy.js,您可以让用户使用浏览器上的prev或下一个按钮在javascript应用程序步骤中导航。 Try it here
here关于它的完整教程。