View结构

其实给我们提供了官方的MvcDemo,就是在我们直接去新建一个不为空的MVC项目。

MVC5-5 Razor引擎及视图结构

 

这里就是一个MVC的Demo了,可以看一下这个Demo中View的结构是什么

MVC5-5 Razor引擎及视图结构

上图可以发现,有一个Shared(共享)文件夹,先从这个文件夹看起,下图可以看到,里面分别有_Layout.cshtml,_LoginPartial.cshtml,Error.cshtml以有Lockout.cshtml。

  • _Layout.cshtml 这个视图相当与母版页,把网站共有的部分放在这个view中。其它的视图就不需要再去写重复的代码,比如顶部导航与底部信息
  • _loginPartial.cshtml  从名字可以看出来 登录分布页。在_layout中放有共有的部分,但是如果代码太多也会影响到阅读性,使用分布页面。可以使得代码更加简洁,分布页可以使用 Html.Partial去引用
  • Error.cshtml 这个就很简单了,是一个错误页面。其它view都将使用Error.cshtml做错误页面展示
  • Lockout.cshtml 这个没什么特别的,仅是一个视图而已。

MVC5-5 Razor引擎及视图结构

 

在Views文件夹还可以发现有一个叫做_ViewStart的视图,通过名字就可以清楚的看到,这个视图先与其它的视图执行。

那么_viewstart有什么用呢? 下面有这个一个场景,我们的视图需要达到一定的条件才可以去使用母版页反之不用。就可以使用_ViewStart进行 统一设置 下图我简单写了一下,如果随机数是偶数,那么使用母版页。奇数则不用

MVC5-5 Razor引擎及视图结构

 

 

Razor简单语法

在还没有Razor的时候,有很多其它的视图引擎。但是Razor出现的时候,其它的就慢慢的消失了。可见其强大。

Razor可以让我们在视图中去写C#代码。简单的截一张图,对下面的Razor语法进行分析

MVC5-5 Razor引擎及视图结构

  • @using 引用程序集,这个应该没有什么疑惑了
  • @{} 包含块,可以在里面写一些逻辑代码,图中也可以看到进行了if判断
  • @xxxx 这里xxxx可以是一个变量。在开发中常用@ViewBag.xxx,这些写法是把这个变量值显示在这个位置。
  • @Html.xxx() 可以看到很多这个的代码,这种是进行调用我们后端类的方法并把返回值显示在这个位置。Html全名HtmlHelper,还有AjaxHelper。是微软为我们封装的一种常用的方法。比如下拉框、ajax提交等
  • 其实我们还会经常在视图页看到@model,我们可以在Controller中返回Model。也是一种数据传输的方法

本文就到这里,下一篇讲Razor中的帮助类、HtmlHelper、AjaxHelper

相关文章:

  • 2022-01-17
  • 2022-03-02
  • 2022-12-23
  • 2022-12-23
  • 2021-09-16
  • 2021-06-20
  • 2021-12-14
  • 2021-09-02
猜你喜欢
  • 2021-04-13
  • 2022-02-07
  • 2021-07-16
  • 2021-09-05
  • 2022-01-05
  • 2021-08-21
相关资源
相似解决方案