Razor 视图文件扩展名为 cshtml 或者 vbhtml , 现在主要讨论 cshtml。

@ 定义 Razor 语句

1
2
3
4
5
<h2> Name: @Model.Name </h2>
Time View Rendered: @Date.Time.ToShoarTimeString()
@if (Model.Category == "Watersports") {
   <p> @Model.Category <b>Splash!</b> </p>
}

@: 输出单行不是以 html 标记开头的, 并且要包含 html 标记的内容

1
2
3
@if (Model.Category == "Watersports") {
   @: Category: @Model.Category <b>Splash!</b>
}

<text></text> 输出多行包含 html 标记的内容

1
2
3
4
5
6
7
8
@if (Model.Category == "Watersports") {
   <text>
   @: Category: @Model.Category <b>Splash!</b>
   <pre>      Row, row, row your boat,
      Gently down the stream ...
   </pre>
   </text>
}

@model 表示使用模型对象的类型

@model Razor.Models.Product

@{} 表示代码段

1
2
3
4
5
6
7
8
@{
   if (Model.Category == "Watersports") {
      @: Category: @Model.Category <b>Splash!</b>
   }
   if (Model.Price > 10) {
      <h5>Pricey!</h5>
   }
}

使用布局页面

在 cshtml 文件的开头可以指定使用哪个布局页面, 例如:

1
2
3
@{
   Layout = "~/Views/Shared/_Layout.cshtml";
}

如果不指定 Layout 属性, Razor 引擎会检查 Views 目录下面的 _ViewStart.cshtml 文件, 这个页面指定了默认的布局页面。 如果不是用布局页面, 则需要在页面的开头添加声明如下: @{ Layout = null; } 以下划线 (_) 开头的视图文件不会返回给用户, 只能在服务端 cshtml 文件中进行引用。

@RenderBody() 渲染子视图

表示在此渲染子视图, 只能出现在布局页面中, 且只能出现一次。

@RenderPage 渲染另一个页面

表示在当前位置渲染另外一个页面。

@RenderSection(name, required) 渲染一个区域

表示在当前页面渲染一个区域, 区域名称在布局页面定义, required 表示该区域是否为可选的。

@region name {} 实现一个区域的内容

与布局页面的 @RenderSection 相对应, 实现布局页面的定义的区域。

张志敏所有文章遵循创作共用版权协议,要求署名、非商业 、保持一致。在满足创作共用版权协议的基础上可以转载,但请以超链接形式注明出处。

本博客已经迁移到 GitHub , 围观地址: http://beginor.github.io/

本文转自张志敏博客园博客,原文链接:http://www.cnblogs.com/beginor/archive/2011/12/11/2284055.html,如需转载请自行联系原作者

Razor 视图引擎学习相关推荐

  1. [转]ASP.Net MVC开发基础学习笔记(3):Razor视图引擎、控制器与路由机制学习

    [出处]http://www.cnblogs.com/edisonchou/p/3923475.html 关于机制的介绍,讲得不错,觉得可以参考着学习一下 1.1 千呼万唤始出来的MVC3.0 在MV ...

  2. MVC学习三:Razor视图引擎

    1.Razor视图引擎,主要是把View的HTML代码编译到View视图类对象中 转载于:https://www.cnblogs.com/WarBlog/p/7132611.html

  3. ASP.Net MVC开发基础学习笔记:三、Razor视图引擎、控制器与路由机制学习

    一.天降神器"剃须刀" - Razor视图引擎 1.1 千呼万唤始出来的MVC3.0 在MVC3.0版本的时候,微软终于引入了第二种模板引擎:Razor.在这之前,我们一直在使用W ...

  4. Razor视图引擎、控制器与路由机制学习

    1.1 千呼万唤始出来的MVC3.0 在MVC3.0版本的时候,微软终于引入了第二种模板引擎:Razor.在这之前,我们一直在使用WebForm时代沿留下来的ASPX引擎或者第三方的NVelocity ...

  5. ASP.Net MVC开发基础学习笔记(3):Razor视图引擎、控制器与路由机制学习

    一.天降神器"剃须刀" - Razor视图引擎 1.1 千呼万唤始出来的MVC3.0 在MVC3.0版本的时候,微软终于引入了第二种模板引擎:Razor.在这之前,我们一直在使用W ...

  6. ASP.NET MVC3 Razor视图引擎-基础语法

    I:ASP.NET MVC3在Visual Studio 2010中的变化 在VS2010中新建一个MVC3项目可以看出与以往的MVC2发生了很明显的变化. 1.ASP.NET MVC3必要的运行环境 ...

  7. ASP.NET MVC 3: Razor视图引擎中 @: 和text 语法【转载】

    ASP.NET MVC 3: Razor视图引擎中 @: 和<text> 语法[转载] (文章没翻译:建议大家读英文原文,看不懂查着看,顺便提高自己的英语水平!) In today's p ...

  8. Razor视图引擎浅析

    从Web Form开始,视图的机制其实就没改变过,动态编译视图脚本.所不同的是,Razor就仅仅是模板,没在嵌入与网站等相关的东西,应该是SRP的一个体现. 可惜,这种功能分离仍做得不彻底,MVC中, ...

  9. Razor视图引擎-基础语法

    Razor视图引擎-基础语法 原文:Razor视图引擎-基础语法 所有以 @开头 或 @{ /* 代码体 */ }  (在@与{直接不得添加任何空格) 的部分代码都会被ASP.NET引擎进行处理. 在 ...

最新文章

  1. C#生成pdf的源代码
  2. C++笔记——.和::和:和-的区别
  3. Flutter布局锦囊---男女性别单选
  4. 这个乐趣,使用芯片操作集成电路
  5. 第45届国际大学生程序设计竞赛(ICPC)银川站太原理工大学收获4枚奖牌
  6. 机器学习基础(十一)—— Logistic Regression 梯度更新公式的推导
  7. 在IDEA中Java项目如何创建测试类(Junit测试工具)
  8. 前端:分享几个前端素材网站
  9. 无人机三维建模(1) 调研
  10. TPH-YOLOv5: Improved YOLOv5 Based on Transformer Prediction Head forObject Detection on Drone-captur
  11. 10 个用于收集硬件信息的 Linux 命令
  12. C++11特性(详细版)
  13. 华晨宏盛让理财更有实用性的小窍门有哪些?最好的理财方法有哪些
  14. 组合总和(python实现)
  15. 【文件】Notepad3下载和配置
  16. 如何制作自己的系统镜像以及备份管理
  17. vercel.app无法访问
  18. Pandas--melt和pivot
  19. 数字系统设计Logsim实例 自主设计 学号音乐盒
  20. 价格术语trade term (price term)

热门文章

  1. 动手学深度学习(PyTorch实现)(七)--LeNet模型
  2. 交互系统的构建之(一)重写Makefile编译TLD系统
  3. mysql 1.42_MySQL索引(一)
  4. vue 悬浮按钮组件_如何搭建和发布一个 Vue 组件库
  5. mysql安装完只有黑框_MySQLMySQL的安装及安装中存在的问题
  6. toCharArray()和 charAt()的用法
  7. php之time的用法,php中time()与$_SERVER[REQUEST_TIME]用法区别
  8. 东华理工大学arm试卷_ARM东华理工大学2015-2016试卷A
  9. php编译安装swoole,PHP7 源码编译安装 Swoole 扩展
  10. 如何把局域网内不同数据库的两个表的数据进行传输?