当前位置 : 主页 > 网络编程 > ASP >

asp.net-mvc-3 – 需要帮助区分WebMatrix,ASP.NET网页和Razor语法

来源:互联网 收集:自由互联 发布时间:2021-06-24
新的Razor视图引擎的大部分文档都在WebMatrix和ASP.NET“Web Pages”的上下文中.即使在MSDN库本身,似乎(对我来说)作为大多数Razor文档( ASP.NET Web Pages with Razor Syntax)的根参考页面的文章本质上与
新的Razor视图引擎的大部分文档都在WebMatrix和ASP.NET“Web Pages”的上下文中.即使在MSDN库本身,似乎(对我来说)作为大多数Razor文档( ASP.NET Web Pages with Razor Syntax)的根参考页面的文章本质上与ASP.NET Web页面绑定,并且位于文档树中的一个分支标题下“Microsoft WebMatrix”.

但是,我从其他已经阅读的内容中收集到,Razor语法也可用于ASP.NET MVC 3,它似乎与ASP.NET网页几乎没有关系.

现在我是这个领域的新手,我现在正在WebMatrix学习,所以如果我弄错了一些细节,请纠正我,但我知道我也想开始学习ASP.NET MVC不久的将来,这些区别对于这种转变将是重要的.

所以我正在寻找一个明确的指南,这将使我能够准确理解我所学的哪些部分是Razor语法的一部分,哪些是ASP.NET“Web Pages”的一部分.

另外,我需要澄清WebMatrix和ASP.NET网页之间是否有任何区别.我知道WebMatrix基于“网页”,但目前尚不清楚我所学的一些内容是否是WebMatrix的一部分,或者(如我所料)WebMatrix只是围绕“网页”的IDE,没有多少其他的UI添加.

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

(顺便说一句,我错过了什么(其他),或者“网页”是他们可能为这个新系统提出的最令人困惑的名字?)

是的,ASP.NET WebPages是一个令人困惑的名称.我们尝试过但无法想出更好的东西.抱歉:)

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

Razor语法几乎可以归结为@符号,一些关键字(例如@helper,@ inherits,@ section),以及剃刀文件的智能解析,以找出代码和标记之间的转换.其他所有内容都是标准C#代码(ifs和fors),标记或WebPages框架提供的库和实用程序.

现在,Razor和WebPages并没有完全分离,两者之间存在内置的连接和约定,使一切工作在一起.例如@section是一个Razor关键字. Razor解析器将其转换为调用WebPages框架方法DefineSection的代码,以便稍后在布局页面中调用@RenderSection.

在MVC中使用Razor取决于WebPages框架.具体来说,MVC扩展了代表WebPages页面的类,这样RenderSection之类的东西仍然可以在MVC中运行.唯一的区别是MVC有自己的一套实用程序和库,专为MVC编程范例而设计.例如,不是从WebPages调用Href方法,而是在MVC中调用Url.Content.

WebPages中的大量函数将继续在MVC中工作,尽管可能有更多mvc-ish方法可能需要调用.

网友评论