HttpCapabilitiesBase.RequiresSpecialViewStateEncoding Özellik
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Tarayıcının VIEWSTATE
değerlerin özel olarak kodlanıp kodlanmadığını belirten bir değer alır.
public:
virtual property bool RequiresSpecialViewStateEncoding { bool get(); };
public virtual bool RequiresSpecialViewStateEncoding { get; }
member this.RequiresSpecialViewStateEncoding : bool
Public Overridable ReadOnly Property RequiresSpecialViewStateEncoding As Boolean
Özellik Değeri
true
tarayıcı, değerlerin özel olarak kodlanmış olmasını gerektiriyorsa VIEWSTATE
; değilse, false
. Varsayılan değer: false
.
Örnekler
Aşağıdaki kod örneği, tarayıcının VIEWSTATE
değerlerin özel olarak kodlanıp kodlanmayacağının nasıl belirleneceğini gösterir.
<%@ 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>
Açıklamalar
HTTP durum bilgisi olmayan bir protokoldür ve VIEWSTATE
istemci değişikliklerini birden çok istekte kalıcı hale getirmek için kullanılan bir mekanizmadır. Bir Web sayfasındaki her denetim, istemci tarafından yapılan değişikliklerin birikmesi temsil eden bir ViewState özellik içerir. Web Forms sayfasında, bu değişiklikler geri gönderme verilerinde özniteliğine hidden
sahip type
bir HTML <input>
öğesi olarak value
kodlanır. Örneğin:
<input type="hidden" name="__VIEWSTATE" value="t0PH_u56?cDxleHQ7P=" />
ise true
, değerdeki VIEWSTATE
alfabetik olmayan karakterler tarayıcı veya ara ağ geçidi tarafından doğru gönderilmez. Bunu düzeltmek için, sunucu denetim bağdaştırıcıları değerdeki alfabetik olmayan karakterleri HTTP isteklerinde VIEWSTATE
kodlama gerektirmeyen karakterlerle değiştirir.