Freigeben über


HttpCapabilitiesBase.RequiresSpecialViewStateEncoding Eigenschaft

Definition

Ruft einen Wert ab, der angibt, ob für den Browser VIEWSTATE-Werte eine besondere Codierung erfordern.

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

Eigenschaftswert

Boolean

true, wenn für den Browser VIEWSTATE-Werte eine besondere Codierung erfordern, andernfalls false. Der Standardwert ist false.

Beispiele

Im folgenden Codebeispiel wird gezeigt, wie Sie ermitteln können, ob der Browser Werte speziell codiert werden muss VIEWSTATE .

<%@ 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>

Hinweise

HTTP ist ein zustandsloses Protokoll und VIEWSTATE ein Mechanismus, der verwendet wird, um Clientänderungen über mehrere Anforderungen hinweg beizubehalten. Jedes Steuerelement auf einer Webseite enthält eine ViewState Eigenschaft, die die Anhäufung aller Vom Client vorgenommenen Änderungen darstellt. Auf einer Web Forms Seite werden diese Änderungen in Postbackdaten als HTML-Element value <input> mit einem type Attribut von hidden" codiert. Beispiel:

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

Wenn truenicht alphabetische Zeichen im VIEWSTATE Wert nicht korrekt vom Browser oder von einem Zwischengateway gesendet werden. Um dies zu korrigieren, ersetzen Serversteuerungsadapter nicht alphabetische Zeichen im VIEWSTATE Wert durch solche, die keine Codierung in HTTP-Anforderungen erfordern.

Gilt für