31

MVC での単純な作業は、時には難しい課題になります。

さて、私は管理者と呼ばれるエリアを持っています。このエリアの共有のディレクトリ内に「禁止」という名前のページがあります。

目標は単純です。管理領域の外にあるホームページに戻るためのリンクを生成する Html.ActionLink を作成する必要があります

だから私は試してみて、<%= Html.ActionLink("Back","Index",new {controller="Home"})%>その生成:

http://localhost/Admin/Home/Index

それは間違っている!私はしたい:

http://localhost/Home/Index

エリアからデフォルトのコントローラー構造へのリンクを作成するにはどうすればよいですか?

4

1 に答える 1

56

これを試して :

<%= Html.ActionLink("Back", "Index", "Home", new { area = "" }, null) %> 

エリアを使用する場合は、上記のようにルート値を追加して、ActionLinksで呼び出すエリアを常に指定する必要があります。リンクがエリアの外にある場合(この場合のように)、エリアに空のパラメーターを使用します。


ASP.NET MVCプロジェクト( T4MVC )に不可欠な拡張機能があります。これにより、ActionLinkがよりきれいに見え、エラーから保護されます。

したがって、上記のコードは次のようになります。

<%= Html.ActionLink("Back", MVC.Home.Index()) %>

エリアを使用する場合:

<%= Html.ActionLink("Some Link", MVC.Admin.SomeController.SomeAction()) %>

これは、codeplexのMvcContribプロジェクトの一部です。

あなたはそれを使うことを考えるべきです。

于 2010-09-21T02:56:54.543 に答える