HttpCapabilitiesBase.RequiresSpecialViewStateEncoding プロパティ
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
ブラウザーが VIEWSTATE
値に対して特殊なエンコードを必要とするかどうかを示す値を取得します。
public:
virtual property bool RequiresSpecialViewStateEncoding { bool get(); };
public virtual bool RequiresSpecialViewStateEncoding { get; }
member this.RequiresSpecialViewStateEncoding : bool
Public Overridable ReadOnly Property RequiresSpecialViewStateEncoding As Boolean
プロパティ値
ブラウザーが true
値に対して特殊なエンコードを必要とする場合は VIEWSTATE
。それ以外の場合は false
。 既定値は、false
です。
例
次のコード例は、ブラウザーで値を特別にエンコードする必要 VIEWSTATE
があるかどうかを判断する方法を示しています。
<%@ 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>
注釈
HTTP はステートレス プロトコルであり VIEWSTATE
、複数の要求間でクライアントの変更を保持するために使用される 1 つのメカニズムです。 Web ページ上の各コントロールには、クライアントによって行われた変更の累積を表すプロパティが含まれています ViewState 。 Web Forms ページでは、これらの変更はポストバック データvalue
で、<input>``type
属性hidden
が . 次に例を示します。
<input type="hidden" name="__VIEWSTATE" value="t0PH_u56?cDxleHQ7P=" />
この場合 true
、値のアルファベット以外の VIEWSTATE
文字は、ブラウザーや中間ゲートウェイによって正しく送信されません。 これを修正するために、サーバー制御アダプターは、値のアルファベット以外の文字を VIEWSTATE
、HTTP 要求でエンコードを必要としない文字に置き換えます。