【问题标题】:I need to take the controller action's name out of the URL, but don't know how [duplicate]我需要从 URL 中取出控制器操作的名称,但不知道如何 [重复]
【发布时间】:2015-07-08 21:40:46
【问题描述】:

示例:我想查看一个 ID 为 12483 的合同,所以我想使用这个 URL:

/Contract/12483 

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

/Contract/View/12483 

然而,这不是 RESTful。

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

【问题讨论】:

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


【解决方案1】:

一种选择是您可以使用ActionResult 的名称作为Index 而不是view

或者你可以在你的App_Start/RouteConfig.cs中使用它

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-05-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-06
    • 1970-01-01
    • 2019-12-23
    • 2018-06-30
    相关资源
    最近更新 更多