ClientScriptManagerとは? わかりやすく解説

ClientScriptManager クラス

メモ : このクラスは、.NET Framework version 2.0 で新しく追加されたものです。

Web アプリケーションのクライアント側スクリプトを管理するためのメソッドを定義します。

名前空間: System.Web.UI
アセンブリ: System.Web (system.web.dll 内)
構文構文

Public NotInheritable Class
 ClientScriptManager
Dim instance As ClientScriptManager
public sealed class ClientScriptManager
public ref class ClientScriptManager sealed
public final class ClientScriptManager
public final class ClientScriptManager
解説解説

ClientScriptManager クラスは、クライアント側スクリプトを管理し、これらを Web アプリケーションに追加する目的で使用されます。Page オブジェクトの ClientScript プロパティから、ClientScriptManager クラスへの参照を取得できます。

クライアント側スクリプトを Web ページの HTML マークアップに含めることで、宣言によってこのスクリプトを Web ページに追加できます。ただし、クライアント側スクリプトを動的に追加することが必要な場合もあります。スクリプトを動的に追加するには、RegisterClientScriptBlock、RegisterClientScriptInclude、RegisterStartupScript、または RegisterOnSubmitStatement の各メソッドを、スクリプトを追加するタイミングと方法に応じて使用します。詳細については、「方法 : ASP.NET Web ページにクライアント スクリプトを動的に追加する」を参照してください。

ClientScriptManager クラスは、キーの String と Type によって一意にスクリプトを識別します。同じキーと型を持つスクリプトは重複していると見なされます。スクリプトの型を使用することにより、同じページ上で使用される可能性のある異なるユーザー コントロールから実行される似たようなスクリプトが混同されることを防ぐことができます。

ポストバックを使用しないでクライアントからサーバー コードを実行する必要がある場合、ClientScriptManager クラスを使用して、クライアント コールバックを起動できます。これは、サーバーに対して帯域外コールバックを実行するとも言います。クライアント コールバックでは、クライアント スクリプト関数は ASP.NET Web ページに非同期要求を送信します。Web ページは、その通常の有効期間の変形バージョンで、コールバックを処理します。GetCallbackEventReference メソッドを使用して、クライアント側関数への参照を取得します。この関数が呼び出されると、サーバー側イベントに対するクライアント コールバックが開始されます。詳細については、「ASP.NET Web ページでポストバックせずにクライアント コールバックを実装する」を参照してください。

メモメモ

スクリプト コールバックは、Document Object Model (DOM) をサポートしないブラウザでは動作しません。また、クライアント側で ECMAScript が有効になっていることも必要です。クライアントのブラウザがコールバックをサポートしているかどうかをチェックするには、SupportsCallback プロパティを使用します。このプロパティには、ASP.NET 組み込み Request オブジェクトの Browser プロパティからアクセスできます。

クライアント ポストバック イベントを定義するには、GetPostBackEventReference メソッドと GetPostBackClientHyperlink メソッドを使用します。これらのメソッドが呼び出されると、クライアント側スクリプト関数が、サーバーを介してページにポストバックを実行できる状態になります。クライアント ポストバック イベントは、Web ページが通常の有効期間を完了してクライアント ポストバック イベントを処理する点において、クライアント コールバックとは異なります。

Button、ImageButton、およぴ LinkButton の各コントロールの OnClientClick プロパティを使用して、クライアント側スクリプトを実行できます。

使用例使用例

ClientScriptManager クラスの RegisterClientScriptBlock メソッドの使用方法を示すコード例を次に示します。ページには 2 つのクライアント側スクリプトが定義されています。ページが読み込まれる際に、クライアント側の警告メッセージを表示する PopupScript と、onClick イベントに対するクライアント側ハンドラを定義する ButtonClickScript です。

<%@ Page Language="VB" %>

