【发布时间】:2017-01-20 04:30:01
【问题描述】:
我在控制器中定义了一个路由,
[Route("AboutUs/Profile")]
[Route("AboutUs/Organization")]
public ActionResult Contents()
{
string _controller = RouteData.Route.GetRouteData(this.HttpContext).Values["controller"].ToString();
string _action = RouteData.Route.GetRouteData(this.HttpContext).Values["action"].ToString();
}
但是_action == "Contents",我怎样才能得到_action = "Profile"?
我试过了:
string _controller = this.ControllerContext.RouteData.Values["controller"].ToString();
string _action = this.ControllerContext.RouteData.Values["action"].ToString();
还有这个
string _controller = this.RouteData.Values["controller"].ToString();
string _action = this.RouteData.Values["_action"].ToString();
但所有这些都不起作用。
【问题讨论】:
-
你在控制器的什么地方使用这个?在点击
Action之前,您必须使用 HttpContext.Current。 -
我用过HttpContext.Current,但是不行。
-
检查
HttpContext.Current.Request.RawUrl
标签: c# asp.net-mvc routes attributes