Compartir a través de


HttpCapabilitiesBase.RequiresSpecialViewStateEncoding Propiedad

Definición

Obtiene un valor que indica si el explorador exige que los valores VIEWSTATE se codifiquen de forma especial.

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 propiedad

Boolean

Es true si el explorador exige que los valores VIEWSTATE se codifiquen de forma especial; de lo contrario, es false. De manera predeterminada, es false.

Ejemplos

En el ejemplo de código siguiente se muestra cómo determinar si el explorador requiere VIEWSTATE que los valores se codifiquen especialmente.

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

Comentarios

HTTP es un protocolo sin estado y VIEWSTATE es un mecanismo que se usa para conservar los cambios de cliente en varias solicitudes. Cada control de una página web contiene una ViewState propiedad , que representa la acumulación de los cambios realizados por el cliente. En una página de Web Forms, estos cambios se codifican en los datos de postback como el value de un elemento HTML <input> con un type atributo de hidden. Por ejemplo:

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

Si truees , el explorador no enviará correctamente caracteres no alfabéticos en el VIEWSTATE valor ni una puerta de enlace intermedia. Para corregir esto, los adaptadores de control de servidor reemplazan caracteres no alfabéticos en el VIEWSTATE valor por los que no requieren codificación en solicitudes HTTP.

Se aplica a