ASP.Net Webforms和ASP.Net MVC是基于组件还是基于动作的?

时间:2011-05-10 12:45:15

标签: .net asp.net asp.net-mvc webforms web-frameworks

我来自JavaEE背景,我正在研究Java和.Net中存在哪些Web框架。就Java而言,我在talk找到了这个Matt Raible

他在框架中进行的一种分类是,其中一些是基于行为的,其中一些是基于组件的。前者是无状态的,专注于每个请求执行的操作和报告的生成,而后者是有状态的,并保留其Web界面组件的服务器端表示。

正如预期的那样,基于组件的Web框架通常带有自己的组件或第三方组件库(除了自己的组件,JSF还有Richfaces,Icefaces,......和GWT有ExtGWT,SmartGWT,...) 。为了提供基于操作的框架的丰富接口,开发人员必须使用JS组件库或Flex等。

由于每个类别的优点和缺点对我来说都有意义,我想知道这种分类是否也适用于.Net框架。据我所知,ASP.Net MVC和ASP.Net Webforms都是无状态的,但Webforms有一个名为Viewstate的机制,它可以配置为从隐藏字段,Session等保存和检索状态。但是,我可以找到没有组件的服务器端表示。

那么,ASP.Net MVC和ASP.Net Webforms是基于组件还是基于行为的?

2 个答案:

答案 0 :(得分:4)

根据你的描述,听起来像Webforms将基于组件而MVC将基于行动。

Webforms试图通过提供一种跨行动保持状态并使用规范的编程模型来弥合桌面编程和Web编程之间的差距。

而MVC更像是一个面向Web开发人员而非桌面程序员的框架,而您将专注于操作和REST动词并直接使用JavaScript。

希望这有帮助!

答案 1 :(得分:2)

MVC绝对是基于行动的。

Webforms是基于组件(Control)的。