zoukankan      html  css  js  c++  java
  • MVC3 Razor 视图引擎的基础语法

    1._开头的cshtml文档将不能在服务器上访问,类似Global.asax等文件

    2.服务端代码必须在@{}之间,要输出@符号可以用@Html.Encode("@")或者@@转义

      ()用来显示支持代码表达式,如:

    @{
        ViewBag.Title = "Sample";
        string AppName = "MyApp";
    }
    <h2>@AppName.Model</h2>

     目的是想输出<h2>MyApp.Model<h2>,这里引擎无法正确识别.的意义,要能够达到预期效果,需要将AppName用括号括起来:

    @{
        ViewBag.Title = "Sample";
        string AppName = "MyApp";
    }
    <h2>@(AppName).Model</h2>

    另一个例子,防止引擎解析为邮箱,为了输出Item_4

    @{
        ViewBag.Title = "Sample";
        string test = "ssss";
    }
    <h1>Item_@(test.Length)</h1>

    还有泛型方法等也需要显示使用(),因为"<"标记会使Razor转回标记
    3.可以再@{}之间直接输入标签

    @{   
          <p>text</P>    
         <div>div1</div>
    }

    @{}间不能直接输入非标签内容可以用@:单行输出

    @{    
         @: text    
         @:text 
    }

    或者用<text>输出多行

      @{
          <text> 
             sada
             safas
             fa
          </text>
      }

     4. @model 强类型模型定义,模型在控制器中传入  例:

        @model MvcApplication1.Models.Class1

        类型需要完全限定,不想完全限定类名,可以用@using 导入命名空间,或者在Views\web.config的  <system.web.webPages.razor>配置节加上默认导入的命名空间

    5. @section节点关键字

       类似placeholder

       在布局页中定义@RenderSection("header",true)或@RenderSection("header",false)

       子页中使用@section header{}填充

      母版页中的@Renderbody()使用子页默认内容填充

      可以加入自定义的默认填充内容

             @if (IsSectionDefined("foot")) {
                 @RenderSection("foot");
             }
             else {
                 @: No foot 
             }

    6.注释块 @*  *@之间内容为服务端注释,不会被执行,也不会输出到客户端

      

  • 相关阅读:
    JEECG开发总结
    ehcache集群的配置
    spring拦截器
    spring的基本配置
    kindeditor编辑器
    jQuery中的Ajax
    表单验证
    Python中的Random模块
    Open vSwitch FAQ (二)
    Open vSwitch FAQ (一)
  • 原文地址:https://www.cnblogs.com/FlyCat/p/2571237.html
Copyright © 2011-2022 走看看