Page.RegisterClientScriptBlock メソッド
メモ : このメソッドは,互換性のために残されています。
応答に対してクライアント側のスクリプト ブロックを出力します。
名前空間: System.Web.UI
アセンブリ: System.Web (system.web.dll 内)
構文
'宣言
<ObsoleteAttribute("The recommended alternative is ClientScript.RegisterClientScriptBlock(Type type, string key, string script). https://go.microsoft.com/fwlink/?linkid=14202")> _
Public Overridable Sub RegisterClientScriptBlock ( _
key As String, _
script As String _
)
'使用
Dim instance As Page
Dim key As String
Dim script As String
instance.RegisterClientScriptBlock(key, script)
[ObsoleteAttribute("The recommended alternative is ClientScript.RegisterClientScriptBlock(Type type, string key, string script). https://go.microsoft.com/fwlink/?linkid=14202")]
public virtual void RegisterClientScriptBlock (
string key,
string script
)
[ObsoleteAttribute(L"The recommended alternative is ClientScript.RegisterClientScriptBlock(Type type, string key, string script). https://go.microsoft.com/fwlink/?linkid=14202")]
public:
virtual void RegisterClientScriptBlock (
String^ key,
String^ script
)
/** @attribute ObsoleteAttribute("The recommended alternative is ClientScript.RegisterClientScriptBlock(Type type, string key, string script). https://go.microsoft.com/fwlink/?linkid=14202") */
public void RegisterClientScriptBlock (
String key,
String script
)
ObsoleteAttribute("The recommended alternative is ClientScript.RegisterClientScriptBlock(Type type, string key, string script). https://go.microsoft.com/fwlink/?linkid=14202")
public function RegisterClientScriptBlock (
key : String,
script : String
)
適用できません。
パラメータ
- key
スクリプト ブロックを識別する一意のキー。
- script
クライアントに送られるスクリプトの内容。
解説
Page オブジェクトの <form runat= server> 要素の開始タグ直後にクライアント側のスクリプトが出力されます。script パラメータで指定したスクリプト ブロックの文字列を、必ず開始と終了の <script> 要素で囲んでください。
このメソッドは、キーを使用してスクリプト ブロックを識別するので、異なるサーバー コントロールのインスタンスから要求されるたびにスクリプト ブロックを出力ストリームに出力する必要はありません。また、キーを使用すると、異なるコントロールのスクリプト ブロックが互いに干渉する可能性が低くなります。
同じ key パラメータ値のスクリプト ブロックは、重複であると見なされます。
メモ : |
---|
要求側のブラウザがスクリプトをサポートしていない場合にスクリプトが表示されないように、HTML コメント タグでスクリプトを囲んでおいてください。 |
RegisterClientScriptBlock メソッドは推奨されていません。代わりに ClientScriptManager クラスの RegisterClientScriptBlock メソッドを使用してください。
使用例
IsClientScriptBlockRegistered メソッドと共に RegisterClientScriptBlock メソッドを使用する方法を次のコード例に示します。コード宣言ブロック内の ECMAScript がまだ登録されていないことが IsClientScriptBlockRegistered によるチェックで判明した場合は、RegisterClientScriptBlock の呼び出しが実行されます。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>ASP.NET Example</title>
<script language="VB" runat="server">
Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
If (Not IsClientScriptBlockRegistered("clientScript")) Then
'Form the script that is to be registered at client side.
Dim scriptString As String = "<script language=""JavaScript""> function DoClick() {"
scriptString += "myForm.show.value='Welcome to Microsoft .NET'}<"
scriptString += "/"
scriptString += "script>"
RegisterClientScriptBlock("clientScript", scriptString)
End If
End Sub
</script>
</head>
<body style="margin-top:20; margin-left:10">
<form id="myForm" runat="server">
<input type="text" id="show" style="width:200" />
<input type="button" value="ClickMe" onclick="DoClick()" />
</form>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>ASP.NET Example</title>
<script language="C#" runat="server">
public void Page_Load(Object sender, EventArgs e)
{
if (!this.IsClientScriptBlockRegistered("clientScript"))
{
// Form the script that is to be registered at client side.
String scriptString = "<script language=\"JavaScript\"> function DoClick() {";
scriptString += "myForm.show.value='Welcome to Microsoft .NET'}<";
scriptString += "/";
scriptString += "script>";
this.RegisterClientScriptBlock("clientScript", scriptString);
}
}
</script>
</head>
<body style="margin-top:20; margin-left:10">
<form id="myForm" runat="server">
<input type="text" id="show" style="width:200" /> <input type="button" value="ClickMe" onclick="DoClick()" />
</form>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>ASP.NET Example</title>
<script language="VJ#" runat="server">
public void Page_Load(Object sender, EventArgs e)
{
if (!(this.IsClientScriptBlockRegistered("clientScript")))
{
// Form the script that is to be registered at client side.
String scriptString =
"<script language=\"JavaScript\"> function DoClick() {";
scriptString += "myForm.show.value='Welcome to Microsoft .NET'}<";
scriptString += "/";
scriptString += "script>";
this.RegisterClientScriptBlock("clientScript", scriptString);
}
}//Page_Load
</script>
</head>
<body style="margin-top:20; margin-left:10">
<form id="myForm" runat="server">
<input type="text" id="show" style="width:200" /> <input type="button" value="ClickMe" onclick="DoClick()" />
</form>
</body>
</html>
プラットフォーム
Windows 98,Windows Server 2000 SP4,Windows CE,Windows Millennium Edition,Windows Mobile for Pocket PC,Windows Mobile for Smartphone,Windows Server 2003,Windows XP Media Center Edition,Windows XP Professional x64 Edition,Windows XP SP2,Windows XP Starter Edition
Microsoft .NET Framework 3.0 は Windows Vista,Microsoft Windows XP SP2,および Windows Server 2003 SP1 でサポートされています。
バージョン情報
.NET Framework
サポート対象 : 1.0,1.1,2.0
3.0 では,互換性のために残されています (コンパイル時に警告)