首页 > 其他 > 详细

Razor视图引擎的基本概念与法语

时间:2014-04-04 15:06:41      阅读:522      评论:0      收藏:0      [点我收藏+]

Razor 视图引擎的特点:

  • 简洁、富于表现、流畅

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

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

    aspx代码

    

1
2
3
4
5
6
7
8
9
<ul>
         <% foreach(var str in list ){
            %>
            <li>
            <%=str %>
            </li>
            <%
            } %>
      </ul>

   Razor代码

<ul>
@foreach (var str in list) { 
<li>@str</li>
}
</ul>

 

  • 易于学习

       对于有过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创建委托是为以复用视图逻辑

1
2
3
4
5
@{
    Func<dynamic, object> b = @<strong>@item</strong>;
    }
 
@b("这样会给字体加粗!")

  内容中混合代码

  

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<ul>
 @foreach (var str in list)
 {
     <li>
    @if (isTrue)
    {
      @: isTrue 为 @isTrue  
    }
    else
    {
      @:(isTrue 为 @isTrue)
    }
     </li>
 }
</ul>

  多行内容混合代码

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

1
2
3
4
5
6
7
8
@if (isTrue)
{
    <p>
    现在时间<br />
    现在时间是:@DateTime.Now<br />
    现在时间<br />
    </p>
}

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
@if (isTrue)
{
     
    @:现在时间<br />
    @:现在时间是:@DateTime.Now<br />
    @:现在时间<br />
      
}
 
 
@if (isTrue)
{
    <text>
    现在时间<br />
    现在时间是:@DateTime.Now<br />
    现在时间<br />
    </text>
}

  

 

 

Razor视图引擎的基本概念与法语,布布扣,bubuko.com

Razor视图引擎的基本概念与法语

原文:http://www.cnblogs.com/ljx2012/p/3644864.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!