我们知道,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. 为什么ajax 必须同源,same origin policy

    ajax 所有请求都会附带主域的cookie, 若没有同源策略,攻击者就可以获取你的cookie,状态.

  2. Jquery Validate 正则表达式实用验证代码常用的

    jQuery.validate 的正则验证功能,包括手机号码.电话号码.邮政编码.QQ号码.IP地址.字母和数字.中文的验证等 手机号码验证 以下为引用内容: 代码如下: jQuery.validat ...

  3. linx建立用戶&組

    groupadd  test                  创建test用户组 useradd  user1                  创建user1用户 passwd   user1   ...

  4. netstat 查看连接数

    1.查看Web服务器(Nginx Apache)的并发请求数及其TCP连接状态: netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print ...

  5. 记录一次事故——idea,sbt,scala

    没事千万不要点idea的update啊,就算它自己弹出来的也不要管哦. 我们自己的IDE在使用过程中总会有各种settting的配置,更新之后这些都没有了,而且自己本地安装的插件也就都没有了,所以更新 ...

  6. Typescript中的Class

    let btn = document.createElement('button'); btn.textContent = 'Say Hello'; document.body.appendChild ...

  7. UOJ #278. 【UTR #2】题目排列顺序(排序水题)

    #278. [UTR #2]题目排列顺序 丢个传送门:http://uoj.ac/problem/278 描述 “又要出题了.” 宇宙出题中心主任 —— 吉米多出题斯基,坐在办公桌前策划即将到来的 U ...

  8. 使用 visualstudio code 编辑器调试执行在 homestead 环境中的 laravel 程序

    由于之前做 .net 开发比较熟悉 visualstudio,所以自 visualstudio code 发布后就一直在不同场合使用 vscode ,比如前端.node等等.最近在做 laravel ...

  9. 1activiti认识和数据库和插件配置

    工作流介绍 工作流(Workflow),就是通过计算机对业务流程自动化执行管理.它主要解决的是"使在多个参与者之间按照某种预定义的规则自动进行传递文档.信息或任务的过程, 从而实现某个预期的 ...

  10. CSS中:visited的隐私保护

    CSS 伪类 (Pseudo-classes) 锚伪类:在支持 CSS 的浏览器中,链接的不同状态都可以不同的方式显示,这些状态包括:活动状态,已被访问状态,未被访问状态,和鼠标悬停状态. a:lin ...