小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

EnableViewState 屬性...

 Alex847 2008-11-13

EnableViewState 屬性

指示是否在頁請求之間保持視圖狀態(tài)。如果要保持視圖狀態(tài),則為 true;否則為 false。默認(rèn)值為 true。

以上為官方對 EnableViewState 的解釋,有些難懂,我們以示例的方式解釋,我們創(chuàng)建一個 Web Form,并添加一個 ListBox、一個 Button、一個方法。

程序代碼

<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www./TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
    void AddItem(object sender, EventArgs e)
    {
        list.Items.Add(DateTime.Now.Ticks.ToString());
    }

</script>
<html xmlns="http://www./1999/xhtml" >
<head runat="server">
    <title>EnableViewState 屬性</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
      <asp:ListBox ID="list" runat="server">
        <asp:ListItem Text="EnableViewState 屬性" Value="1"></asp:ListItem>
      </asp:ListBox>
      <asp:Button ID="btn" runat="server" Text="追加一個 Item" OnClick="AddItem" />

    </div>
    </form>
</body>
</html>

在瀏覽器中訪問該網(wǎng)頁,得到 HTML 源文件中如下內(nèi)容:

<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUKMTIyNTcyODQzNWRkKV9J6dx90HkLpaqCRtS3s4xsNnc=" />

這個 hidden 框存儲的是各個控件的屬性值與狀態(tài),比如 ListBox 的 Text、Value、Selected 等,這也是為什么在 ASP.NET 里,可以在服務(wù)器端獲得列表的 Text 值的原因。

開始實(shí)驗(yàn)

現(xiàn)在點(diǎn)擊按鈕,服務(wù)器端將執(zhí)行 AddItem 方法,ListBox 中的內(nèi)容也隨之增多,查看 HTML 源文件中的“__VIEWSTATE”也隨之增多 。關(guān)于 DateTime 請參見 ASP.NET 時間操作。

再次實(shí)驗(yàn)

現(xiàn)在我們修改 ListBox 的 EnableViewState 屬性為 false。

<asp:ListBox ID="list" runat="server" EnableViewState="false">

再次點(diǎn)擊幾下按鈕,我們可以發(fā)現(xiàn),之前點(diǎn)擊按鈕添加的 Item 都不見了,現(xiàn)在每次點(diǎn)擊按鈕,ListBox 中都只有兩個 Item,一個為靜態(tài)指定的,一個是通過 AddItem 方法添加的。這是由于 ListBox 的內(nèi)容沒有通過“__VIEWSTATE”傳送到服務(wù)器端,服務(wù)器端不知道 ListBox 之前還動態(tài)添加的有內(nèi)容。

注意觀察,添加的數(shù)字并不相同,這說明每次點(diǎn)擊都執(zhí)行了 AddItem 方法,而不是有些文章所說的,使用 EnableViewState="false" 時方法只執(zhí)行一次,方法是每次都執(zhí)行,只是由于沒有獲得之前動態(tài)添加(編輯、刪除)后的內(nèi)容,所以只有最新添加(編輯、刪除)的內(nèi)容。

總結(jié)

EnableViewState 指定是否向服務(wù)器端傳送某(些)控件的屬性值、狀態(tài)。

EnableViewState 的默認(rèn)值為 true,設(shè)置為 false 可以降低數(shù)據(jù)傳送量,當(dāng)然應(yīng)該在程序邏輯允許設(shè)置為 false 的情況下。

EnableViewState 可用于控件,也可用于 @ Page、@ Control@ Master 指令語法。當(dāng)控件的 EnableViewState 的設(shè)置與指令語法的設(shè)置不一致時,取 false 值。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多