3

我在 Home 中有两个名为 'abc' 和 'def' 的动作Controller。动作“abc”返回 RedirectToAction("def")。那么我可以在'def'中获得Redirect离子触发的动作名称吗?

public ActionResult abc()
{
    //Some code
    return RedirectToAction("def");
}

public ActionResult def()
{
    //Some code
    string str = "You have been redirected from action 'abc'";
    return Content(str);
}

我怎样才能在动作 def 中得到这个名字 abc ?

4

2 回答 2

1

您可以使用Request.UrlReferrer来获取引用 URL 或Request.ServerVariables字典,例如Request.ServerVariables["http_referer"]

于 2013-08-08T08:39:45.423 回答
1

您不应该使用 URLReferrer。为什么?

因为Request.UrlReferrer它不是 100% 正确的方式,因为有很多方式URLReferrer可以被安全软件/防病毒、防火墙、代理程序阻止。URLReferrer在弹出窗口中将为空。这就是我不能URLReferrer用来检查从哪里打开此页面的原因。

那么,最好的方法是什么?

Request.RequestContext.RouteData.Values["action"]
于 2013-08-08T09:05:30.617 回答