2011-02-25 70 views
3

多的新的Razor视图引擎的文件是在WebMatrix中和ASP.NET“网页”的背景下加以区分。即使在MSDN库本身中,似乎(对我而言)成为大多数Razor文档(ASP.NET Web Pages with Razor Syntax)的根引用页面的文章固有地与ASP.NET Web Pages绑定在一起,并且位于标题为文档树的分支中“微软WebMatrix”。需要帮助来WebMatrix中,ASP.NET网页和剃刀语法

但是我收集来自我已阅读,语法剃刀也可用于ASP.NET MVC 3,这似乎都很少做ASP.NET网页其他的事情。

现在我对这个整个领域都很陌生,现在我正在WebMatrix中学习,所以如果我弄错了一些细节,请纠正我,但我知道我也想开始学习ASP .NET MVC在不久的将来,所以做出这些区分对于这一转变将非常重要。

所以我找了一个明确的指导,让我确切地了解我学习这部分是剃刀语法的一部分,并且是ASP.NET“网页”的一部分。

而且我需要澄清,如果有WebMatrix中和ASP.NET网页之间的任何区别。据我所知,WebMatrix是基于“网页”,但不清楚我正在学习的部分内容是否是WebMatrix的一部分,或者(如我怀疑的那样)WebMatrix只是一个围绕“网页”的IDE,与没有什么太多添加其他的用户界面。

有人在那里可以提供一些清晰度在这些方面吗?

(顺便说一句,我失去的东西(人),或者是“网页”他们可能想出了这个新系统中最令人困惑的名字吗?)

回答

6

是,ASP.NET网页是一个令人困惑的名字。我们尝试过,但无法做出更好的事情。对不起:)

对于MVC,Razor,WebMatrix和WebPages之间各种交互的真实描述,请阅读David Ebbo的博文How WebMatrix, Razor, ASP.NET Web Pages and MVC fit together

剃刀语法几乎归结为@符号,几个关键字(如@helper@inherits@section),和剃刀文件的智能分析,以找出代码和标记之间的转换。其他一切都是标准的C#代码(iffor),标记或WebPages框架提供的库和实用程序。

现在剃刀和网页没有完全分隔,并有建于两个,使一切一起工作之间的联系,并约定。例如@section是一个Razor关键字。剃刀解析器将其转换成调用网页框架方法DefineSection,所以在布局页面后,你可以调用@RenderSection代码。

剃刀的MVC中的使用依赖于网页框架。具体MVC扩展了代表从网页页面,使得类似的事情在RenderSection MVC仍然工作的类。唯一的区别是,MVC有自己的一套实用程序和库,专为MVC编程范例设计。例如,您可以在MVC中调用Url.Content,而不是从WebPages调用Href方法。

从网页大量的功能将继续在MVC工作,虽然有可能是你可能要改为调用更多的MVC-ISH方法。

+0

谢谢marcind。从你的解释,你的链接,以及它所参考的嵌套链接,在大量阅读之后,我现在更好地理解了所有部分如何相互关联。 – 2011-02-26 13:15:22

1

为了扩展marcind的解释,Razor是为网页开发的。 MVC团队认为这也将成为一个伟大的视图引擎。 Razor只有一个版本的“语法”,这就是为什么MVC3依赖于WebPages dll。

哦,我想这些家伙在命名“Web Pages”和“WebMatrix”时已经没有想法了。我想知道亚马逊是否看到8年前的Web Matrix图书订单最近增加了?