2010-08-17 46 views
0

我正在使用ASP.NET MVC應用程序。但是我無法理解在ASP.NET MVC頁面沒有發佈/沒有回傳的事實。這怎麼可能?除非發佈數據,MVC框架如何操縱發佈的數據。那麼告訴ASP.NET MVC有什麼重要的地方沒有回發。還有什麼REST原則呢?asp.net mvc postback

無法從網絡上看到我所見過的內容。誰能解釋一下?

回答

8

ASP.NET帖子和ASP.NET MVC帖子之間的區別在於,在MVC中,您的頁面不會經歷ASP.NET的傳統頁面生命週期。相反,你的帖子被映射到一個單一的方法進行處理。

MVC的部分吸引力在於它脫離了傳統ASP.NET的一些狀態跟蹤機制。由於每個POST或GET都映射到單獨的控制器和方法,因此跟蹤視圖狀態等事情變得不那麼必要。

通過不回發儘可能多的狀態信息並處理整頁生命週期,post模型被認爲與傳統的web表單有着明顯的不同,但仍然依賴於我們熟悉的HTTP方法。

關於您關於REST的問題,您可以閱讀維基百科的高級概述:http://en.wikipedia.org/wiki/Representational_State_Transfer

7

確實發佈了ASP.NET MVC頁面。你需要意識到ASP.NET的'回傳',只不過是頁面上主要(唯一)形式的普通帖子。在MVC中,表單也發佈(就像普通的html),但他們的主要區別是他們發佈到特定的控制器操作。

3

MVC有帖子,只是沒有回傳的WebForm概念。在WebForms中,一切都會返回到創建它的表單,並且該表單將處理事件,並在適用情況下進行相應的重定向。至少在我看來,這是一個Web開發的有點破壞的事件模型表示。

另一方面,MVC將表單數據發佈到服務器端的操作。任何你想要的行動,在任何地方。該操作是處理該帖子的方法。不是該按鈕和該自動回覆下拉菜單的方法,而是處理該帖子並相應地返回下一個視圖的單個原子動作。