我有代码在用户退出时重定向用户:
if (IsRequestedPage("Login") && Authorization.IsAuthenticated())
{
Response.Redirect("CalendarView.aspx");
}
else if (LibKezberProjectManager.Data.Context.NeedsFirstUse() && !IsRequestedPage("FirstUse"))
{
Response.Redirect("FirstUse.aspx");
}
else if (!Authorization.IsAuthenticated() && !IsRequestedPage("Login") && !LibKezberProjectManager.Data.Context.NeedsFirstUse())
{
string fileName = this.Page.Request.Url.ToString();
fileName = fileName.Remove(0, fileName.LastIndexOf("/") + 1);
Response.Redirect("Login.aspx?redirect=" + fileName);
}
}
public bool IsRequestedPage(string pageName)
{
return Request.RawUrl.Contains(pageName + ".aspx");
}
protected void lnkSignOut_Click(object sender, EventArgs e)
{
Authorization.Logout();
Response.Redirect("Login.aspx?logout=true");
}
当我退出时,在某些页面中,而不是将我带到:
kezblu.mysite.com/Login.aspx?logout=true
我最终:
kezblu.mysite.com/kezblu/Login.aspx?logout=true
我无法在本地调试...我没有IIS服务器。
可能导致这种情况的原因是什么?
应该始终重定向到kezblu.mysite.com/Destination.aspx
我没有附加子域目录的任何代码。
由于
答案 0 :(得分:3)
您是否尝试过使用Response.Redirect("~/Login.aspx?logout=true")
?
~/
前缀对应于Web应用程序的根目录。