HttpCapabilitiesBase.RequiresSpecialViewStateEncoding Propriedade
Definição
Obtém um valor que indica se o navegador requer que os valores de VIEWSTATE tenham codificação especial.Gets a value indicating whether the browser requires VIEWSTATE values to be specially encoded.
public:
virtual property bool RequiresSpecialViewStateEncoding { bool get(); };
public virtual bool RequiresSpecialViewStateEncoding { get; }
member this.RequiresSpecialViewStateEncoding : bool
Public Overridable ReadOnly Property RequiresSpecialViewStateEncoding As Boolean
Valor da propriedade
true Se o navegador exigir VIEWSTATE que os valores sejam codificados especialmente; caso contrário, false .true if the browser requires VIEWSTATE values to be specially encoded; otherwise, false. O padrão é false.The default is false.
Exemplos
O exemplo de código a seguir mostra como determinar se o navegador exige VIEWSTATE que os valores sejam codificados especialmente.The following code example shows how to determine whether the browser requires VIEWSTATE values to be specially encoded.
<%@ 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>
Comentários
HTTP é um protocolo sem estado e VIEWSTATE é um mecanismo usado para manter as alterações do cliente em várias solicitações.HTTP is a stateless protocol, and VIEWSTATE is one mechanism used to persist client changes across multiple requests. Cada controle em uma página da Web contém uma ViewState propriedade, que representa o acúmulo de quaisquer alterações feitas pelo cliente.Each control on a Web page contains a ViewState property, which represents the accumulation of any changes made by the client. Em uma página Web Forms, essas alterações são codificadas em dados de postback como o value de um <input> elemento HTML com um type atributo de hidden .In a Web Forms page, these changes are encoded in postback data as the value of an HTML <input> element with a type attribute of hidden. Por exemplo:For example:
<input type="hidden" name="__VIEWSTATE" value="t0PH_u56?cDxleHQ7P=" />
Se true , os caracteres não alfabéticos no VIEWSTATE valor não serão enviados corretamente pelo navegador, nem por um gateway intermediário. Para corrigir isso, os adaptadores de controle de servidor substituem caracteres não alfabéticos no VIEWSTATE valor por aqueles que não exigem codificação em solicitações HTTP.To correct this, server-control adapters replace non-alphabetic characters in the VIEWSTATE value with ones that do not require encoding in HTTP requests.