HttpCapabilitiesBase.RequiresSpecialViewStateEncoding Właściwość
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Pobiera wartość wskazującą, czy przeglądarka wymaga VIEWSTATE
specjalnego kodowania wartości.
public:
virtual property bool RequiresSpecialViewStateEncoding { bool get(); };
public virtual bool RequiresSpecialViewStateEncoding { get; }
member this.RequiresSpecialViewStateEncoding : bool
Public Overridable ReadOnly Property RequiresSpecialViewStateEncoding As Boolean
Wartość właściwości
true
jeśli przeglądarka wymaga VIEWSTATE
specjalnego kodowania wartości; w przeciwnym razie false
. Wartość domyślna to false
.
Przykłady
Poniższy przykład kodu pokazuje, jak określić, czy przeglądarka wymaga VIEWSTATE
specjalnego kodowania wartości.
<%@ 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>
Uwagi
HTTP to protokół bezstanowy i VIEWSTATE
jest jednym z mechanizmów służących do utrwalania zmian klienta w wielu żądaniach. Każda kontrolka na stronie sieci Web zawiera ViewState właściwość, która reprezentuje akumulację wszelkich zmian wprowadzonych przez klienta. Na stronie Web Forms te zmiany są kodowane w danych ogłaszania zwrotnego jako value
element HTML <input>
z atrybutem type
hidden
. Przykład:
<input type="hidden" name="__VIEWSTATE" value="t0PH_u56?cDxleHQ7P=" />
Jeśli true
znaki inne niż alfabetyczne w VIEWSTATE
wartości nie będą wysyłane poprawnie przez przeglądarkę ani przez bramę pośrednią. Aby rozwiązać ten błąd, karty sterowania serwerem zastępują znaki inne niż alfabetyczne w VIEWSTATE
wartości tymi, które nie wymagają kodowania w żądaniach HTTP.