Page.RegisterClientScriptBlock メソッド
アセンブリ: System.Web (system.web.dll 内)

<ObsoleteAttribute("The recommended alternative is ClientScript.RegisterClientScriptBlock(Type type, string key, string script). http://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). http://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). http://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). http://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). http://go.microsoft.com/fwlink/?linkid=14202") public function RegisterClientScriptBlock ( key : String, script : String )

Page オブジェクトの <form runat= server> 要素の開始タグ直後にクライアント側のスクリプトが出力されます。script パラメータで指定したスクリプト ブロックの文字列を、必ず開始と終了の <script> 要素で囲んでください。
このメソッドは、キーを使用してスクリプト ブロックを識別するので、異なるサーバー コントロールのインスタンスから要求されるたびにスクリプト ブロックを出力ストリームに出力する必要はありません。また、キーを使用すると、異なるコントロールのスクリプト ブロックが互いに干渉する可能性が低くなります。
同じ key パラメータ値のスクリプト ブロックは、重複であると見なされます。
![]() |
---|
要求側のブラウザがスクリプトをサポートしていない場合にスクリプトが表示されないように、HTML コメント タグでスクリプトを囲んでおいてください。 |
RegisterClientScriptBlock メソッドは推奨されていません。代わりに ClientScriptManager クラスの RegisterClientScriptBlock メソッドを使用してください。

IsClientScriptBlockRegistered メソッドと共に RegisterClientScriptBlock メソッドを使用する方法を次のコード例に示します。コード宣言ブロック内の ECMAScript がまだ登録されていないことが IsClientScriptBlockRegistered によるチェックで判明した場合は、RegisterClientScriptBlock の呼び出しが実行されます。
<html> <head> <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 topmargin="20" leftmargin="10"> <form id="myForm" runat="server"> <input type="text" id="show" style="width=200"> <input type="button" value="ClickMe" onclick="DoClick()"> </form> </body> </html>
<html> <head> <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 topmargin="20" leftmargin="10"> <form id="myForm" runat="server"> <input type="text" id="show" style="width=200"> <input type="button" value="ClickMe" onclick="DoClick()"> </form> </body> </html>
<html> <head> <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 topmargin="20" leftmargin="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 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


- Page.RegisterClientScriptBlock メソッドのページへのリンク