2011-09-17 11 views
1

をセグメント化しない:リンク作品ルートが正しく、私は私の見解では、リンク定義され

 routes.MapRoute(
     "Search Affaire Only Label", // Route name 
     "{controller}/Label/{LabelName}", // URL with parameters 
     new { controller = "Affaire", action = "SearchAffaires", LabelName = UrlParameter.Optional } // Parameter defaults 
     ); 

が、URLが正しくセグメント化されていません。私はこのように、このリンクをキャッチするためにルートを定義し

@Html.ActionLink("Baxter", "Label", new { LabelName = "Baxter" }) 

をあなたは以下を参照できるように、アドレスバーに:

http://localhost:3817/Affaire/Label?LabelName=Baxter 

を私は、URLは次のようにフォーマットされるだろうと思った:

http://localhost:3817/Affaire/Label/Baxter 

何が問題なのですか。何か案が?

ありがとうございました。

答えて

1

アンカーでは、Labelをアクション名(ActionLinkヘルパーの2番目の引数)として渡していますが、ルート定義ではSearchAffairesというアクションを定義しています。だから、また、コントローラを含むことによってあなたのアンカーを修正し、次のいずれか

@Html.ActionLink("Baxter", "SearchAffaires", new { LabelName = "Baxter" }) 

以上の明示的あいまいさを避けるためだけでなく、コントローラ名を与える:

@Html.ActionLink("Baxter", "SearchAffaires", "Affaire", new { LabelName = "Baxter" }, null) 

または上Labelアクションを使用するように、ルート定義を変更しますコントローラーAffaire

関連する問題