zoukankan      html  css  js  c++  java
  • MVC5-5 Razor引擎及视图结构

    View结构

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

    image

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

    image

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

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

    image

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

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

    image

    Razor简单语法

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

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

    image

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

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

  • 相关阅读:
    html5 audio vedio and video.js
    webpack的require是如何工作的?
    webpack HMR是如何工作的?
    vuejs code splitting with webpack 3种模式
    how webpack Hot Module Replacement works
    C# checkedlistbox 控件 有bug
    C# DataGridView 更改类型 重绘
    C# webapi
    C# 遍历控件名称
    C# 转json
  • 原文地址:https://www.cnblogs.com/LiangSW/p/5862697.html
Copyright © 2011-2022 走看看