<script runat="server">

  Protected Sub Page_Load(ByVal
 sender As Object, ByVal
 e As System.EventArgs)

    ' Define the name and type of the client scripts on the page.
    Dim csname1 As String
 = "PopupScript"
    Dim csname2 As String
 = "ButtonClickScript"
    Dim cstype As Type = Me.GetType()
    
    ' Get a ClientScriptManager reference from the Page class.
    Dim cs As ClientScriptManager = Page.ClientScript

    ' Check to see if the startup script is already registered.
    If (Not cs.IsStartupScriptRegistered(cstype,
 csname1)) Then
      
      Dim cstext1 As String
 = "alert('Hello World');"
      cs.RegisterStartupScript(cstype, csname1, cstext1, True)
      
    End If
    
    ' Check to see if the client script is already registered.
    If (Not cs.IsClientScriptBlockRegistered(cstype,
 csname2)) Then
      
      Dim cstext2 As New
 StringBuilder()
      cstext2.Append("<script type=text/javascript> function
 DoClick() {")
      cstext2.Append("Form1.Message.value='Text from client script.'}
 </")
      cstext2.Append("script>")
      cs.RegisterClientScriptBlock(cstype, csname2, cstext2.ToString(), False)
      
    End If
    
  End Sub
  
</script>

<html>
  <head>
    <title>ClientScriptManager Example</title>
  </head>
  <body>
     <form id="Form1"
         runat="server">
        <input type="text" id="Message">
 <input type="button" value="ClickMe"
 onclick="DoClick()">
     </form>
  </body>
</html>
<%@ Page Language="C#"%>
<script runat="server">
  public void Page_Load(Object sender, EventArgs
 e)
  {
    // Define the name and type of the client scripts on the page.
    String csname1 = "PopupScript";
    String csname2 = "ButtonClickScript";
    Type cstype = this.GetType();
        
    // Get a ClientScriptManager reference from the Page class.
    ClientScriptManager cs = Page.ClientScript;

    // Check to see if the startup script is already registered.
    if (!cs.IsStartupScriptRegistered(cstype, csname1))
    {
      String cstext1 = "alert('Hello World');";
      cs.RegisterStartupScript(cstype, csname1, cstext1, true);
    }

    // Check to see if the client script is already registered.
    if (!cs.IsClientScriptBlockRegistered(cstype, csname2))
    {
      StringBuilder cstext2 = new StringBuilder();
      cstext2.Append("<script type=text/javascript> function DoClick()
 {");
      cstext2.Append("Form1.Message.value='Text from client script.'} </");
      cstext2.Append("script>");
      cs.RegisterClientScriptBlock(cstype, csname2, cstext2.ToString(), false);
    }
  }
</script>
<html>
  <head>
    <title>ClientScriptManager Example</title>
  </head>
  <body>
     <form id="Form1"
         runat="server">
        <input type="text" id="Message"> <input type="button"
 value="ClickMe" onclick="DoClick()">
     </form>
  </body>
</html>
.NET Framework のセキュリティ.NET Framework のセキュリティ
継承階層継承階層
System.Object
  System.Web.UI.ClientScriptManager
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバの場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

ClientScriptManager メソッド


パブリック メソッドパブリック メソッド

( プロテクト メソッド も参照)
  名前 説明
パブリック メソッド Equals  オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 ( Object から継承されます。)
パブリック メソッド GetCallbackEventReference オーバーロードされます。 クライアント側関数への参照を取得します。この関数が呼び出されると、サーバー側イベントに対するクライアント コールバックが開始されます。
パブリック メソッド GetHashCode  特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 ( Object から継承されます。)
パブリック メソッド GetPostBackClientHyperlink オーバーロードされます。 javascript: を参照の先頭に付加した上で参照を取得します。この参照をクライアント イベントで使用して、サーバーにポストバックできます。
パブリック メソッド GetPostBackEventReference オーバーロードされます。 クライアント イベントで使用できる、サーバーにポストバックするための文字列を返します。
パブリック メソッド GetType  現在のインスタンスの Type を取得します。 ( Object から継承されます。)
パブリック メソッド GetWebResourceUrl サーバー側リソースへの URL 参照を取得します。
パブリック メソッド IsClientScriptBlockRegistered オーバーロードされます。 クライアント スクリプト ブロックが Page オブジェクトに登録されているかどうかを判断します。
パブリック メソッド IsClientScriptIncludeRegistered オーバーロードされます。 クライアント スクリプト インクルードが Page オブジェクトに登録されているかどうかを判断します。
パブリック メソッド IsOnSubmitStatementRegistered オーバーロードされます。 OnSubmit ステートメントが Page オブジェクトに登録されているかどうかを判断します。
パブリック メソッド IsStartupScriptRegistered オーバーロードされます。 起動スクリプトが Page オブジェクトに登録されているかどうかを判断します。
パブリック メソッド ReferenceEquals  指定した複数の Object インスタンスが同一かどうかを判断します。 ( Object から継承されます。)
パブリック メソッド RegisterArrayDeclaration 配列名と配列値を使用して、JavaScript 配列宣言を Page オブジェクトに登録します。
パブリック メソッド RegisterClientScriptBlock オーバーロードされます。 クライアント スクリプトを Page オブジェクトに登録します。
パブリック メソッド RegisterClientScriptInclude オーバーロードされます。 クライアント スクリプト インクルードを Page オブジェクトに登録します。
パブリック メソッド RegisterClientScriptResource 型とリソース名を使用して、クライアント スクリプト リソースを Page オブジェクトに登録します。
パブリック メソッド RegisterExpandoAttribute オーバーロードされます。 指定されたコントロールのカスタム (expando) 属性として名前/値ペアを登録します。
パブリック メソッド RegisterForEventValidation オーバーロードされます。 検証用にイベント参照を登録します。
パブリック メソッド RegisterHiddenField 隠し値を Page オブジェクトに登録します。
パブリック メソッド RegisterOnSubmitStatement 型、キー、およびスクリプト リテラルを使用して、OnSubmit ステートメントを Page オブジェクトに登録します。ステートメントは、HtmlForm が送信されると、実行されます。
パブリック メソッド RegisterStartupScript オーバーロードされます。 起動スクリプトを Page オブジェクトに登録します。
パブリック メソッド ToString  現在の Object を表す String を返します。 ( Object から継承されます。)
パブリック メソッド ValidateEvent オーバーロードされます。 クライアント側のイベントを検証します。
プロテクト メソッドプロテクト メソッド
参照参照

関連項目

ClientScriptManager クラス
System.Web.UI 名前空間
Page
SupportsCallback
SupportsXmlHttp

その他の技術情報

ASP.NET Web ページのクライアント スクリプト
ASP.NET Web ページでポストバックせずにクライアント コールバックを実装する

ClientScriptManager メンバ

Web アプリケーションのクライアント側スクリプトを管理するためのメソッドを定義します。

ClientScriptManager データ型で公開されるメンバを以下の表に示します。


パブリック メソッドパブリック メソッド
( プロテクト メソッド も参照)
  名前 説明
パブリック メソッド Equals  オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 (Object から継承されます。)
パブリック メソッド GetCallbackEventReference オーバーロードされます。 クライアント側関数への参照を取得します。この関数が呼び出されると、サーバー側イベントに対するクライアント コールバックが開始されます。
パブリック メソッド GetHashCode  特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 (Object から継承されます。)
パブリック メソッド GetPostBackClientHyperlink オーバーロードされます。 javascript: を参照の先頭に付加した上で参照を取得します。この参照をクライアント イベントで使用して、サーバーにポストバックできます。
パブリック メソッド GetPostBackEventReference オーバーロードされます。 クライアント イベントで使用できる、サーバーにポストバックするための文字列を返します。
パブリック メソッド GetType  現在のインスタンスの Type を取得します。 (Object から継承されます。)
パブリック メソッド GetWebResourceUrl サーバー側リソースへの URL 参照を取得します。
パブリック メソッド IsClientScriptBlockRegistered オーバーロードされます。 クライアント スクリプト ブロックが Page オブジェクトに登録されているかどうかを判断します。
パブリック メソッド IsClientScriptIncludeRegistered オーバーロードされます。 クライアント スクリプト インクルードが Page オブジェクトに登録されているかどうかを判断します。
パブリック メソッド IsOnSubmitStatementRegistered オーバーロードされます。 OnSubmit ステートメントが Page オブジェクトに登録されているかどうかを判断します。
パブリック メソッド IsStartupScriptRegistered オーバーロードされます。 起動スクリプトが Page オブジェクトに登録されているかどうかを判断します。
パブリック メソッド ReferenceEquals  指定した複数の Object インスタンスが同一かどうかを判断します。 (Object から継承されます。)
パブリック メソッド RegisterArrayDeclaration 配列名と配列値を使用して、JavaScript 配列宣言を Page オブジェクトに登録します。
パブリック メソッド RegisterClientScriptBlock オーバーロードされます。 クライアント スクリプトを Page オブジェクトに登録します。
パブリック メソッド RegisterClientScriptInclude オーバーロードされます。 クライアント スクリプト インクルードを Page オブジェクトに登録します。
パブリック メソッド RegisterClientScriptResource 型とリソース名を使用して、クライアント スクリプト リソースを Page オブジェクトに登録します。
パブリック メソッド RegisterExpandoAttribute オーバーロードされます。 指定されたコントロールのカスタム (expando) 属性として名前/値ペアを登録します。
パブリック メソッド RegisterForEventValidation オーバーロードされます。 検証用にイベント参照を登録します。
パブリック メソッド RegisterHiddenField 隠し値を Page オブジェクトに登録します。
パブリック メソッド RegisterOnSubmitStatement 型、キー、およびスクリプト リテラルを使用して、OnSubmit ステートメントを Page オブジェクトに登録します。ステートメントは、HtmlForm が送信されると、実行されます。
パブリック メソッド RegisterStartupScript オーバーロードされます。 起動スクリプトを Page オブジェクトに登録します。
パブリック メソッド ToString  現在の Object を表す String を返します。 (Object から継承されます。)
パブリック メソッド ValidateEvent オーバーロードされます。 クライアント側のイベントを検証します。
プロテクト メソッドプロテクト メソッド
参照参照

関連項目

ClientScriptManager クラス
System.Web.UI 名前空間
Page
SupportsCallback
SupportsXmlHttp

その他の技術情報

ASP.NET Web ページのクライアント スクリプト
ASP.NET Web ページでポストバックせずにクライアント コールバックを実装する


このページでは「.NET Framework クラス ライブラリ リファレンス」からClientScriptManagerを検索した結果を表示しています。
Weblioに収録されているすべての辞書からClientScriptManagerを検索する場合は、下記のリンクをクリックしてください。
 全ての辞書からClientScriptManager を検索

英和和英テキスト翻訳

英語⇒日本語日本語⇒英語

辞書ショートカット

すべての辞書の索引

「ClientScriptManager」の関連用語

ClientScriptManagerのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



ClientScriptManagerのページの著作権

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2026 Microsoft.All rights reserved.

©2026 GRAS Group, Inc.RSS