【问题标题】:How to add a prefix to all actions with ASP.Net MVC URL Routing?如何使用 ASP.Net MVC URL 路由为所有操作添加前缀?
【发布时间】:2009-05-07 10:51:48
【问题描述】:
我正在尝试编写一个 MapRoute 调用,该调用将使任何以“json/”为前缀的路由在操作名称前添加“json”。
例如,类似这样的路线:
"json/{controller}/{action}"
使用“json/Foo/Bar”,结果应该是:
controller = "Foo"
action = "jsonBar"
有什么想法吗?
【问题讨论】:
标签:
c#
asp.net
asp.net-mvc
url-routing
【解决方案1】:
我想知道在路由数据中包含 json 并在操作中查找它会不会更好?即在映射您的路线时,使用类似(默认)的东西:
new { mode="json", controller = "Home", action = "Index", id = "" }
或将路线映射为:
"{mode}/{controller}/{action}"
然后在控制器中访问它:
string mode = (string) RouteData.Values["mode"];
(或作为参数传入)
除此之外,您可能会编写自己的路由处理程序,但这是很多工作。