1

我在 Global.asax.cs 中有以下 URL 映射:

 routes.MapRoute("RejectRevision", "{controller}/{Index}/{revisionId}"
        , new { controller = "RejectRevision", action = "Index", revisionId = "" });

但我不想输入http://localhost:9999/RejectRevision/Index/1,我希望能够输入http://localhost:9999/RejectRevision/1以点击 Index 操作在 RejectRevision 控制器上。我在这里想念什么?

谢谢。

4

1 回答 1

1

把它放在你的Default路线之前:

routes.MapRoute(
    "RejectRevision",
    "{controller}/{revisionId}",
    new { 
        controller = "RejectRevision", 
        action = "Index", 
        revisionId = UrlParameter.Optional }
);

如果将其放在您的Default路线之前,则请求/RejectRevision/1将映射到RejectRevisionController.Index()操作方法。

或者,如果这是您希望像这样映射的唯一 Controller/Action 方法,那么您可以使用文字而不是路由参数:

routes.MapRoute( 
    "RejectRevision", 
    "RejectRevision/{revisionId}", 
    new {  
        controller = "RejectRevision",  
        action = "Index",  
        revisionId = UrlParameter.Optional } 
); 
于 2012-02-03T01:57:18.140 回答