Asp.net mvc 与ASP.NETMVC混淆

Asp.net mvc 与ASP.NETMVC混淆,asp.net-mvc,Asp.net Mvc,我试图找出ASP.NET和ASP.NETMVC之间的区别。称为MVC的模式视图控制器是一种开发模型/模式/编程模型,对吗?这只是开发人员编写代码以完全控制代码的一种方式。如果是这样的话,微软发布的MVC 1、MVC 2等和MVC模式的“特殊框架”是什么?ASP.NET MVC是ASP.NET的一个子集 微软已经为MVC开发了一个VisualStudio插件,它将帮助您轻松实现MVC模式。您看到的不同版本是插件的版本。您所做的比较有点尴尬,因为ASP.NET是一个平台,而ASP.NET MVC是该

我试图找出ASP.NET和ASP.NETMVC之间的区别。称为MVC的模式视图控制器是一种开发模型/模式/编程模型,对吗?这只是开发人员编写代码以完全控制代码的一种方式。如果是这样的话,微软发布的MVC 1、MVC 2等和MVC模式的“特殊框架”是什么?

ASP.NET MVC是ASP.NET的一个子集


微软已经为MVC开发了一个VisualStudio插件,它将帮助您轻松实现MVC模式。您看到的不同版本是插件的版本。

您所做的比较有点尴尬,因为ASP.NET是一个平台,而ASP.NET MVC是该平台的定制/增强,以便于根据既定的MVC范例和最佳实践进行编程

尽管如此,ASP.NET WebForms采用了一种特殊的方法来构建web应用程序:单表单页面和通过(通常令人恐惧的)ViewState对象模拟“状态”。与此同时,ASP.NETMVC注重关注点的分离(表示、业务和持久性逻辑),以及对路由(干净的URL-没有丑陋的.aspx)和模型绑定等“开箱即用”的支持

每一个都有自己的优点-ASP.NET Classic WebForms提供了大量可用的用户控件以快速启动和运行。如果您来自Windows窗体或WPF背景(因为隐藏的代码和事件看起来非常相似),也可以说更容易识别

MVC发行版(1、2和3)提供了项目模板、一些启动程序代码和其他功能,如对其他渲染引擎(如Razor)的支持。使用MVC的JavaScript会让你的手变得更脏,但是你可以完全控制生成的标记,并且可以自由使用。

MVC背后的基本思想(不是新模式,顺便说一句)是分离关注点。ASP.NET和ASP.NET MVC之间的主要区别在于ASP.NET在一个“web表单”模型上工作,在这个模型中,每个页面都是一个“控件”,它有子控件,而子控件又有子控件——你知道,它是一个控件层次结构。但是,ASP.NET MVC没有控件!如果你在控件、视图状态和回发(像我一样)的环境中从事开发工作,那将是一个完全不同的世界


只需在谷歌上搜索一下,你就会发现关于这个话题的大量信息,以及关于使用哪个更好的争论。学习MVC教程。如果您习惯于ASP.NET web表单,那么这是一种完全不同的、通常更干净的web开发方式。

MVC模式太抽象(原始),在现实世界的现成应用程序中没有任何用处。这就是为什么ASP.NET MVC框架与ASP.NET web表单相比看起来“低级”的原因。但它的优点在于它的新发布模式——比我们使用微软产品的典型3-5年周期快得多。他们开始听取社区的意见。所以,让我们希望在MVC 5版本中的某个地方可以得到健壮的框架。

MVC在ASP.NET世界中是一件美好的事情。它让设计师和开发人员更和平地生活在一起,我们团队中的每个人总体上似乎都更有效率。在AJAX中使用局部视图也很神奇。你能解释一下它的基本原理吗?如果我觉得有什么区别的话,那就是它远没有传统的web表单那么原始。有模型、视图、控制器和规则来描述它们是如何链接的,对吗?。很好,让我想起“一切都是客观的”。为什么人们总是问MVC如何与ASP.NET母版页相匹配,寻找MVVC(因为MVC不太适合他们的需要),对javascript/ajax场景中的视图和模型摸不着头脑?有趣的是,“非肯定”答案在这里被否决而没有评论。“MVC模式”是一头神圣的母牛吗?事实也是如此。我会反对webforms在来自winforms时更容易获取。至少对我来说,我希望事情也会如此。他们让它看起来如此相似,以至于我对webforms中的工作方式做了许多假设。这些假设给我带来了很多麻烦。作为我的第一次web开发体验,我进入MVC会更容易一些,因为它与HTTP非常不同,可以很好地使用HTTP,而不是将其抽象出来。试图让web像winforms一样工作只会让我感到困惑。