zoukankan      html  css  js  c++  java
  • MVC – 7.Razor 语法

    7.1 Razor视图引擎语法

    Razor通过理解标记的结构来实现代码和标记之间的顺畅切换。

    @核心转换字符,用来 标记-代码 的转换字符串。

    语境A:

    @{

    string rootName="GZCZ";

    }

    <span>@rootName.Models</span> 错误

    <span>@(rootName).Models</span>

    语境B:

    <span>JamesZou@Itcast.us</span> 通过,因为@前面没有空格

    <span>JamesZou @Itcast.us</span>不通过,因为@前面有空格

    7.2 Razor表达式自动使用了HTML编码 (√)

    代码:razorView.cshtml(html输出)
    代码:razorView.cshtml(html输出)
    
    <div>
            <!--7.1 输出html字符串(自动转义输出字符串中的<>)-->
            @{
    string html = "<input type='text'></input>";
            }
    @html
    
            <!--7.2 输出html字符串(不转义)-->
            @Html.Raw(html)
        </div>

    image

    image

    7.3 js代码防止转义

    <script>
                alert("@Ajax.JavaScriptStringEncode(ViewBag.htmlStr)")
            </script>

    7.4 代码块

    <!--7.4 代码块-->
            @{string s = "Hi~";
              int age = 11;
            }

    7.5 无返回值方法,在当前视图中传递参数给另一个视图(√)

    <!--7.5 调用无返回值方法,要加大括号 && 在当前视图中传递参数 给另一个视图-->
            @{ViewData["partData"]="幻影车神3";}
    @{Html.RenderPartial("~/Views/Home/First.cshtml");}
    <!--7.5 调用有返回值方法,不用加大括号 && 因此@后直接跟变量或带返回值方法-->
            @Html.TextBox("12121212")
    ~/Views/Home/First.cshtml
    ~/Views/Home/First.cshtml
    
    @{
        Layout = null;
    }
    
    <!DOCTYPE html>
    
    <html>
    <head>
        <meta name="viewport" content="width=device-width" />
        <title>First</title>
    </head>
    <body>
        <div>
            @for (int i = 0; i < 10; i++)
            {
                <div style="background:#00ffff">222</div>
                
                //这里是从~/Views/Students/razorView.cshtml传递过来的ViewData["partData"]
                @ViewData["partData"]
            }
            
        </div>
    </body>
    </html>
    

    image

    7.6 注释

    <!--7.6 注释-->
            @*哈哈哈哈哈*@

    7.7 在C#代码块中直接输出字符串文本(√)

    <!--7.7 在C#代码块中直接输出字符串文本-->
            @{
    //1.<text>
                <text>一行白鹭上青天</text>
    //2.@:
                @:千里江陵一日还
            }

    image

    7.8 @@转移

    <!--7.8@转义-->
            @@包租婆,没水啦~~~

    7.9 调用泛型方法

    调用泛型方法,需要特殊语法:加上一对小括号:

    @(Html.SayHi<string>())

    了解:

    数据类型转换

    用As....()方法转换,如:@("211".AsInt())

    数值类型判断

    用IsInt()方法,如 @(strAge.IsInt()?"是":"否")

    路径转换

    用Href()方法,如: @Href("~/Home/Index");

    7.10 HtmlHelper重用:相当于是在 视图中 定义 方法

    image

    作者:唐三三
    出处:http://tangge.cnblogs.com
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

  • 相关阅读:
    移动端调试解决方案-转载
    移动端调试工具-Weinre
    css颜色大全-转载
    目录
    多版本python import 问题解决方案
    annoy安装
    word2vec
    GBDT
    Adaptive Boosting
    融合模型Aggregation
  • 原文地址:https://www.cnblogs.com/tangge/p/3737953.html
Copyright © 2011-2022 走看看