【无私分享:ASP.NET CORE 项目实战】目录索引html
在Asp.net Core VS2015中,咱们发现还有不少不太简便的地方,好比右击添加视图,转到试图页等功能图不见了,虽然咱们能够经过工具栏的自定义命令,把这两个右击菜单添加上,可是貌似是灰色的不能用。
web
其实,这样也好,经过手动建立,更让咱们深入的理解MVC以及路由之间的关系,不少人认为底层的东西是高大上的,好比一提到汇编,不少人感受牛的不行不行的,其实术业有专攻,作程序的感受搞核电的很牛,搞核电的一样也感受作程序的很牛,可是经过手动的建立MVC以及路由,除了让咱们深入的理解MVC以外,也在必定程度上知足了有这种想法的朋友。浏览器
咱们在以前的版本中中添加区域,一般是直接右击 → 添加区域,在建立的区域目录中,自带区域的路由配置。以下:工具
这实际上是十分方便的,可是在VS2015 中,添加选项里没有了区域这个选项,咱们只能经过手动的方式来建立区域:post
① 添加区域文件夹 Areas 并在区域文件下 添加文件夹 SysManage学习
② 在SysManage下新建两个文件夹 Controllers(控制器) 和 Views(视图)测试
③ 添加一个控制器 AccountController url
注意:AreaAttribute 名称要和文件夹名称一致spa
④ 咱们在 Views 文件夹下,新建一个文件夹 Account (与控制器名称一致),而后添加视图 Index.cshtml.net
⑤ 在Startup.cs 下,添加区域路由配置 routes.MapRoute("areaRoute", "{area:exists}/{controller}/{action=Index}/{id?}");
这样,咱们区域就添加完了,咱们来测试一下:
修改在以前的版本中,对于 _ViewStart.cshtml 你们都很熟悉,就是一个在呈现View文件的时候的启动文件,会在全部View(.cshtml)被执行以前执行,好比设置Layout = "~/Views/Shared/_Layout.cshtml";这样的语句,只需在_Viewstart.cshtml写一遍就能够了。
在这个版本中,新增了一个_ViewImports.cshtml文件,这个文件的主要做用就是提供命名空间可用于全部其余视图。在之前的MVC项目,这个功能是经过在视图文件夹中的web.config文件提供;因为Web.config再也不存在,全局命名空间是由_ViewImports.cshtml提供。
咱们先无论这个文件,咱们来添加一个TagHelper 标签:
咱们发现,TagHelper 貌似不行,咱们能够经过浏览器测试一下,其实在VS2015中,若是能够,这里应该是加粗的,咱们看下系统自带的样例中TagHelper:
这是为何呢?是由于咱们没有添加 TagHelper的引用。咱们添加一下引用 @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
咱们再看下咱们刚才建立的两个TagHelper标签:
咱们发现TagHelper已经起做用了,咱们刚才讲过 _ViewImports.cshtml 是一个提供全局命名空间的文件,那么咱们没有必要每一个视图文件都添加一条这个引用吧,咱们添加一个全局的引用,让每一个试图页都引用TagHelper就行了
咱们在 Areas 的 Views 文件夹下添加一个 _ViewImports.cshtml :
而且添加TagHelper引用:
咱们删掉Account\Index.cshtml 的 TagHelper 引用,咱们看下:
一样的,咱们也能够在 _ViewImports.cshtml 添加一些模型的命名空间的引用:
但愿跟你们一块儿学习Asp.net Core
刚开始接触,水平有限,不少东西都是本身的理解和翻阅网上大神的资料,若是有不对的地方和不理解的地方,但愿你们指正!
虽然Asp.net Core 如今很火热,可是网上的不少资料都是前篇一概的复制,因此有不少问题我也暂时没有解决,但愿你们能共同帮助一下!
原创文章 转载请尊重劳动成果 http://yuangang.cnblogs.com
---恢复内容结束---