私たちは、アーティストや会場を扱うWebサイトを持っており、ASP.net MVCで開発しています。ASP.Net MVCルーティングアクションの名前の競合
私たちは、など私たちのアーティストフォルダ内のビュー(ビュー/アーティスト/ ..)、ArtistsController、ArtistsRepositoryを持っていると、このようなショー、NewなどRESTのアクション名に準拠し、削除
我々は最初に嘲笑するときテストのURLが/ artists/Show/1209 のようにテスト環境でうまくいきましたが、ウェブサイトが/ artist/Madonna、/ artists/Foo-Fightersなどのように見えるように変更する必要があります。
有効なアーティスト名とそのコントローラのアクション名を区別するにはどうすればいいですか?例えば、アーティスト/ PostCommentやアーティスト/ DeleteComment?私はルーティングがこれを処理できるようにする必要があります。私たちのデフォルトの表示ルートは次のとおりです。この周り
routes.MapRoute(
"ArtistDefault",
"artists/{artistName}",
new { controller = "Artists", action = "Show", artistName = ""}
一つの方法は、目に見えて/アーティスト上で実行するために私たちのウェブサイトのためですが、私たちのコントローラは、単数形に名前を変更した - ArtistController - ArtistsControllerとは対照的です。それは私達が始めたときに行った命名規則に反するでしょう(しかしちょっと!)。
その他のおすすめはありますか?可能であれば、動詞に応じてルーティングすることもできます(PostCommentはPOSTなので、おそらくそのアクションにルーティングすることができます)。しかし、それが可能かどうかはわかりません。 MapRouteへ
おかげ