• 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扩展

  • 相关阅读:
    你真的了解HTML吗?–雅虎面试题
    移动端meta 解释
    PLSQL导入导出表的正确步骤
    Linux命令学习之xargs命令
    python搭建简易Web Server
    python小项目练习之转换像素图片为字符图
    向量空间搜索引擎基本理论
    Elasticsearch 常用基本查询
    Elasticsearch配置参数介绍
    JavaWeb温习之防止表单重复提交
  • 原文地址:https://www.cnblogs.com/easypass/p/2247326.html
Copyright © 2020-2023  润新知