前言
1. FineUI(開源版)是完整開源,最早發(fā)起于 2008-04,下載全部源代碼:http://fineui.codeplex.com/
2. 你可以通過捐贈作者來支持FineUI(開源版)的發(fā)展:http://fineui.com/donate/
FineUI的FState與ViewState
早在2013-01 我曾寫過一篇文章,對FState有詳細介紹:http://www.cnblogs.com/sanshi/archive/2013/01/08/2850459.html
現(xiàn)在來簡要回顧一下:
1. ViewState是ASP.NET WebForm的基石,用來在頁面回發(fā)過程中維持控件狀態(tài),這樣我們才能在后臺方便的使用控件的服務(wù)器端屬性。
2. FineUI的AJAX回發(fā)過程中,相同的數(shù)據(jù)會同時存在于ViewState和返回的JavaScript代碼中,造成數(shù)據(jù)重復(fù)浪費!
3. FState機制替換ViewState后,只會在回發(fā)數(shù)據(jù)中保留一份數(shù)據(jù),減少了數(shù)據(jù)的傳輸量。
對于,常見的誤解與糾正:
1. FineUI中不能使用ViewState了。錯??!
FineUI只是實現(xiàn)了一套類似ViewState的機制,但是ViewState本身還是存在的,你依然可以在頁面上調(diào)用ViewState對象存儲數(shù)據(jù)。
2. 不使用ViewState了,F(xiàn)ineUI控件不能維持狀態(tài)了。錯?。?
FState是在AJAX環(huán)境中對ViewState的一種改進和提高,目的是為了減少數(shù)據(jù)傳輸量。你依然可以方便在C#代碼中使用控件屬性
FineUI中的FState可以被惡意篡改
FState用來在頁面回發(fā)過程中維持控件的狀態(tài),但是由于FState完全以JavaScript變量的形式暴露出來,很容易被惡意用戶在客戶端進行篡改。
首先來看一個簡單的頁面:
<f:Page