HttpCapabilitiesBase.RequiresSpecialViewStateEncoding Proprietà
Definizione
Ottiene un valore che indica se il browser richiede una codifica speciale per i valori VIEWSTATE
.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
Valore della proprietà
true
se il browser richiede una codifica speciale per i valori VIEWSTATE
; in caso contrario, false
.true
if the browser requires VIEWSTATE
values to be specially encoded; otherwise, false
. Il valore predefinito è false
.The default is false
.
Esempio
Nell'esempio di codice seguente viene illustrato come determinare se il browser richiede una VIEWSTATE
codifica speciale per i valori.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>
Commenti
HTTP è un protocollo senza stato e VIEWSTATE
è un meccanismo utilizzato per salvare in modo permanente le modifiche del client tra più richieste.HTTP is a stateless protocol, and VIEWSTATE
is one mechanism used to persist client changes across multiple requests. Ogni controllo in una pagina Web contiene una ViewState proprietà che rappresenta l'accumulo di eventuali modifiche apportate dal client.Each control on a Web page contains a ViewState property, which represents the accumulation of any changes made by the client. In una pagina Web Form queste modifiche vengono codificate nei dati di postback come value
di un <input>
elemento HTML con un type
attributo di 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
. Ad esempio:For example:
<input type="hidden" name="__VIEWSTATE" value="t0PH_u56?cDxleHQ7P=" />
Se true
, i caratteri non alfabetici nel VIEWSTATE
valore non verranno inviati correttamente dal browser né da un gateway intermedio. Per risolvere questo problema, gli adattatori di controllo server sostituiscono i caratteri non alfabetici nel VIEWSTATE
valore con quelli che non richiedono la codifica nelle richieste 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.