MVC 5来自WebPages

时间:2014-08-22 09:09:03

标签: asp.net-mvc asp.net-mvc-5 asp.net-webpages

我一直在使用WebPages已经有一段时间了,我发现它非常令人惊讶,但我听到很多关于它的坏事主要是因为它对大型项目来说不是很好。这是什么原因?是因为性能?我不确定自己。

无论如何,我决定试用MVC,因为它是最受尊敬和最常用的ASP框架,我发现它也使用了Razor语法,我很喜欢它。

因此;我一直在关注www.asp.net上的MVC 5 MovieDb教程,但是在该教程中你将学习如何在网站上创建,编辑,删除和查看电影,但问题是,我真的不喜欢Visual Studio为您生成整个内容的方式。我更喜欢自己做那种事情。

例如;在WebPages中,您将使用foreach来显示从数据库中提取的数据,这意味着您可以按照您希望的方式显示数据,但似乎在MVC中,无论何时生成Controller,它都会在网格为你。

是否有其他推荐的教程可供您学习如何自己制作?

和;我想知道,在MVC中,你是否必须使用那些自定义输入字段等?因为在WebPages中,您只需使用常规HTML输入字段并为其命名即可。但是在MVC中它似乎使用的东西就像@ Html.InputField(我不记得它叫什么)。

对于这个杂乱的帖子感到抱歉,但我很困惑。

提前谢谢。

2 个答案:

答案 0 :(得分:1)

"坏事"你听到的一般都来自那些不知道他们在谈论什么或者对世界有一个非常倾斜的看法的人。

Web Pages是三个ASP.NET开发框架之一。 MVC和Web Forms是另外两个。没有什么"错误"与他们中的任何一个,但他们每个人都有其优点和缺点。目前,我开发/维护使用所有三个选项构建的网站。所有这些的表现都与所有实际意图相同。它们都基于ASP.NET。

Razor最初开发用于Web Pages框架。随后它被MVC团队借用作为视图引擎。

您可以像在网页中一样使用MVC中的HTML输入字段。您还可以在Web页面中使用这些@Html输入字段(它们称为Html帮助程序)。我刚才写过他们:http://www.mikesdotnetting.com/Article/184/HTML-Helpers-For-Forms-In-Razor-Web-Pages

MVC鼓励的一件事就是采用强烈的世界观。这意味着您在视图中处理自定义对象/模型。 MVC中的一种Html帮助程序是强类型的,并自动绑定到视图的属性。使用这些帮助程序可以让您作为MVC开发人员更轻松。随着学习MVC的进展,你会看到这一点。

答案 1 :(得分:1)

Visual Studio不必为您生成内容。它只是提供了帮助您提高工作效率的工具。如果您知道MVC项目的工作原理,您可以手动完成所有操作。这是你缺乏知识,阻碍你在这一点上做到这一点。作为一个新手,这些工具可以帮助您更快地完成任务,当您学习如何更详细地执行操作时,您可以决定是继续使用它们还是自己完成它们。

您也不必使用Html帮助程序,但是他们会为您处理很多事情,否则您必须自己处理。再次,它关乎生产力。它还可以帮助你做更复杂的事情,这样你就不会弄错它们并制造错误。

Html助手闪耀的最大例子是验证。如果您不使用帮助程序,那么您将需要手动执行所有验证代码(客户端和服务器)。

这些助手的另一个重要位置是使用嵌套模型时。 MVC模型绑定在变量命名中需要特定的语法,帮助程序可以帮助您实现这一点。

帮助者重要的另一个地方是处理与模型相关的元数据。例如,假设您有一个用户购物车的型号。而你在这个模型上使用了这个模型。如果您使用模板帮助程序使用[Display(Name="Shopping Cart")]属性定义字段名称,并且您决定稍后更改名称,例如.. Cart to Basket,那么您只需更改模型并在任何地方反映出来&#39使用了。

最后,帮助程序还提供了一个非常强大的模板系统,与旧的ASP.NET控件(如Repeater)不同,有些不同。这些称为编辑器模板,并使用语法@Html.EditorFor()。您可以创建在特定类型上使用EditorFor时呈现的模块化模板文件,并且它们将使用您定义的标记自动迭代您的集合。

简单地说,这些助手可能看起来很烦人或毫无意义,或者就像他们更多的工作......但是你很快就会发现,一旦你超越了非常微不足道的页面,就不会再使用它们了。