HttpCapabilitiesBase.RequiresSpecialViewStateEncoding Propriété

Définition

Obtient une valeur indiquant si le navigateur exige que les valeurs VIEWSTATE aient un codage spécial.

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

Valeur de propriété

Boolean

true si le navigateur requiert que les valeurs VIEWSTATE aient un codage spécial ; sinon, false. La valeur par défaut est false.

Exemples

L’exemple de code suivant montre comment déterminer si le navigateur exige VIEWSTATE que les valeurs soient spécialement encodées.

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

Remarques

HTTP est un protocole sans état. VIEWSTATE Il s’agit d’un mécanisme utilisé pour conserver les modifications du client sur plusieurs requêtes. Chaque contrôle d’une page Web contient une ViewState propriété, qui représente l’accumulation des modifications apportées par le client. Dans une page Web Forms, ces modifications sont encodées dans les données de publication en tant qu’élément value HTML <input> avec un type attribut de hidden. Exemple :

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

Si trueles caractères non alphabétiques de la VIEWSTATE valeur ne sont pas envoyés correctement par le navigateur, ni par une passerelle intermédiaire. Pour corriger ce problème, les adaptateurs de contrôle serveur remplacent les caractères non alphabétiques dans la VIEWSTATE valeur par ceux qui ne nécessitent pas d’encodage dans les requêtes HTTP.

S’applique à