HttpCapabilitiesBase.RequiresSpecialViewStateEncoding Egenskap

Definition

Hämtar ett värde som anger om webbläsaren kräver VIEWSTATE att värden kodas särskilt.

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

Egenskapsvärde

true om webbläsaren kräver VIEWSTATE att värden kodas särskilt, annars false. Standardvärdet är false.

Exempel

Följande kodexempel visar hur du avgör om webbläsaren kräver VIEWSTATE att värden kodas särskilt.

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

Kommentarer

HTTP är ett tillståndslöst protokoll och VIEWSTATE är en mekanism som används för att bevara klientändringar i flera begäranden. Varje kontroll på en webbsida innehåller en ViewState egenskap som representerar ackumuleringen av eventuella ändringar som görs av klienten. På en webbformulärsida kodas dessa ändringar i postback-data som value ett HTML-element <input> med type attributet hidden. Ett exempel:

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

Om trueskickas inte icke-alfabetiska tecken i VIEWSTATE värdet korrekt av webbläsaren eller av en mellanliggande gateway. För att åtgärda detta ersätter serverkontrollkort icke-alfabetiska tecken i VIEWSTATE värdet med de som inte kräver kodning i HTTP-begäranden.

Gäller för