zoukankan      html  css  js  c++  java
  • Razor语法(五)

    约定:客户端代码称C域,服务器端代码称S域

    0. 基本原则
    Razor模板默认是C域(与php、aspx相同)
    任何C域都可以内嵌S域
    行内S域不可内嵌C域,多行S域可内嵌任何C域
    @符号是关键符号,使用@从C域向S域切换
    使用标签从S域向多行C域切换,使用@:从S域向行内C域切换

    1. 行内S域的几种形式
    @变量  例如:@User.Name,变量或属性结束后自动变回C域,如遇结束判断有歧义,请加括号如下
    @( 表达式 )  例如:@(i + 1) 或 @(User.Name)
    @方法调用  例如:@Html.TextBox("username").ToString()

    2. 多行S域的几种形式
    @{ 代码块 }
    @if (条件) { 代码块 }
    @switch (条件) { 分支匹配代码块 }
    @for (循环控制) { 代码块 }
    @foreach (循环控制) { 代码块 }
    @while (循环控制) { 代码块 }
    @do { 代码块 } while (循环控制);

    3. 行内C域的形式
    @:行内文字,换行自动变回S域

    4. 多行C域的几种形式
    任何标签对  例如:<div>多行文字</div>
    任何自闭合标签  例如:<img 多行属性 />
    纯文字使用伪标签<text>  例如:<text>多行文字,两侧标签不会被输出</text>

    5. 冲突解决
    电子邮箱可自动识别并输出  例如:hello@hotmail.com 会以文字形式正确输出
    误判的解决  例如:hello@User.Name 会误判为电子邮箱,应加括号解决,即:hello@(User.Name)
    非电子邮箱,则使用@@转义输出单个@

    6. 预设指令符
    @model 指定视图使用的模型
    @section 指示开始一个节的定义
    @helper 定义一个HtmlHelper扩展

  • 相关阅读:
    Zabbix的前台SQL注射漏洞利用
    LeetCode OJ--Permutation Sequence *
    LeetCode OJ--Next Permutation *
    LeetCode OJ--Permutations II
    LeetCode OJ--Permutations *
    小算法-计算下一个排列
    LeetCode OJ--Gas Station**
    LeetCode OJ--Insert Interval **
    LeetCode OJ--Search Insert Position
    Ruby自动化测试(操作符的坑)
  • 原文地址:https://www.cnblogs.com/easypass/p/2247326.html
Copyright © 2011-2022 走看看