我有一个控制器,它生成一个返回 url,然后将它提供给视图以进行 javascript 重定向。问题出在我的实时站点上,应用程序不是根站点,所以我从 UriBuilder 或使用 Response.UrlRefferrer 时得到了一些奇怪的结果。这是我终于要做的工作
[AllowAnonymous]
[DisableCache]
public ActionResult Login()
{
UriBuilder uriBuilder = null;
if (Request.UrlReferrer != null)
{
uriBuilder = new UriBuilder(Request.UrlReferrer);
}
else
{
uriBuilder = new UriBuilder("prodsite");
}
//uriBuilder.Path += path;
ViewBag.ReturnUrl = uriBuilder.Uri.ToString();
return View();
}
当用户使用指向控制器的直接链接时,此解决方案有效,但如果用户将此页面添加为书签并通过浏览器的链接返回到该页面,则 url 将成为站点的根目录。我真的希望我有一种更 MVCish 的方式来处理 url,但到目前为止没有任何效果。有什么建议么?另外,如果可能的话,我正在寻找一种方法来使这项工作在现场和测试站点上都能正常工作,这样我就不必进入并手动更改代码。谢谢!