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

两个引擎语法完全不一样,性能上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. 用Dockerfile构建docker image

    dockerfile是为快速构建docker image而设计的,当你使用docker build 命令的时候,docker 会读取当前目录下的命名为Dockerfile(首字母大写)的纯文本文件并执 ...

  2. 关于安卓的log学习

    什么时候会产生log文件? 1. 程序异常退出 Uncaused Exception. 2. 程序强制关闭 Force Closed(FC). 3. 程序无响应 Application No Resp ...

  3. FatMouse's Speed(HDU LIS)

    FatMouse's Speed Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...

  4. 论JS的重要性

    最近有学习了JavaScript,学习的过程中发现js对于前端工程师来说可以是最终要的一部分. 个人认为js就是一门语言,如果把前端比作一个人的身体,那么html就是一个人的结构,css就是这个人长的 ...

  5. HttpContext请求上下文对象

    一.HttpContext概述 HttpContext基于HttpApplication的处理管道,由于HttpContext对象贯穿整个处理过程,所以,可以从HttpApplication处理管道的 ...

  6. C# log Helper

    using System; using System.Collections.Generic; using System.Text; using System.Data.SqlClient; usin ...

  7. Android的debug.keystore拒绝访问导致的生成异常及解决方案

    构建Android应用程序的时候输出异常:[apkbuilder] keytool 错误: java.io.FileNotFoundException: C:\Users\my\.android\de ...

  8. 《Java web 开发实战经典》读书笔记

    去年年末,也就是大四上学期快要结束的时候,当时保研的事情确定了下来,终于有了一些空闲的时间可以学点实用的技术. 之前做数据库课程设计的时候,也接触过java web的知识,当时做了一个卖二手书籍的网站 ...

  9. 更新ORACLE数据时遇到锁死情况的处理

    我们在操作数据库的 时候,有时候会由于操作不当引起数据库表被锁定,这么我们经常不知所措,不知怎么给这些表解锁,在pl/sql Developer工具的的菜单“tools”里面的“sessions”可以 ...

  10. 2013长沙网络赛H题Hypersphere (蛋疼的题目 神似邀请赛A题)

    Hypersphere Time Limit: 1 Second       Memory Limit: 32768 KB In the world of k-dimension, there's a ...