我有一个 ASP.NET vNext (5) 项目。我正在尝试向项目添加两个区域。我的问题是,如何在 vNext 中注册区域? System.Web.Mvc
命名空间消失了,这就是 AreaRegistrationContext 所在的位置。我开始在 GitHub 上查看 MVC 源代码。我找到了 Area attribute .但是,我现在不确定如何使用它。
有人可以向我解释(或提供链接)如何在 ASP.NET vNext 中使用区域?
谢谢!
最佳答案
在 vNext 中,您注册和配置将在 Startup.cs 中使用的服务。区域路由像普通路由一样添加。这里有一个样本:https://github.com/aspnet/Mvc/blob/a420af67b72e470b9481d6b2eca29f7c7c2254d2/samples/MvcSample.Web/Startup.cs
您可以为这样的区域添加 MVC 路由:
app.UseMvc(routes =>
{
routes.MapRoute("areaRoute", "{area:exists}/{controller}/{action}");
});
或者你可以使用这样的路由属性:
[Route("[area]/Home")]
[Area] 属性装饰包含在该区域中的 Controller 。它只需要一个参数,即区域的名称。这是一个例子:https://github.com/aspnet/Mvc/blob/a420af67b72e470b9481d6b2eca29f7c7c2254d2/samples/MvcSample.Web/Areas/Travel/Controllers/HomeController.cs
[Area("Travel")]
public class HomeController : Controller
{ //... }
关于asp.net - 在 ASP.NET 5 中使用区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27254771/