我遇到问题重定向到同一个域。
例如,重定向发生在 ServerA.Domain.com/Folder/application.aspx 上。但是,程序会将我重定向到 ServerA / Folder / application.aspx 。
该应用程序在此域上运行正常,但我不得不重新登录。
如何强制重定向到同一个域?
我正在使用asp.net 3.5
加 我的重定向看起来如下:
Response.Redirect("/Folder/application.aspx?");
答案 0 :(得分:2)
如果您只是将波浪号(〜)字符和对ResolveClientUrl的调用添加到重定向怎么办?
Response.Redirect(this.ResolveClientUrl("~/Folder/application.aspx?"));
这会解决问题吗?
答案 1 :(得分:0)
看起来您在子域上尝试重定向到子域上的文件夹。我相信你需要使用完全限定的URL:
Response.Redirect("http://ServerA.Domain.com/Folder/application.aspx?");
正在发生的事情是您的子域名是主站点上的一个文件夹,您可以告诉您的应用重定向到该域名。它不知道你有一个子域设置默认访问该文件夹。
<强>更新强>
尝试使用HttpContext.Current.Request.Url.xxxxx
,然后附加到该{{1}}。这样您就可以获得子域路由并以您想要的格式重定向。
答案 2 :(得分:0)
您可以尝试使用
Server.Transfer("/Folder/application.aspx?");
答案 3 :(得分:0)
ResolveClientUrl 返回当前 url 的相对路径; ResolveUrl 返回绝对路径。因此,如果在另一个文件夹下的用户控件中调用 ResolveUrl 可能会更好地工作:
Response.Redirect(this.ResolveUrl("~/Folder/application.aspx?"));