我有一个ASP.NET vNext(5)项目。我正在尝试在项目中添加两个区域。我的问题是,如何在vNext中注册区域? System.Web.Mvc
命名空间消失了,这是AreaRegistrationContext的位置。我开始在GitHub上查看MVC源代码。我找到了Area attribute。但是,我不知道现在如何使用它。在ASP.NET 5中使用区域
有人可以向我解释(或提供链接)如何使用ASP.NET vNext中的区域?
谢谢!
我有一个ASP.NET vNext(5)项目。我正在尝试在项目中添加两个区域。我的问题是,如何在vNext中注册区域? System.Web.Mvc
命名空间消失了,这是AreaRegistrationContext的位置。我开始在GitHub上查看MVC源代码。我找到了Area attribute。但是,我不知道现在如何使用它。在ASP.NET 5中使用区域
有人可以向我解释(或提供链接)如何使用ASP.NET vNext中的区域?
谢谢!
在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
{ //... }
GitHub的链接似乎被打破 – eiu165 2016-01-06 16:28:15
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