asp.net - 在 ASP.NET 5 中使用区域

标签 asp.net asp.net-mvc

我有一个 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/

相关文章:

c# - Context.User 在 Global.asax.Application_AuthenticateRequest 中分配后失去角色

c# - 缓存 Asp.Net 不存在 Asp.Net 5

html - 如何阻止网页滚动

asp.net - SqlCeException 数据库以只读连接打开

c# - 我如何在 .Net 控制台应用程序中获取不记名 token ?

c# - 多个数据库上下文

javascript - 无论先前的元素长度如何,如何将 anchor 对齐到中心

sql-server - 当 Integrated Security=false 时,CREATE DATABASE 权限在数据库 'master' 中被拒绝 - 为什么尝试创建已存在的数据库?

asp.net - PHP 的 memory_get_usage 的 .NET 等价物是什么?

asp.net - session 过期事件?