在我的路由中我有
routes.MapRoute(
name: "ctrl",
url: "ctrl/{target_name}",
defaults: new { controller = "ctrl", action = "TheAction" }
);
如何访问target_name?我试过ViewBag.target_name,我用Google搜索,发现很多页面都说RouteData.Values
,但是我收到编译错误
CS0120: An object reference is required for the non-static field, method, or property 'System.Web.Routing.RouteData.Values.get'
所以我最终做了
public ActionResult TheAction(string target_name) { ViewBag.target_name = target_name; return View(); }
这似乎是非常错误的(因为它看起来很愚蠢)
如何在视图中访问target_name?
答案 0 :(得分:4)
如果你想在视图中获取RouteData,你需要通过ViewContext获取它。
ViewContext.RouteData.Values["target_name"]