【发布时间】:2018-01-10 02:34:25
【问题描述】:
我有以下代码在会话超时时重定向,在母版页中调用。
Response.Redirect("~/Login.aspx");
由于某种原因,它可以在开发机器上运行,但不能在 Web 服务器上运行。
假设网站根为http://mywebsite.com/。
如果我在http://mywebsite.com/foo/bar/page.aspx 并且发生超时,页面将重定向到http://mywebsite.com/foo/bar/Login.aspx 而不是http://mywebsite.com/Login.aspx,因此会抛出找不到页面异常。
怎么了?
【问题讨论】:
-
您是否已从 iis 禁用目录列表?
-
目前已禁用。
-
希望你也把 Response.Cache.SetCacheability(HttpCacheability.NoCache) 这个给你每个 page_load 事件
-
我避免在每个 page_load 中添加一些代码,这样做将是一项巨大的工作。如果可以在一个文件中全局完成/有一个配置,那就太好了。
-
您可以在 global.asax 中的 Application_PreRequestHandlerExecute 事件中执行此操作。