星空网 > 软件开发 > ASP.net

.NET MVC 两种视图引擎(Razor、Aspx)

ASPX

优点:

        通过上面小小的对比,不难看出,与.NET+MVC.aspx' >ASP.NET MVC紧密集成,对于以往ASP.NET开发人员有更好体验。其实它还有其他几优点:

        ●智能感应 

        ●能选择其它语言的 CodeDom provider (例如: C#, VB.NET, F#, Boo, Nemerle) 

        ●立即编译或预编译的views

缺点:

        当然也有缺点了:

        ●在Asp.net MVC中容易与经典的Asp.net模式混淆起来,并且Asp.net MVC已不再支持它们。 (例如: ViewState PostBack) 

        ●智能感应强迫样式总是不在内联的代码块。 

        ●设计简单模板时会凌乱。

 
 
Razor

优点:

        ●结构紧凑,表达式流畅 

        ●易于学习 

        ●具有很好的智能感知 

        ●可以单元测试 

缺点:

        ●创建一个稍微轻量级的“标签团”问题。服务器端标签实际上提供了围绕服务器的结构代码和非服务器端代码,Razor混淆HTML和服务器端代码,纯HTML和JS的开发具有挑战性。 

        ●语法是面向HTML生成非HTML的内容可能会非常棘手。尽管这样,Razor的数据模型实际上只是字符串串联,语法和嵌套错误,既不是静态或动态检测,虽然VS.NET设计时帮助减轻这个有确点。可维护性和可重构性也受限于此。

 
总之:
        如果习惯了在WebForm中,在前台写代码,那么aspx引擎更熟悉。Razor引擎简化了输入,直接@就可以开始写代码了,显得更简洁。推荐Razor,语法更人性化。
 


语法代码示例,简单对比这两者区别
 

语法名称

Razor 语法

Aspx 等效语法

代码块(服务端)

@{ 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 %>.






原标题:.NET MVC 两种视图引擎(Razor、Aspx)

关键词:.NET

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

喜忧参半,亚马逊卖家的listing有救啦!但新bug接踵而至...:https://www.ikjzd.com/articles/130145
商用办公家具品类藏着亚马逊爆单商机!:https://www.ikjzd.com/articles/130147
什么是长尾关键词?浅谈长尾关键词的作用:https://www.ikjzd.com/articles/130148
“危险”预警:这些产品销售高压线你知道吗?:https://www.ikjzd.com/articles/130149
亚马逊店铺销量低怎么办?掌握这几个技巧可以拯救你的销量:https://www.ikjzd.com/articles/130150
亚马逊政策更新!两个改动让卖家抓狂:https://www.ikjzd.com/articles/130151
别犹豫了,品牌种草营销就是现在!:https://www.kjdsnews.com/a/1836479.html
安能物流的2024:变革不能停:https://www.kjdsnews.com/a/1836480.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流