2011-05-10 119 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)的。

相關問題