2014-12-02 25 views
7

我有一個ASP.NET vNext(5)項目。我正在嘗試在項目中添加兩個區域。我的問題是,如何在vNext中註冊區域? System.Web.Mvc命名空間消失了,這是AreaRegistrationContext的位置。我開始在GitHub上查看MVC源代碼。我找到了Area attribute。但是,我不知道現在如何使用它。在ASP.NET 5中使用區域

有人可以向我解釋(或提供鏈接)如何使用ASP.NET vNext中的區域?

謝謝!

回答

5

在vNext中註冊並配置您將在Startup.cs中使用的服務。區域路線像普通路線一樣添加。這裏有一個例子:https://github.com/aspnet/Mvc/blob/dev/samples/MvcSample.Web/Startup.cs

你可以爲一個區域添加一個MVC的路線是這樣的:

app.UseMvc(routes => 
{ 
    routes.MapRoute("areaRoute", "{area:exists}/{controller}/{action}"); 
}); 

或者你可以使用一個路由屬性是這樣的:[Route("[area]/Home")]

[區域]屬性裝飾該地區的控制器。它只需要一個參數,即區域的名稱。這裏有一個例子:https://github.com/aspnet/Mvc/blob/dev/samples/MvcSample.Web/Areas/Travel/Controllers/HomeController.cs

[Area("Travel")] 
public class HomeController : Controller 
{ //... } 
+0

GitHub的鏈接似乎被打破 – eiu165 2016-01-06 16:28:15

+1

Startup.cs:https://github.com/aspnet/Mvc/blob/a420af67b72e470b9481d6b2eca29f7c7c2254d2/samples/MvcSample.Web/Startup.cs和HomeController的.cs:https://github.com/aspnet/Mvc/blob/a420af67b72e470b9481d6b2eca29f7c7c2254d2/samples/MvcSample.Web/Areas/Travel/Controllers/HomeController.cs(來自git歷史記錄) – 2016-01-06 20:26:52