2011-05-10 84 views
7

我来自JavaEE背景,我正在研究Java和.Net中存在的Web框架。就Java而言,我通过Matt Raible发现了这个talk是ASP.Net Webforms和基于ASP.Net MVC组件还是基于动作?

他在框架中进行的分类之一是其中一些基于动作,其中一些基于组件。前者是无状态的,专注于按照请求执行的动作和报告的生成,而后者是有状态的并且保留其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是基于组件还是基于动作?

回答

4

通过您的描述,听起来像Webforms将基于组件,MVC将基于行动。

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

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

希望这会有所帮助!

2

MVC绝对是基于Action的。

Webforms是基于组件(Control)的。

相关问题