我需要从URL中取出控制器操作的名称,但不知道如何操作

时间:2015-07-08 21:40:47

标签: asp.net-mvc asp.net-mvc-3 asp.net-mvc-4

示例:我想查看ID为12483的合同,因此我想使用此网址:

/Contract/12483 

我无法在ASP.NET MVC中执行此操作,因为ASP.NET路由会使/ {controller} / {action} / {id}能够路由到所需的代码来处理请求,所以我会这样做:

/Contract/View/12483 

然而,这不是RESTful。

有人知道解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

一个选项是,您可以使用ActionResult的名称作为Index,而不是view

或者您可以在App_Start/RouteConfig.cs

中使用此功能
routes.MapRoute(
    name: "Book",
    url: "{controller}/{id}",
    defaults: new { controller = "Contract", action = "View", id = UrlParameter.Optional });