2013-08-29 29 views
1

我使用的是asp.net,我是新開發人員。我想避免在我的頁面中使用viewstate。我有兩個內容佔位這樣的:如何避免視圖狀態在我的asp頁面

<asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" runat="server"> 
    </asp:Content > 
    <asp:Content ID="Content1" ContentPlaceHolderID="BodyContent" runat="server"> 
    </asp:Content > 

我可以做的東西Contentplaceholder OR我該怎麼辦呢?

回答

3

你什麼都沒有做的ContentPlaceHolder你只需要定義啓用ViewState中,以假像這樣:

<%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Masters/CliqueCityHomeMaster.master" 
AutoEventWireup="true" CodeBehind="CliqueCityHome.aspx.cs" EnableViewState="false" Inherits="CliqueCityWeb._Default" %> 
1

你可以從你的網絡配置通過設置在

<system.web> 
<pages enableViewState="false" /> 
//other stuff 
</system.web> 

這做將關閉整個站點的視圖狀態。

對於在頁面

頂部的特定頁面使用的EnableViewState =「假」在wireups有此鏈接以獲取更多的信息.​​. http://msdn.microsoft.com/en-us/library/ms972976.aspx

0

一個這樣做的方法是使用一個不同的PageStatePersister。 PageStatePersister是.Net框架中保存ViewState的基類。默認情況下,頁面使用HiddenFieldPageStatePersister,它將所有視圖狀態保存在頁面上的隱藏字段中;或者,您可以使用SessionPageStatePersister,它將視圖狀態保存在服務器上的會話狀態 - 這意味着它不會在每次往返客戶端時傳輸。

要使用SessionPageStatePersister,在你的頁面代碼,你需要添加:

protected override PageStatePersister PageStatePersister 
{ 
    get 
    { 
     return new SessionPageStatePersister(this); 
    } 
}