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

两个引擎语法完全不一样,性能上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中也见过类似更新

两者区别应该仅此而已

aspx和razor的区别的更多相关文章

  1. ASPX和Razor

    ASPX ASPX文件是微软的在server端运行的动态网页文件,通过IIS解析运行后能够得到动态页面,是微软推出的一种新的网络编程方法,而不是ASP的简单升级,由于它的编程方法和ASP有非常大的不同 ...

  2. .aspx和.aspx.cs之间的区别

    在vs里面创建一个web窗体会产生两种文件:后缀是.aspx和.aspx.cs. 简单的来说,.aspx是表现层,可以简单理解为是写html代码的,界面的设计部分:.cs是对应的逻辑代码,再通过特定的 ...

  3. .aspx文件和.aspx.cs文件的区别与联系

    http://zhidao.baidu.com/link?url=_SNw0EHJ8Wg__KanJrKQM3tVEUeFnVilZ6GGIN8ab69RLuyOWD__WyZb7Zb9dJjwDnL ...

  4. Razor内幕之解析

    ASPX语法比较简单,所以ASPX解析器几乎完全是通过正则表达式来实现的.Razor解析器与ASPX解析器之间有很大不同,它实际上分为三个独立的组件: 1)理解基础HTML语法的标记解析器: 2)理解 ...

  5. [转]MVC Razor模板引擎 @RenderBody、@RenderPage、@RenderSection及Html.RenderPartial、Html.RenderAction

    本文参考自下面文章整理 MVC Razor模板引擎 @RenderBody.@RenderPage.@RenderSection及Html.RenderPartial.Html.RenderActio ...

  6. Razor视图中的@:和语法

    Razor视图中的@:和语法 原创changuncle 最后发布于2016-12-07 17:43:50 阅读数 4456  收藏 展开 在MVC项目中新建视图的时候默认支持ASPX引擎和Razor引 ...

  7. mvc 4 razor语法讲解和使用

    1.这里的  @{Layout="文件路径";}  代码块指定了整个项目默认所使用的布局文件(如图:) @RenderBody()对于所有的页面默认的情况下都会使用这个布局(Web ...

  8. MVC4相关Razor语法以及Form表单

    Razor的布局(Layout) 默认建的工程都自带的了一个_ViewStart.cshtml文件,文件里面的代码如下: @{ Layout = "~/Views/Shared/_Layou ...

  9. Razor和HtmlHelper的使用意义

    Razor和HtmlHelper的使用意义 写这篇文档的目的是为了给初学MVC的同伴们介绍在MVC的View中的两个新概念,能有利于我们更快,更好的开发项目.一个是视图引擎,一个是HtmlHlper. ...

随机推荐

  1. Leetcode 104 Maximum Depth of Binary Tree python

    题目: Given a binary tree, find its maximum depth. The maximum depth is the number of nodes along the ...

  2. 关于Keil C51中using关键字的使用心得

    刚才看到一位很牛的师兄写的一篇日志中提到了Keil C51中using这个关键字的用法,粗心的我本来一直都没有留意它是用来干嘛的(因为我一般看见它都是在中断服务函数的定义开头处,好像没有了它也可以中断 ...

  3. C# GC 垃圾回收

    一.托管 .Net所指的托管资源到底是什么意思呢?是相对于所有资源,还是只限于某一方面的资源?很多人对此不是很了解. 其实.Net所指的托管只是针对内存这一个方面,并不是对于所有的元素:因此对于Str ...

  4. Cocos2d-x 2.1.5 简单动画

    Cocos2d新版本函数更改了一些. 下面的代码可以产生一个简单动画. //第一步:生成动画需要的数据 CCTexture2D *texture=CCTextureCache::sharedTextu ...

  5. 深入浅出Node.js (2) - 模块机制

    2.1 CommonJS规范 2.1.1 CommonJS的出发点 2.1.2 CommonJS的模块规范 2.2 Node的模块实现 2.2.1 优先从缓存加载 2.2.2 路径分析和文件定位 2. ...

  6. Entity Framework 技术参考:http://kb.cnblogs.com/zt/ef/

    Entity Framework 技术参考:http://kb.cnblogs.com/zt/ef/

  7. zoj3433(贪心+优先队列)

    Gu Jian Qi Tan Time Limit: 2 Seconds      Memory Limit: 65536 KB Gu Jian Qi Tan is a very hot Chines ...

  8. Java程序员面试题集(1-50)(转)

    转:http://blog.csdn.net/jackfrued/article/details/17339393 下面的内容是对网上原有的Java面试题集及答案进行了全面修订之后给出的负责任的题目和 ...

  9. 实现怎样支持Android重力感应器Sensor编程

    添加当重力变化时的处理函数 在创建监听器时调用的函数 doSomething(x, y, z) 是自己定义的方法. 当手机倾斜方向改变时,监听器会调用该方法. 我们要做的,就是填充该方法,用于在重力发 ...

  10. java中23种设计模式

    详情请看23种设计模式