使用方法:使用相对URL ASP.NET正确重定向

时间:2008-11-10 14:50:04

标签: asp.net redirect

我有一个身份验证脚本( CheckLogin.aspx ),如果任何凭据与我的应用不匹配,我的应用会重定向(通过 Server.Transfer )到访问被拒绝页面( forbidden.aspx )。每次我的脚本运行时,都会得到 InvalidOperationException: Failed to map the path '/forbidden.aspx' 。这是我的应用程序文件结构的模型:

<root>
..default.aspx
..forbidden.aspx
..<inc>
....scripts.js
..<auth>
....CheckLogin.aspx

如您所见, CheckLogin.aspx 页面位于根目录内的文件夹中, forbidden.aspx 页面位于根目录内。我告诉我的应用程序重定向到的路径是 /forbidden.aspx

2 个答案:

答案 0 :(得分:4)

有时您必须在页面路径前面加上波形符以指示根目录:

'~/forbidden.aspx'

答案 1 :(得分:0)

您是否使用“〜/ ...”来确保所有路径都是相对的?

顺便说一句,您应该使用<location>标签通过Web.config设置页面访问权限。这样,您可以进行某种基于角色的访问,而无需太多自定义代码。