代码之家  ›  专栏  ›  技术社区  ›  Loki

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

  •  6
  • Loki  · 技术社区  · 16 年前

    我正在尝试编写一个MapRoute调用,该调用将使任何以“json/”前缀的路由成为操作名称的前缀。

    "json/{controller}/{action}"
    

    controller = "Foo"
    action = "jsonBar"
    

    有什么想法吗?

    1 回复  |  直到 16 年前
        1
  •  4
  •   Marc Gravell    16 年前

    我想知道在路由数据中包含json并在操作中查找它是否更好?i、 e.在绘制路线图时,请使用以下内容(对于默认值):

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

    或将路线映射为:

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

    然后在控制器中访问此项:

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

    (或将其作为参数传递)

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