问题描述:当我们使用ASP.Net的FormAuthentication实现用户登录验证,并使用response.redirect进行页面跳转时,如果跳转的页面在IIS的虚拟目录下,会出现跳转失败的情况。
针对该问题,我们可以将跳转页面的URL改为相对路径,而不是绝对路径。
如果必须使用绝对路径,则需要在URL前添加应用程序根路径的变量,可以使用HttpContext.Current.ApplicationPath获取应用程序根路径。
例如:
Response.Redirect(HttpContext.Current.ApplicationPath + "/VirtualDirectory/Default.aspx");
这样,在使用response.redirect跳转时,就可以使用相对路径或直接使用虚拟目录下的绝对路径进行跳转了。