作为我工作的一部分,我在注册网站上工作,并且模式显示我尝试并转移到中心BasePage
DLL。在这里,我已经创建了过去有用且可重用的方法,例如帮助发送电子邮件的方法和Ninject的依赖注入设置。
注意BasePage
是我添加到网站的引用可能很有用。
在这种情况下,我希望会话过期,以便当有人使用浏览器返回事件时,委托人不能重新提交他们的信息。
我使用的代码是:
// Stop Caching in IE
Response.Cache.SetCacheability(System.Web.HttpCacheability.NoCache);
// Stop Caching in Firefox
Response.Cache.SetNoStore();
它有效,所以我认为在我的BasePage
类中有一个方法可以调用禁用缓存,并将页面中的这个调用减少到一行。< / p>
问题是,我认为这部分与事实BasePage
是一个引用的DLL有关,如果我使用来自BasePage
dll的方法调用,则不会禁用缓存。
有没有人知道我是否可以使用BasePage
dll中的此方法调用此方法来禁用页面上的缓存,或者我是否必须将其保留在网站本地?
更新07/07
找到了一些有趣的东西。
有几个网站建议使用会话变量来确定是否有人返回该页面。如果他们是你,那么就开始停止。
您需要noCache
,以便页面重新启用Page_Load
事件
但我也发现:我有一个包含上述代码的页面,但我有一个自定义验证,必须命中服务器进行验证并返回验证错误。在更正时,使值有效,然后再次提交。按回说页面已过期。
因此,如果我更改了所有验证以使EnableClientScript
为false,则任何错误都会导致网络服务器在成功提交后退出按钮事件。
这并没有完全修复它,但它会阻止人们在特定情况下按回来输入无效值。
干杯
路