私はこのトピックですでに質問されているさまざまな質問を見てきました。私はそれをどのようにしたいのかを試してみるために時間を費やしましたが、うまくいけば、ここの誰かが私がギャップを埋めるのを助けることができます。RESTfulなASP.NET MVC3のルーティング
私は新しいサイトを作成しています。URL構造をよりリーズナブルにしたいと思っていました(私は最初のMVC3の作成でそれをやりたかったのですが、そのような実験はできませんでした)。ただし、異なるURLがすべて同じアクションを指していることは望ましくありません。コントローラのコードを簡潔かつ直観的に保つよう要求されたリソースごとに異なるアクションが必要です。ここで
は、私が撮影してるURL構造の例である:最初の二つのURLの私が記載されている
routes.MapRoute(
"Case",
"Case/{id}",
new { controller = "Case", action = "Number" }
);
routes.MapRoute(
"CaseComment",
"Case/{caseId}/Comment/{id}",
new { controller = "Case", action = "CaseComment" }
);
routes.MapRoute(
"Default",
"{controller}/{action}/{id}",
new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
働いている:
/Case //This currently works
/Case/123 //This currently works
/Case/123/Comment //This one does not work (404)
ここ
私は現在、私のルートを設定している方法ですこのルート構造で正しく最初のURLは私のリスティングページに移動します。 idを指定すると、Number
アクションが発生し、特定のレコードの詳細を表示できます。 Comment
URLが機能していません。
public ActionResult CaseComment(string caseId, string id) {
//Narr
}
は、私が何をしないのです:
私は、第三URLのアクションは、次のように定義していますか?そして、将来のリソースのためにこれを簡単に設定することはできますか?