2011-10-11 60 views
2

我最近一直在研究我的應用程序的區域功能,並部分成功地將代碼轉移到我的第一個區域。ASP.NET MVC3區域

我的問題涉及到從一個地區內連接到一個地區,不是在一個地區。我已經閱讀了關於如何從一個區域鏈接到另一個區域的教程,但是當我仍然有不在一個區域內的代碼時,我該如何鏈接到它?

<a href="@Url.Action("Index","Home", new)"> 
    <span>Testing Link </span> 
</a> 

如何使這個代碼,目前鏈接到/ myarea /首頁/指數,而不是鏈接到/ home /指數(不是在一個地區)。如果這是違背最佳實踐,我會很有興趣閱讀它,我仍然在學習ASP.NET的版本的區域

回答

2

RouteValues集合可以採取區域參數。只要把它留空即可。

new { area = "" }

+0

簡單快速的回答,傷心我沒有想到這個我自己,讚賞。 – Valchris

5

鏈接到一個區域:

@Url.Action("Index","Home", new { area = "YourAreaName" }) 

鏈接到一個地方的任何區域:

@Url.Action("Index","Home", new { area = "" }) 

一個有用的清單:

@Html.ActionLink("LinkText", "ActionName", new { area = "AreaName" }) 
@Html.ActionLink("LinkText", "ActionName", new { area = "" }) 

@Html.ActionLink("LinkText", "ActionName", "ControllerName", new { area = "AreaName" }, new { /* html attributes */ }) 
@Html.ActionLink("LinkText", "ActionName", "ControllerName", new { area = "" }, new { /* html attributes */ }) 

<a href="@Url.Action("ActionName", new { area = "AreaName" })">Link Text</a> 
<a href="@Url.Action("ActionName", new { area = "" })">Link Text</a> 

<a href="@Url.Action("ActionName", "ControllerName", new { area = "AreaName" })">Link Text</a> 
<a href="@Url.Action("ActionName", "ControllerName", new { area = "" })">Link Text</a>