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就可以了. 
  • 相关阅读:
    JavaBean和Map之间的转化
    java基础Map遍历
    sql server
    android之使用百度地图(1)
    Java基础知识2(字符串)
    Java基础知识1
    DAY12-Java中的类--接DAY10
    DAY11-LocalDate小练习
    DAY10-万物皆对象-2018-2-2
    DAY9-字符串笔记整理2018-1-19
  • 原文地址:https://www.cnblogs.com/LucasDot/p/4461993.html
Copyright © 2011-2022 走看看