如何使用ASP.Net MVC URL路由为所有操作添加前缀?

时间:2009-05-07 10:51:49

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

我正在尝试编写一个MapRoute调用,该调用将使任何以“json /”为前缀的路由将“json”添加到操作的名称之前。 例如,这样的路线:

"json/{controller}/{action}"

使用“json / Foo / Bar”,它应该导致:

controller = "Foo"
action = "jsonBar"

有什么想法吗?

1 个答案:

答案 0 :(得分:4)

我想知道在路线数据中加入json并在行动中查找是否更好?即,在绘制路线时,请使用(默认值):

new { mode="json", controller = "Home", action = "Index", id = "" }

或将路线映射为:

"{mode}/{controller}/{action}"

然后在控制器中访问它:

string mode = (string) RouteData.Values["mode"];

(或将其作为参数传递)

除此之外,您可以编写自己的路由处理程序,但这需要做很多工作。