• aspx和razor的区别


    两者几乎都不懂,现在要选择一种,只能百度,然后一条一条看,也不知道诸位大神哪个说的对。

    两个引擎语法完全不一样,性能上Asp.Net略占优势,语法糖则是razor的强项。

    开发MVC3首选razor
    Razor 是主流。。语法不一样
    Razor 简洁
    @{} and <% %>  

    cshtml 使用 razor rendering engine

    aspx 使用 webform engine

    语法不同

    这两个文件里插入asp标签的方式不一样,前者比后者简单明了。如果用前一种方式开发,不再可以拖拽各种服务器段控件了。别的就不知道了,我的web开发经验极少,就知道怎么多,前一种方式是微软推荐的方式

    Razor与Aspx的区别
    

    Razor

    Aspx

    @{     int a = 123;     string b = "demoshop";  }
    <%     int a = 123;     string b = "demoshop";
    %>
    <div>     @Model.Content
    </div>
    <div>     <%:Model.Content %>
    </div>
    <div>     @Html.Raw(Model.Content)
    </div>
    <%foreach (var item in collection)     {%>         <span><%:item.Key %></span>
    <%} %>
    @foreach (var item in collection)
    {     @:我是純文字 @item.Value
    }
    <%foreach (var item in collection)     {%>         我是純文字 <%:item.Key %>
    <%} %>
    @for (int i = 0; i < 3; i++)
    {     @:目前是第 @i.  }
    <%for (int i = 0; i < 3; i++)   {%>       目前是第<%=i %>.
    <%} %>
    @(Model.Content == "" ? "沒貨" : Model.Content)
    <%:Model.Content==""?"沒貨": Model.Content%>
    @*注解*@
    <%--注解--%>

    (二)常用的地方

    1.@转义
    写法:@@
    实例:shuxin556@@163.com

    2.@注释
    写法:@**@

    3.取request
    例如:@Request.Url

    4.@@作用域和Html混合使用
    作用域使用{}描述,在作用域内可以直接输出html.
    例如:@{
                //定义变量i
                int i = 1;
                <em>12</em>
                <br />
            }

    5.在@作用域中输出内容
    写法:@:
    例如:
             @{
                int j = 1;
                @:div中直接输出内容<br />
                @:<br />
                <div>@j=6</div>
                @j
                <br />
            }

    6.在@作用域中输出HTML方法1
    使用字符串描述输出
    例如:
    @{
                string html = "<b>wo shi html</b>";
                @html

    7.在@作用域中输出HTML方法2
    使用HtmlHelper输出
    例如:
    @{
       @Html.Raw(html)

    8.在@作用域中输出HTML方法3
    使用HtmlString类输出
    例如:
    @{
    var html2 = new HtmlString("<b>wo shi html</b>");
                @html2

    9.在@作用域中输出HTML方法4
    使用MvcHtmlString类输出
    例如:
    @{
    var html3 = MvcHtmlString.Create("<b>wo shi html</b>");
                @html3

    10.处理泛型<>冲突问题
    我们可以使用()把语句括起来
    例如:
    @(list.ToList<Char>());

    11.@数据类型转换
    使用AsDecimal()方法转换
    例如:
    @("123".AsDecimal()+1)

    12.@数字类型判断
    使用IsInt()方法
    例如:
    @("123".IsInt()?"是":"否");

    13.@bool类型转换
    使用AsBool()方法转换
    例如:
    @("true".AsBool())

    14.@bool类型判断
    使用IsBool()方法判断
    例如:
    @("True".IsBool()?"是":"否")

    15.日期类型转换
    使用AsDateTime()方法转换
    例如:
    @("2011/4/11".AsDateTime().ToLongDateString())

    16.路径转换
    使用Href()方法转换
    例如:
    @Href("~/")

    看到这里,我觉得如果不是适用范围aspx比较大的话,那还是razor语法更简洁,决定使用razor

    前者应该是后者的更新,我在Mybatis中也见过类似更新

    两者区别应该仅此而已

  • 相关阅读:
    网络流入门
    Sereja and Swaps(贪心+暴力枚举区间)
    multiset
    欧拉路
    整除分块
    蓝魔法师
    选点
    F. Tree with Maximum Cost(换根)
    “db2执行sql语句,注释没了”的解决办法
    Mybatis中的自带Mapper方法
  • 原文地址:https://www.cnblogs.com/mihe/p/4004699.html
Copyright © 2020-2023  润新知