• ASP.NET MVC3.0 Razor 视图模板 语法


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

  • 相关阅读:
    [Install] TeamViewer
    [2017
    [2017 ACL] 对话系统
    [2018 ACL Short and System] 对话系统
    Git分支创建与合并
    Git常用命令
    JSONObject转换分析
    数据库行锁实现
    Jenkins安装
    Tomcat热部署,Web工程中线程没有终止
  • 原文地址:https://www.cnblogs.com/haiyabtx/p/2314508.html
Copyright © 2020-2023  润新知