假设我在同一个 ASP.NET C# 网站上有两个页面。
- Page1.aspx 在 Page_Load 事件中执行操作
- 我使用菜单导航到 Page2.aspx
- Page2.aspx 然后做了一些事情响应.重定向返回Page1.aspx
- Page1.aspx 这次无法在 Page_Load 事件中执行操作,因为它从未触发。
我尝试以声明方式关闭缓存,尝试在重定向中使用 true 作为 endResponse...似乎没有什么区别。
大家别介意!我是个白痴!
使用 Visual Studio Dev Localhost,重定向正在重定向到实时页面! :)
页面执行的原因不影响页面周期,Load事件always执行页面时触发。
因此,如果 Page_Load 有时不运行,那是因为该页面已缓存并且未在服务器上执行。该页面可以缓存在浏览器中、沿途某处的路由器中或使用服务器端页面缓存的服务器上。
如果您尚未为页面启用服务器端页面缓存,则会将其缓存在浏览器或网络中。您可以使用缓存设置来尝试消除这种情况:
Response.Cache.SetCacheability(HttpCacheability.NoCache);
这将阻止页面在正常情况下被缓存。 (还要检查您的浏览器是否处于离线模式,然后它将使用缓存中的任何内容,无论其可缓存性设置如何。)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)