zoukankan      html  css  js  c++  java
  • 从项目经理的角度看.net的MVC中Razor语法真的很垃圾.

    我们知道,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就可以了. 
  • 相关阅读:
    域名ICP备案个人备案写网站名称注意事项
    关于域名备案的注意事项
    MySQL里默认的几个库是干啥的?
    Python 1.3 元组与文件
    PTA(BasicLevel)-1006换个格式输出整数
    数据结构与算法-图的最短路径Dijkstra
    PTA(Basic Level)-1002 写出这个数
    PTA(Basic Level)-1076 Wifi密码
    C程序设计语言笔记-第一章
    谁能笑到最后,约瑟夫环-Josephus问题求解
  • 原文地址:https://www.cnblogs.com/LucasDot/p/4461993.html
Copyright © 2011-2022 走看看