外行人的MVC 4 / Razor

时间:2013-03-23 16:06:53

标签: asp.net-mvc razor

对不起,如果这是一个愚蠢或明显的问题,但我花了一周的时间进行研究,我真的找不到任何解释MVC 4和剃刀是,以及它们在Web开发中的目的。我不一定要求一个非常详细的描述,甚至是一个网站链接或一本书的名称,通过引用我从未使用过的其他技术来解释MVC 4。我已经浏览了从MSDN到研究生论文的所有文章,文章和教程,我只是没有得到它。

我知道MVC的设计模式是什么,但我能够直接回答的主要问题之一是MVC模式和MVC 4框架之间的区别。作为一名Web开发人员,我是否必须更改或使用这些框架,或者它是否应该“保持畅通无阻”#34; (引用另一篇SO帖子。)这是由VS产生的东西,我永远不必触摸?

再一次,如果这很明显,我很抱歉,也许我试图让它变得比实际更复杂。我一直在寻找的是一个直截了当的答案,具体的例子不会与之相矛盾或复杂化。

请......我的智慧结束了。我的最后一个问题显然过于模糊,被投票决定关闭,所以我试图更具体,但我的问题的一部分是什么是正确的问题。如果有什么可以说澄清,请告诉我。

2 个答案:

答案 0 :(得分:2)

我当然不想让你灰心丧气,但在我看来,如果你不能制作MVC上已有的大量材料的头或尾,那么也许你还没准备好。没关系 - 实际上微软认识到MVC很复杂,这就是为什么他们引入ASP.NET Web Pages framework(这就是产生Razor语法的原因)。

我的建议是关注链接并下载WebMatrix。然后按照一些网页教程进行操作。这样你就可以了解Razor,而不必过多担心MVC。

顺便提一下,ASP.NET MVC是一个Web开发框架,使您能够基于MVC模式构建Web应用程序。您需要了解MVC如何工作才能使用框架。您需要了解模型是什么,视图是什么以及控制器在整个事物中扮演的角色。

框架本身不是MVC的一个例子。

Razor是一种模板语法,允许您将C#(或VB)与HTML混合,以在MVC中的View或Web Pages框架中的页面中输出动态内容。

答案 1 :(得分:2)

我知道这可能看起来令人困惑,但在我看来,你过于复杂化了。

简单的问题是MVC是一种设计模式。也就是说,这是一个抽象的东西......一种哲学。这不是具体的事情。设计模式只是简单地为您提供了模式应该如何工作的描述,虽然它可以为您提供示例实现,但一般情况下它会将实现留给您。

ASP.NET MVC(无论哪个版本)是使用MVC模式作为其基础的特定应用程序框架。换句话说,它是MVC设计模式的具体实现。

实际上,ASP.NET MVC实现甚至不是MVC设计模式的“真实”实现,因为某些折衷是使其在基于Web的模型中工作所必需的。所以它更像是“MVC设计模式的启发”。

你是在思考问题。只需接受ASP.NET MVC是一个实现和MVC设计模式的框架库。

至于Razor,它只是一个模板库。也就是说,它允许您将页面布局定义为文本,并在特定位置(占位符)插入值。它还允许在渲染模板的过程中执行代码,尽管在MVC中不鼓励这样做,除非是非常简单的情况。

Razor也用于ASP.NET WebPages技术,在这些情况下,它往往更像PHP或经典的asp,因为所有代码都存在于模板本身的代码块中。 ASP.NET和WebPages都使用Razor模板引擎(也称为视图引擎),但它们以不同的方式使用它们。