zoukankan      html  css  js  c++  java
  • Razor基础语法一

    什么是Razor?

    Razor是基于服务端代码转换成网页的标记语法。语法主要包括Razor标记、C#和HTML组成。包含Razor语法的主要文件是.cshtml。

    渲染HTML

    Razor的默认语言是HTML,从Razor渲染成一个HTML跟直接的一个HTML没什么区别,Razor包含如下代码:

    <p>我是中国人</p>
    

    服务器渲染后还是<p>我是中国人</p>,没啥区别。

    Razor语法

    Razor支持C#,并通过使用 @ 符号从HTML切换到C#,并运算C#表达式并将之渲染为HTML输出。Razor能通过指定的标记从HTML切换到C#,当 @ 符号后面紧跟一个Razor保留字,则将切换为Razor特定标记,不然的话切换到成普通的C#。

    如果HTML中需要包含 @ 的话,需要用@@符号进行转义。

    <p>@@Email</p>

     渲染后:

    <p>@Email</p>

     这样就不会因为HTML特性和内容中包含邮件地址@符号,而勿将@符号处理为转义字符。

    隐式 Razor 表达式

    隐式Razor表达式起于"@"符号,后面紧跟C#代码,比如:

    <h2>@DateTime.Now</h2>

     注意:隐式表达式都不能包含空格。否则分析器会报如下错误:

     在 "@" 字符后面遇到了空格或换行符。只有有效的标识符、关键字、注释、"(" 和 "{" 在代码块开头才有效,并且它们必须紧跟在 "@" 后面,中间没有空格。

    表达式

    显式表达式包含一对括号的 符号,比如在页面上渲染上周的时间:

    <h2>@(DateTime.Now-TimeSpan.FromDays(7))</h2>

    任何在 @() 内的内容都会被运算并渲染输出,同时也不能包含空格。比如如下代码:

    <h2>@DateTime.Now-TimeSpan.FromDays(7)</h2>

     渲染后:

    2016/10/24 22:39:49-TimeSpan.FromDays(7)

    同时也可以使用@{}显示表达式结果中把这点连接起来:

    @{
        var swich = new Person("Swich", 27);
     }
     <h2>@(swich.Age)</h2>

    如果写成@(swich.Age)这种非显示表达式,那么它会当做邮件地址来处理渲染成为<h2>@swich.Age</h2>。当为显式表达式时,将渲染为<h2>27</h2>。

  • 相关阅读:
    给Apache增加SSI支持(shtml的奥秘)
    Raphael实现商品来源去向图
    有趣的居中方式
    oc-基本语法
    APMServ 配置记录
    解决Mac Chrome打开HTTPS证书错误问题
    JavaScript生成GUID的算法
    Backbone模型
    利用apply和arguments复用方法
    软件复用的几种方式
  • 原文地址:https://www.cnblogs.com/liujie2272/p/12974384.html
Copyright © 2011-2022 走看看