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> <%:Model.Content %> |
<div> @Html.Raw(Model.Content) |
<%foreach (var item in collection) {%> <span><%:item.Key %></span>
|
@foreach (var item in collection) |
<%foreach (var item in collection) {%> 我是純文字 <%:item.Key %>
|
@for (int i = 0; i < 3; 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的区别的更多相关文章
- ASPX和Razor
ASPX ASPX文件是微软的在server端运行的动态网页文件,通过IIS解析运行后能够得到动态页面,是微软推出的一种新的网络编程方法,而不是ASP的简单升级,由于它的编程方法和ASP有非常大的不同 ...
- .aspx和.aspx.cs之间的区别
在vs里面创建一个web窗体会产生两种文件:后缀是.aspx和.aspx.cs. 简单的来说,.aspx是表现层,可以简单理解为是写html代码的,界面的设计部分:.cs是对应的逻辑代码,再通过特定的 ...
- .aspx文件和.aspx.cs文件的区别与联系
http://zhidao.baidu.com/link?url=_SNw0EHJ8Wg__KanJrKQM3tVEUeFnVilZ6GGIN8ab69RLuyOWD__WyZb7Zb9dJjwDnL ...
- Razor内幕之解析
ASPX语法比较简单,所以ASPX解析器几乎完全是通过正则表达式来实现的.Razor解析器与ASPX解析器之间有很大不同,它实际上分为三个独立的组件: 1)理解基础HTML语法的标记解析器: 2)理解 ...
- [转]MVC Razor模板引擎 @RenderBody、@RenderPage、@RenderSection及Html.RenderPartial、Html.RenderAction
本文参考自下面文章整理 MVC Razor模板引擎 @RenderBody.@RenderPage.@RenderSection及Html.RenderPartial.Html.RenderActio ...
- Razor视图中的@:和语法
Razor视图中的@:和语法 原创changuncle 最后发布于2016-12-07 17:43:50 阅读数 4456 收藏 展开 在MVC项目中新建视图的时候默认支持ASPX引擎和Razor引 ...
- mvc 4 razor语法讲解和使用
1.这里的 @{Layout="文件路径";} 代码块指定了整个项目默认所使用的布局文件(如图:) @RenderBody()对于所有的页面默认的情况下都会使用这个布局(Web ...
- MVC4相关Razor语法以及Form表单
Razor的布局(Layout) 默认建的工程都自带的了一个_ViewStart.cshtml文件,文件里面的代码如下: @{ Layout = "~/Views/Shared/_Layou ...
- Razor和HtmlHelper的使用意义
Razor和HtmlHelper的使用意义 写这篇文档的目的是为了给初学MVC的同伴们介绍在MVC的View中的两个新概念,能有利于我们更快,更好的开发项目.一个是视图引擎,一个是HtmlHlper. ...
随机推荐
- mysql 关键字bug
今天运行语句 select * from order; 出现bug: ERROR 1064 (42000): You have an error in your SQL syntax; check t ...
- PHP ReflectionClass
<?php /** * @desc test reflectionclass * @author songweiqing * @create_time 2015-01-7 * */ class ...
- nginx中配置跨域支持功能
vi /etc/nginx/nginx.conf 加入如下代码 http { ###start#### add_header Access-Control-Allow-Origin *; add ...
- jQuery中$符号冲突问题 (转载)
Jquery的$命名冲突: 在Jquery中,$是JQuery的别名,所有使用$的地方也都可以使用JQuery来替换,如$('#msg')等同于JQuery('#msg') 的写法.然而,当我们引入多 ...
- json中换行问题
json中不能存在换行,但可以进行替换后给服务器 function(text_info) { text_info=text_info.replace(/\r/gm,"<br\>& ...
- Implement Trie (Prefix Tree) 解答
Question Implement a trie with insert, search, and startsWith methods. Note:You may assume that all ...
- IP、路由配置
IP地址组成: 网络地址主机地址32位二进制 A类: 255.0.0.0, 8: 0 000 0001 - 0 111 1111 127个A类,127用于回环,1-126 2^7- ...
- 精讲N皇后问题
思想:存三个数组记录记录走的过程,运用回溯不符合或row==n+1就跳出当前层,直到找完:递归时的路径都在保存着,当连续跳出到第一次进入的dfs且i=n时就全部跳出dfs函数了: # ...
- unity3d 捕获系统日志,来处理一些问题
注册系统日志回调,根据日志内容和类型处理一些特殊问题 using UnityEngine; using System.Collections; public class SetupVerificati ...
- 【计算几何初步-线段相交】【HDU1089】线段交点
You can Solve a Geometry Problem too Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/3 ...