HttpCapabilitiesBase.RequiresSpecialViewStateEncoding Properti
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mendapatkan nilai yang menunjukkan apakah browser memerlukan VIEWSTATE nilai untuk dikodekan secara khusus.
public:
virtual property bool RequiresSpecialViewStateEncoding { bool get(); };
public virtual bool RequiresSpecialViewStateEncoding { get; }
member this.RequiresSpecialViewStateEncoding : bool
Public Overridable ReadOnly Property RequiresSpecialViewStateEncoding As Boolean
Nilai Properti
true jika browser memerlukan VIEWSTATE nilai untuk dikodekan secara khusus; jika tidak, false. Defaultnya adalah false.
Contoh
Contoh kode berikut menunjukkan cara menentukan apakah browser memerlukan VIEWSTATE nilai untuk dikodekan secara khusus.
<%@ 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>
Keterangan
HTTP adalah protokol stateless, dan VIEWSTATE merupakan salah satu mekanisme yang digunakan untuk mempertahankan perubahan klien di beberapa permintaan. Setiap kontrol pada halaman Web berisi ViewState properti, yang mewakili akumulasi perubahan apa pun yang dibuat oleh klien. Di halaman Formulir Web, perubahan ini dikodekan dalam data postback sebagai value elemen HTML <input> dengan type atribut hidden. Contohnya:
<input type="hidden" name="__VIEWSTATE" value="t0PH_u56?cDxleHQ7P=" />
Jika true, karakter non-alfabet dalam VIEWSTATE nilai tidak akan dikirim dengan benar oleh browser, atau oleh gateway perantara. Untuk memperbaiki ini, adaptor kontrol server menggantikan karakter non-alfabet dalam VIEWSTATE nilai dengan yang tidak memerlukan pengodean dalam permintaan HTTP.