任何人在那里使用新的CSHTML页面特征的,并且发现,他们更喜欢现有的ASP.NET MVC默认的视图引擎或在Web表单这一新的视图引擎的语法,如果是这样,为什么呢? 什么CSHTML给你一个优势MVC或网页形式,反之亦然?
只是好奇地听到人们的需要就可以了。
任何人在那里使用新的CSHTML页面特征的,并且发现,他们更喜欢现有的ASP.NET MVC默认的视图引擎或在Web表单这一新的视图引擎的语法,如果是这样,为什么呢? 什么CSHTML给你一个优势MVC或网页形式,反之亦然?
只是好奇地听到人们的需要就可以了。
其中一个好处是,剃刀的观点可以在里面的单元测试中呈现,这是后话,这是不容易有可能与以前的ASP.Net渲染器。
从ScottGu宣布这个被列为设计目标之一:
单元测试:新的视图引擎的实现将支持的能力进行单元测试的看法(无需控制器或网络服务器,并可以在任何单元测试项目托管-不需要特殊的应用程序域)。
我曾在一个核心团队为MSDN网站。 现在,我使用C#剃须刀与我的编程团队电子商务网站和我们专注重jQuery的前端与后端C#剃刀页面和LINQ实体内存数据库结束这样的页面是1-2毫秒的响应时间,即使在嵌套与查询循环没有页面缓存。 我们不使用MVC,只是简单的ASP.NET剃刀页面正在与IIS 7,没有ASPX页面或ViewState的URL重写模块或服务器端事件编程的所有映射。 它没有额外的(不必要的)层MVC放入代码结构的挑战正则表达式。 少即是多给我们。 所有的精简和意思,但我给道具MVC其可测试性,但仅此而已。
剃刀页面没有事件生命周期像ASPX页面。 它只是呈现为一个请求的页面。 C#是这样一个伟大的语言和剃刀失控的它的方式很好地让它完成其工作。 泛型和LINQ匿名打字让生活如此简单用C#和剃刀页。 使用剃刀网页会帮助你思考和代码更轻。
一个刮刀和MVC的缺点是不存在的ViewState般的持久性。 我需要实施一个解决方案,所以我最后写一个jQuery插件,在这里- > http://www.jasonsebring.com/dumbFormState这是一个HTML 5脱机存储对于在所有主要的工作形式的国家支持的插件现在的浏览器。 这仅仅是形式的国家,但目前可以使用window.sessionStorage或window.localStorage非常简单地存储任何类型的跨回传,甚至页面请求的状态,我只是懒得使它基于URL和形式的索引,以便自动保存和命名空间它你不必去想它。
一切都是由默认编码! 这是非常巨大的。
声明助手可以被编译,所以你不需要做什么特别的分享。 我想他们会取代的.ascx控制在一定程度。 你必须通过一些跳铁圈使用另一个项目中的.ascx控制。
您可以要求部分,这是很好。
最大的好处是,代码更简洁。 该VS编辑器也将有智能感知支持,其他一些视图引擎不具备的。
声明HTML助手也看起来很酷的C#代码中做HTML辅助让我想起了在ASP.NET自定义控件。 我认为,他们采取了从网页泛音但与内嵌代码。
所以在asp.net视图引擎一些明确的好处。
有了对比,虽然像火花视图引擎:
Spark是更简洁,可以保留,如果公司和HTML标签内循环。 该标记仍然只是感觉更自然的我。
您可以准确地编写代码的谐音,你会怎么做一个声明帮手,你只是沿着变量部分通过和你有同样的事情。 这一直是各地的火花很长一段时间。