zoukankan      html  css  js  c++  java
  • Razor引擎语法

    01 代码块

           @{

                  //单行注释

                  int x=123;

                  string y = "hello world";

                  var z = “how are you”;

           }

     

    02 渲染输出

           A 经过HTML编码

           <span>收到消息@{model.Message}@DateTime.Now </span>  @*注意空格*@

    <p>text @i.ToString()text</p     >@*变量方法输出,则不用加{},但要加在@前加空格。@*

          

           B 未经HTML编码

           <span> @Html.Raw(model.Message)  </span>

          

    03 代码和标记混合

           @foreach(var item in items){

                  <span> @model.Message </span>

           }

     

    04 代码和文本混合

           A 单行

           @if(foo){

                  @:原样文本

           }

          

           B 多行 (呈现没有被HTML元素包装的多行内容块变得方便)

           @if(foo){

                  <text>原样文本</text>

           }

          

    05 表达式与文本混合

           Hello @strTitleVar.  @strNameVar.    <!-- Hello zhang Mr. wang Ms. -->

           @{  var i = “10”; }  

    <p> i = @i.AsInt() </p>               <!-- 输出 i = 10 -->

          

    06 Email地址 Razor自动识别Email地址: wang123@163.com, 如果要输出@符号, 则应用@@进行转义, 或者使用HTML ASCII编码&#64;

        <span> 这是一个邮件连接符@@ </span>

           <span> 这是一个邮件地址wang123@163.com </span>

     

    07 显示渲染输出

        <span> ISBN @(strISBN) </span>

          

    08 服务器端注释

           @*

                  这是一个多行注释

                  换行的时候是这样的.

           *@

          

    09 渲染输出动态方法 @( )

           当前用户: @(userObject1.GetName())

          

    10 创建Razor委托

           @{

                  Func<dynamic, object> b =

                         @<strong> @strItem  </strong>

           }

          

           @b("Bold this")

          

    11 内容中混合代码

           <ul>

                  @foreach(var p in products){

                         <li>

                                @p.ProductName

                               

                                @if(p.Price == 0){

                                       @: (单价等于0,不正常哟!)

                                }

                                else if (p.Price <= 0.5){

                                       @: (价格才 @p.Price 太便宜了!)

                                }

                         </li>

                  }

           </ul>

          

    12 内容在HTML标记闭合中时, 不需要每行加@

           @if (p.UnitsInStock == 0){

                  <p>

                         第一行内容

                         第二行内容

                         时间: @DateTime.Now

                         第四行的内容

                  </p>

           }

          

    13 内容外部没有HTML标记包装时

           @if (p.UnitsInStock == 0){

                         @: 第一行内容

                         @: 第二行内容

                         @: 第三行内容

           }

          

           @if (p.UnitsInStock == 0){

                  <text>

                         第一行内容

                         第二行: 时间: @DateTime.Now

                         第三行内容

                  </text>

           }     

          

          

          

  • 相关阅读:
    Android中Context样式分析
    Android组件化实践
    插着USB mic开机时,系统没有声音问题
    Android7.1 解决ttyUSB串口节点不固定问题
    android中设置里面版本号的显示
    android7.1添加开机启动服务被selinux禁用问题
    Settings中删除一些默认的选项
    es8323codec调节录播音量大小
    user版本串口不能输入
    高新兴GM510模块调试
  • 原文地址:https://www.cnblogs.com/shi5588/p/2497201.html
Copyright © 2011-2022 走看看