2009-10-06 90 views
1

剛剛閱讀Maarten Balliauw的blog postAsp.net MVC與ViewState?

想問「`噸一站式調試,大量服務器雙面」 RAD控制將

<%Html.Serialize("person", Model); %> 

回一堆?

這是包括這個好主意嗎?

如果是這樣 - 什麼樣的用法是合適的?

回答

2

我更多地將它視爲避免使用會話在動作之間傳輸數據的方式,而不是視圖狀態本身,這就是我將其用於的目的。對我來說,實現某種嚮導類型功能的理想方式是在將任何內容持久存儲到數據庫之前,通過一系列操作將數據轉發到其中。當然,我認爲有過度使用的危險,但只要框架不會自動強加給你,那麼我看不到視圖狀態出現同樣的危險。在視圖狀態下,你必須跳過籃圈(並且可能會破壞流程中的其他內容)以避免它。

1

我們不應該將Base64編碼與ViewState等同起來。我沒有看到該片段中的序列化視圖的狀態。我看到模型的狀態。因此將其描述爲ViewState For Asp.net MVC非常具有誤導性。

也認爲這是選擇,並不是以任何方式自動。它的主要用途可能是用於樂觀併發以及嚮導用戶界面,其中您希望將用戶先前的選擇存儲在視圖中而不是Session或Cookie。

+0

我只是想整理一下。在我的某個地方,我覺得這沒有錯(真的很奇怪 - Asp.Net Mvc在我看來像是一部真正的傑作),但沒有任何爭論,因爲。還沒有觸及那件事。 – 2009-10-07 08:09:44