1

Global.asax.cs に次の URL マップがあります。

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

しかし、 http://localhost:9999/RejectRevision/Index/1と入力する必要はありません。 Index アクションを実行するためにhttp://localhost:9999/RejectRevision/1と入力できるようにしたいのです。 RejectRevision コントローラーで。ここで何が欠けていますか?

ありがとう。

4

1 に答える 1

1

Defaultこれをルートの前に置きます:

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

これをDefaultルートの前に配置すると、 will のリクエストがアクション メソッド/RejectRevision/1にマップされます。RejectRevisionController.Index()

または、これがこのようにマップする唯一のコントローラー/アクション メソッドである場合は、ルートのパラメーターの代わりにリテラルを使用できます。

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