MVC路由的奇怪行为

时间:2017-04-06 09:33:40

标签: c# asp.net asp.net-mvc asp.net-mvc-4 routing

我正在阅读MVC路由如何从 Routing Basics in ASP.NET MVC 开始工作。

它说

  

{controller}和{action}以外的其他网址参数是   可以作为参数传递给选定的Action方法。

因此,我创建了一个参数名为controller的{​​{1}}类型的操作。

string

当我看到public ActionResult About(string controller, string test) { ViewBag.Message = "Your application description page."; return View(); } 的值时,它是主页,这是我的控制器名称。

但是当我尝试从这两个方法访问时,它返回null。 为什么

  • controller
  • Request.Params["controller"]

如果不从上述方法中选择 controller 参数的值,则从其获取 controller 值。

我使用此操作链接来调用操作。

Request.QueryString["controller"]

1 个答案:

答案 0 :(得分:0)

您可以使用

获取控制器和操作值

string actionName = HttpContext.Current.Request.RequestContext.RouteData.Values [“action”]。ToString();

string controllerName = HttpContext.Current.Request.RequestContext.RouteData.Values [“controller”]。ToString();