博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Razor视图引擎的基本概念与法语
阅读量:5757 次
发布时间:2019-06-18

本文共 1688 字,大约阅读时间需要 5 分钟。

Razor 视图引擎的特点:

  • 简洁、富于表现、流畅

    尽量减少页面代码的输入,实现快速流畅的编程工作

    不必明确为服务器代码标记起始与结束符,Razor 能智能判断,这样让页面看清洁,代码方便阅读

    aspx代码

    

    <% foreach(var str in list ){ %>
  • <%=str %>
  • <% } %>

   Razor代码

    @foreach (var str in list) {
  • @str
  • }

 

  • 易于学习

       对于有过WEB开发经验的人来说, 能快速学会,就几个需要注意的点

  • 支持单元测试         

 

 

Razor的基本语法

  伟大的@标记

  @标记是Razor的根本,服务器端代码段都以@开始 

  代码块

  

@{    var i = 100;    var str = "Holle world!";    }

  HTML编码

  @输入都是经过编码的,如果不需要编码,需要使用@Html.Raw(str)

      代码与纯文本混合

  方式一、用<text>输出的文本内容</text>

@for (int i = 0; i < 10; i++)

{
<text>Holle world</text> 
}

  方式二、使用 @: 输出

@for (int i = 0; i < 10; i++)

{
 @:Holle world
}

表达式与文本混合

Holle @FirstName . @LastName .

 

EMAIL地址

  151279853@qq.com

  Razor可以自动认别Email地址,而不会做服务器代码执行

输出@符号

  当页面需要输出@符号时,连续两次@@ 这样输出,与C#的转义字符类似。

显示输出

  当@与前面的文本之间无空间时,需要使用()号输入,如 <text> Hello@(UserName) </text>(<text>标记其实是为了让Razor把<text>当HTML标签处理,但不输出)

服务器断注释

  @*

    This is server side

    This is server side

  *@

 Razor创建委托

  Razor创建委托是为以复用视图逻辑

@{    Func
b = @
@item; }@b("这样会给字体加粗!")

  内容中混合代码

  

    @foreach (var str in list) {
  • @if (isTrue) { @: isTrue 为 @isTrue } else { @:(isTrue 为 @isTrue) }
  • }

  多行内容混合代码

当多行内容在HTML闭合的标签中时,可以直接使用@

@if (isTrue){    

现在时间

现在时间是:@DateTime.Now
现在时间

}

    当多行内容不在HTML闭合标签中时,需要使用行输出标记@: 或 <text></text>标记

@if (isTrue){        @:现在时间
@:现在时间是:@DateTime.Now
@:现在时间
}@if (isTrue){
现在时间
现在时间是:@DateTime.Now
现在时间
}

  

 

 

转载于:https://www.cnblogs.com/ljx2012/p/3644864.html

你可能感兴趣的文章
centos5.9使用RPM包搭建lamp平台
查看>>
[LeetCode] Merge Intervals
查看>>
Struts2 学习小结
查看>>
在 Linux 系统中安装Load Generator ,并在windows 调用
查看>>
/etc/resolv.conf文件详解
查看>>
Django_4_视图
查看>>
Linux的netstat命令使用
查看>>
IntelliJ IDEA 连接数据库详细过程
查看>>
android学习笔记——onSaveInstanceState的使用
查看>>
工作中如何做好技术积累
查看>>
apache安装报错undefined reference ssl
查看>>
java.lang.UnsatisfiedLinkError:no dll in java.library.path终极解决之道
查看>>
【跃迁之路】【460天】程序员高效学习方法论探索系列(实验阶段217-2018.05.11)...
查看>>
C++入门读物推荐
查看>>
TiDB 源码阅读系列文章(七)基于规则的优化
查看>>
webpack+typescript+threejs+vscode开发
查看>>
微信分销系统商城营销5大重点
查看>>
求职准备 - 收藏集 - 掘金
查看>>
C++与MySQL的冲突
查看>>
siki学习之观察者模式笔记
查看>>