0

MVC Web アプリケーションで MVC コントローラーを定義しました。コントローラーで定義された 5 つの異なるアクション名があります。すべてのアクションは異なることをしています。

私がやりたいことは、5 つの異なる MVC ルートではなく、global.asax で共通の MVC ルートを定義することです。global.asax ファイルでこのように定義した 1 つのルート。

routes.MapRoute(
           "Action1/1", // Route name
           "xyz/check-data1", // URL with parameters
           new { controller = "CheckDate", action = "Check1" } // Parameter defaults
       );

これらの 5 つの異なるルートは、私の Web ページで 5 つのハイパーリンクと呼ばれるため、ここでは 5 つの異なるルートが必要です。

上記のルートをコピー アンド ペーストして 5 つの異なるルートを作成したくありません。たとえば、もう 1 つのルートについては、以下のように定義できます。

routes.MapRoute(
           "Action2/2", // Route name
           "xyz/check-data2", // URL with parameters
           new { controller = "CheckDate", action = "Check2" } // Parameter defaults
       );

これについて私に提案してください。

4

1 に答える 1

2

典型的なパターンは、デフォルト ルートで動作できるようにアクションを標準化することです。

/{Controller}/{Action}/{id?}

標準アクションを使用しない場合は、ルートを個別に手動で指定するしかありません。

ただし、 AttributeRoutingと呼ばれる nuget パッケージがあり、属性を使用してアクション自体のルートを指定できます。多くのカスタム ルートを処理する場合、これはより簡単で流動的です。

于 2013-03-11T20:41:36.557 に答える