Bagikan melalui


HttpCapabilitiesBase.RequiresSpecialViewStateEncoding Properti

Definisi

Mendapatkan nilai yang menunjukkan apakah browser memerlukan VIEWSTATE nilai untuk dikodekan secara khusus.

public:
 virtual property bool RequiresSpecialViewStateEncoding { bool get(); };
public virtual bool RequiresSpecialViewStateEncoding { get; }
member this.RequiresSpecialViewStateEncoding : bool
Public Overridable ReadOnly Property RequiresSpecialViewStateEncoding As Boolean

Nilai Properti

true jika browser memerlukan VIEWSTATE nilai untuk dikodekan secara khusus; jika tidak, false. Defaultnya adalah false.

Contoh

Contoh kode berikut menunjukkan cara menentukan apakah browser memerlukan VIEWSTATE nilai untuk dikodekan secara khusus.

<%@ page language="C#"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
    void Page_Load(Object Sender, EventArgs e)
    {
        CheckBrowserCaps();
    }

    void CheckBrowserCaps()
    {
        String labelText = "";
        System.Web.HttpBrowserCapabilities myBrowserCaps = Request.Browser;
        if (((System.Web.Configuration.HttpCapabilitiesBase)myBrowserCaps).RequiresSpecialViewStateEncoding)
        {
            labelText = "Browser requires view state values to be specially encoded.";
        }
        else
        {
            labelText = "Browser does not require view state values to be specially encoded.";
        }

        Label1.Text = labelText;
    }
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <title>Browser Capabilities Sample</title>
</head>
<body>
    <form runat="server" id="form1">
        <div>
            Browser Capabilities:
            <p/><asp:Label ID="Label1" Runat="server" />
        </div>
    </form>
</body>
</html>
<%@ page language="VB" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
    Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
        CheckBrowserCaps()
    End Sub

    Function CheckBrowserCaps()

        Dim labelText As String = ""
        Dim myBrowserCaps As System.Web.HttpBrowserCapabilities = Request.Browser
        If (CType(myBrowserCaps, System.Web.Configuration.HttpCapabilitiesBase)).RequiresSpecialViewStateEncoding Then
            labelText = "Browser requires view state values to be specially encoded."
        Else
            labelText = "Browser does not require view state values to be specially encoded."
        End If

        Label1.Text = labelText

    End Function 'CheckBrowserCaps
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <title>Browser Capabilities Sample</title>
</head>
<body>
    <form runat="server" id="form1">
        <div>
            Browser Capabilities:
            <p/><asp:Label ID="Label1" Runat="server" />
        </div>
    </form>
</body>
</html>

Keterangan

HTTP adalah protokol stateless, dan VIEWSTATE merupakan salah satu mekanisme yang digunakan untuk mempertahankan perubahan klien di beberapa permintaan. Setiap kontrol pada halaman Web berisi ViewState properti, yang mewakili akumulasi perubahan apa pun yang dibuat oleh klien. Di halaman Formulir Web, perubahan ini dikodekan dalam data postback sebagai value elemen HTML <input> dengan type atribut hidden. Contohnya:

<input type="hidden" name="__VIEWSTATE" value="t0PH_u56?cDxleHQ7P=" />

Jika true, karakter non-alfabet dalam VIEWSTATE nilai tidak akan dikirim dengan benar oleh browser, atau oleh gateway perantara. Untuk memperbaiki ini, adaptor kontrol server menggantikan karakter non-alfabet dalam VIEWSTATE nilai dengan yang tidak memerlukan pengodean dalam permintaan HTTP.

Berlaku untuk