我们知道,Razor语法中我们可以直接使用@if(){}等代码段,这使得.net程序员在写模版时更容易了.

对比如下:

语法名称

Razor 语法

Web Forms 等效语法

代码块(服务端)

@{ int x = 123; string y = "test."; }

<% int x = 123; string y = "test."; %>

表达式

encode:<p>@model.Message</p>

no encode:<p> @Html.Raw(model.Message) </p>

encode:<p><%:model.Message %></p>

no encode:<p><%= model.Message %></p>

结合文本和标记的循环

@foreach(var item in items)

{

  <p>@item.Prop</p>

}

<% foreach(var item in items)

{ %>

  <p><%:item.Prop %></p>

<% } %>

代码和文本混合

@if (foo) { <text>Plain Text</text> }

@if (foo) { @:Plain Text is @bar }

<% if (foo) { %> Plain Text <% } %>

服务器端注释

@* This is a server side multiline comment  *@

<%-- This is a server side multiline comment --%>

调用一个方法

@(MyClass.MyMethod<AType>())

使用括号来明确表达是什么.

 

混合表达式和文本

Hello @title. @name.

Hello <%: title %>. <%: name %>.

总结:从程序员的角度去看Razor语法看上去比aspx更简洁一些.

但是从一个前端的角度去看呢?

Razor语法完全看不懂,这他妈的是个毛啊!改哪呢?!而ASPX语法哪能改,哪不能改,一看就懂.

前端的工作在模版中占90%以上.而后端只占不到10%.

MVC的核心点在于前端和后端的分离,说白了,一件事分成两个人做.

如果你懂压力测试,可以试试最新的MVC5.WEBFORM每秒请求达到1500左右,
而MVC5最高只有200,MVC现阶段只适合做中小企业开发,要走的路还很长.
作为一个项目经理,一般都是自已实现MVC,
因为对我来说写一个MVC架子并不难,只要重写httpFactory和httphandler就可以了. 
 
 

从项目经理的角度看.net的MVC中Razor语法真的很垃圾.的更多相关文章

  1. 提醒你一下, 你真的很垃圾, 创建一个maven 的web 项目都忘记了

    1. 创建项目 2. 选择maven 项目 3  然后选择创建 web 项目的模板  (结尾是webapp 的) 4. 选择自己的maven 的配置文件 setting.xml  以及自己的maven ...

  2. 3、看源码MVC中的Controllr的Json方法

    无论ViewResult还是JsonResult都继承ActionResult,ActionResult里只有一个方法ExecuteResult 1.Controllr的Json方法 实际上是new ...

  3. 程序员,不要让自己做兔子(updated) 网上最近流传的一个笑话,关于兔子,狼还有一只老虎的,故事 我就是想打你了,还需要什么理由吗?谁让你是兔子 项目经理是这样当的

    程序员,不要让自己做兔子(updated) 前段时间和一个朋友聊天,酒席间向我抱怨他那段时间的郁闷:项目经理从客户那里拿来一个需求,实际上就是一个ppt描述,我这个朋友拿过来看后刚开始不觉得什么,一个 ...

  4. IT项目经理都需要具备哪些能力

    发布时间:05-2009:24优质原创作者 项目经理是IT行业中比较常见的职位,工作职责主要包括三个方面,其一是资源整合任务:其二是沟通协调任务:其三是保障项目的时间周期. 资源整合能力是项目经理的重 ...

  5. [项目实施失败讨论Case] “凭心而论,在这家公司很敬业的工作了3年多,老板最后给我下的评语,大家都看看吧,千万别和我走同一条路!”(摘自csdn)

    [Case] “凭心而论,在这家公司很敬业的工作了3年多,老板最后给我下的评语,大家都看看吧,千万别和我走同一条路!”(摘自csdn) 原文:http://community.csdn.net/Exp ...

  6. 从备考PMP到与项目经理同呼吸

    前言 PMP是什么梗? 项目管理专业人士资格认证.它是由美国项目管理协会(Project Management Institute(PMI)发起的,严格评估项目管理人员知识技能是否具有高品质的资格认证 ...

  7. 推荐一本写给IT项目经理的好书

    原文地址:http://www.cnblogs.com/cbook/archive/2011/01/19/1939060.html (防止原文作者删除.只能拷贝一份了) 推荐一本写给IT项目经理的好书 ...

  8. 向java高级工程师和项目经理的道路进发【转】

    转自https://www.cnblogs.com/ahudyan-forever/p/5263296.html 宏观 一. JAVA.要想成为JAVA(高级)工程师肯定要学习JAVA.一般的程序员或 ...

  9. 项目管理心得:一个项目经理的个人体会、经验总结(zz)

    本人做项目经理工作多年,感到做这个工作最要紧的就是要明白什么是因地制宜.因势利导,只有最合适的,没有什么叫对的,什么叫错的,项目经理最忌讳 的就是完美主义倾向,尤其是做技术人员出身的,喜欢寻找标准答案 ...

随机推荐

  1. scrapy setting 备注

    scrapy 脚本里面设置输出文件: process = CrawlerProcess(settings) process.settings.set('FEED_URI', 'wangyi.csv', ...

  2. 学习笔记::LCT

    今天听见茹大神20分钟讲完了LCT,10分钟讲完平衡树,5分钟讲完树剖,感觉自己智商还不及他一半... 还有很多不懂:2017/1/15 的理解: access是干什么用的? 不知道,只知道他是用来把 ...

  3. zMPLS的安装与配置

    1.zmpls的安装 1.1安装环境 ubuntu 12.04 kernel 2.6.35 (对原来的内核进行了替换) 1.2 下载链接 文件zMPLS-0.95-alpha.tar.gz的下载地址为 ...

  4. Angular - - ngList、ngRepeat、ngModelOptions

    ngList 在文本输入的分隔的字符串和字符串数组间做转换,可以是一个固定的字符串分隔符(默认逗号)或正则表达式. 格式:ng-list=”value” value:表达式  通过这个值分隔字符串. ...

  5. iOS 之 KVC KVO

    KVC:键值编码,是一种间接访问对象实例变量的机制,可以不通过存取方法(getter setter)就可以访问实例变量. KVO: 属性变化的通知机制

  6. OC类方法的调用

    有个Person类,有个Phone类,Person类想使用Phone类中打电话和发短信的方法 1.Phone.h         Phone有kind和color属性  ,方法定义的时候将用到的参数都 ...

  7. 【HDU 5808】 Price List Strike Back (整体二分+动态规划)

    Price List Strike Back There are nn shops numbered with successive integers from 11 to nn in Bytelan ...

  8. 使用(Drawable)资源———ClipDrawable资源

    ClipDrawable代表从其他位图上截取的一个"图片片段".在XML文件中定义ClipDrawable对象使用<clip.../>元素,该元素的语法为: <? ...

  9. apache 添加 ssl_module

    下载httpd2.2.6,以前用http2.2.4会出问题(出现个什么lib的错误) ./configure --prefix=/usr/local/apache --enable-ssl --ena ...

  10. java 错误 classes路径配置错误

    1. 错误显示页 2. 解决步骤 2.1. 查看 root cause 信息 org.springframework.beans.factory.BeanCreationException: Erro ...