2012-03-30 6 views
1

ルーティング: index.cshtml内を:カミソリUrl.ActionとMVCこれを考えると

a href="@Url.Action("Create", "Request")">Create Request</a> 

のGlobal.asax:

routes.MapRoute(
       "Request", 
       "request/{action}", 
       new {controller="Request",action="Create" } 
       ); 

それはこのURLにリダイレクト:http://localhost:16997/request。 どうすればhttp://localhost:16997/request/createに行くのですか? URLに「作成」と入力するだけで、作成メソッドのコンテンツが適切に表示されます。

答えて

1

は、あなたのルートの定義にアクションのデフォルト値を削除します。彼はちょうどGlobal.asaxの中にこの1上の彼のルートを置けば

routes.MapRoute(
    "Request", 
    "request/{action}", 
    new { controller = "Request" } 
); 
+0

は、それが動作しませんか?ルーティングは最初のルーティングと一致します。 – mattytommo

+0

カスタムルートが完全に削除されても必要ない場合は機能します。既定のルートは既にこれを処理しています。デフォルトのアクションはIndexです。 –

+0

はルートを更新し、http:// localhost:16997/request/createを正しくリダイレ​​クトしますが、ブラウザには「Undefined」と表示されます。すべてのメソッドは、 'return Content( "リクエストコントローラーの作成メソッド内")です。 – user1202839

関連する問題