HttpCapabilitiesBase.RequiresSpecialViewStateEncoding Propriedade

Definição

Obtém um valor que indica se o navegador requer VIEWSTATE valores especialmente codificados.

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

Valor de Propriedade

true se o navegador exigir VIEWSTATE que os valores sejam especialmente codificados; caso contrário, false. A predefinição é false.

Exemplos

O exemplo de código seguinte mostra como determinar se o navegador requer VIEWSTATE valores especialmente codificados.

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

Observações

HTTP é um protocolo sem estado e VIEWSTATE é um dos mecanismos usados para persistir alterações do cliente através de múltiplos pedidos. Cada controlo numa página Web contém uma ViewState propriedade que representa a acumulação de quaisquer alterações feitas pelo cliente. Numa página Web Forms, estas alterações são codificadas nos dados de postback como o value de um elemento HTML <input> com atributo type de hidden. Por exemplo:

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

Se true, caracteres não alfabéticos no VIEWSTATE valor não serão enviados corretamente pelo navegador, nem por um gateway intermédio. Para corrigir isto, os adaptadores de controlo do servidor substituem caracteres não alfabéticos no VIEWSTATE valor por caracteres que não requerem codificação nos pedidos HTTP.

Aplica-se a