2013-10-11 18 views
0

我有多個頁面中存在的asp GridView。在GridView中有複選框,超鏈接,文本框和編輯按鈕來編輯Gridview中的文本。在一些頁面中有複選框,文本框數據被傳輸到服務器用於在數據庫中刪除或編輯的功能。我正在考慮優化頁面。那麼將ViewState用作GridView的false是個好主意嗎?在Asp .Net中查看狀態優化使用GridView

+0

感謝您的幫助,記錄超過1000,我已經應用分頁,但仍然想優化頁面,因爲它從服務器檢索時很慢,我可以知道刪除視圖狀態後需要編碼的其他東西嗎? –

回答

0

You shouldn't really optimize unless you are experiencing a problem。頁面是否顯着緩慢?你確定這是導致緩慢的GridView的視圖狀態數據嗎?使用某種分析工具或可衡量的基準來確定是否出現放緩以及放緩的情況。

除了所有這些,關閉視圖狀態將需要額外的編程。隨意嘗試一下,看看會發生什麼。我會提到一些你可能會遇到的「陷阱」。

我現在假設你正在綁定數據到你的GridView上的Page_Load在if(!Page.IsPostBack)塊內。一旦你這樣做了,你不必再次綁定數據(在正常的PostBacks期間),因爲視圖狀態保持了你的控制狀態。

如果關閉該GridView的視圖狀態,則必須在每個回發後將數據綁定到該狀態。您還必須手動維護網格狀態的其他方面(無論是否處於編輯模式)。

這只是您做決定時必須考慮的許多折衷之一(額外的編程時間是否值得您從這種優化中獲得的潛在收益?)。

+0

我正在通過Linq數據源進行綁定,因此綁定在LDS_Selecting中不在回發中,編輯中的數據轉到數據庫並保存數據並被回收,所以仍然存在任何問題? –

+0

@MiteshVora我真的不確定。我不知道數據源控件(如LinqDataSource)如何與視圖狀態交互。 – jadarnel27