ClientScriptManager クラス

定義

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

public ref class ClientScriptManager sealed
public sealed class ClientScriptManager
type ClientScriptManager = class
Public NotInheritable Class ClientScriptManager
継承
ClientScriptManager

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

<%@ 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">
  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 xmlns="http://www.w3.org/1999/xhtml" >
  <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="VB" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<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 xmlns="http://www.w3.org/1999/xhtml" >
  <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>

注釈

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

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

クラスは ClientScriptManager 、キー StringTypeによってスクリプトを一意に識別します。 キーと型が同じスクリプトは重複していると見なされます。 スクリプトの種類を使用すると、ページで使用されている可能性のあるさまざまなユーザー コントロールから類似したスクリプトを混乱させるのを防ぐことができます。

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

注意

スクリプト コールバックは、ドキュメント オブジェクト モデル (DOM) をサポートしていない古いブラウザーでは機能せず、クライアントで ECMAScript が有効になっている必要があります。 ブラウザーでコールバックがサポートされているかどうかを確認するには、 プロパティをSupportsCallback使用します。このプロパティには、ASP.NET 組み込みRequestオブジェクトの プロパティを使用してBrowserアクセスできます。

メソッドと メソッドをGetPostBackEventReferenceGetPostBackClientHyperlink使用して、クライアント ポストバック イベントを定義します。 これらのメソッドを使用すると、クライアント スクリプト関数を呼び出すと、サーバーがページにポストバックできるようになります。 クライアント ポストバック イベントは、Web ページがクライアント ポストバック イベントを処理するための通常のライフ サイクルを完了するという点で、クライアント コールバックとは異なります。

注意

コントロールを Button 使用していて、 UseSubmitBehavior プロパティが に false設定されている場合は、 メソッドを GetPostBackEventReference 使用して、コントロールのクライアント ポストバック イベントを Button 返すことができます。

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

メソッド

Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
GetCallbackEventReference(Control, String, String, String)

クライアント関数への参照を取得します。この関数が呼び出されると、サーバー イベントに対するクライアント コールバックが開始されます。 このオーバーロードされたメソッドに対するクライアント関数には、指定されたコントロール、引数、クライアント スクリプト、およびコンテキストが含まれます。

GetCallbackEventReference(Control, String, String, String, Boolean)

クライアント関数への参照を取得します。この関数が呼び出されると、サーバー イベントに対するクライアント コール バックが開始されます。 このオーバーロードされたメソッドに対するクライアント関数には、指定されたコントロール、引数、クライアント スクリプト、コンテキスト、およびブール値が含まれます。

GetCallbackEventReference(Control, String, String, String, String, Boolean)

クライアント関数への参照を取得します。この関数が呼び出されると、サーバー イベントに対するクライアント コール バックが開始されます。 このオーバーロードされたメソッドに対するクライアント関数には、指定されたコントロール、引数、クライアント スクリプト、コンテキスト、エラー ハンドラー、およびブール値が含まれます。

GetCallbackEventReference(String, String, String, String, String, Boolean)

クライアント関数への参照を取得します。この関数が呼び出されると、サーバー イベントに対するクライアント コール バックが開始されます。 このオーバーロードされたメソッドに対するクライアント関数には、指定されたターゲット、引数、クライアント スクリプト、コンテキスト、エラー ハンドラー、およびブール値が含まれます。

GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetPostBackClientHyperlink(Control, String)

javascript: を参照の先頭に追加した上で参照を取得します。この参照をクライアント イベントで使用して、指定したコントロールを、指定したイベント引数を使用してサーバーにポストバックできます。

GetPostBackClientHyperlink(Control, String, Boolean)

javascript: を参照の先頭に追加した上で参照を取得します。この参照をクライアント イベントで使用して、指定したコントロールを、指定したイベント引数と、イベント検証用にポストバックを登録するかどうかを示すブール値を使用してサーバーにポストバックできます。

GetPostBackEventReference(Control, String)

クライアント イベントで使用できる、サーバーにポストバックするための文字列を返します。 この参照文字列は、ポストバックと追加のイベント情報の文字列引数を処理する、指定したコントロールによって定義されます。

GetPostBackEventReference(Control, String, Boolean)

クライアント イベントで使用する、サーバーにポストバックするための文字列を返します。 この参照文字列は、ポストバックと追加のイベント情報の文字列引数を処理する、指定したコントロールによって定義されます。 オプションで、検証用にこのイベント参照を登録します。

GetPostBackEventReference(PostBackOptions)

クライアント イベントで使用できる、サーバーにポストバックするための文字列を返します。 この参照文字列は、指定された PostBackOptions インスタンスによって定義されます。

GetPostBackEventReference(PostBackOptions, Boolean)

クライアント イベントで使用できる、サーバーにポストバックするための文字列を返します。 この参照文字列は、指定した PostBackOptions オブジェクトによって定義されます。 オプションで、検証用にこのイベント参照を登録します。

GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
GetWebResourceUrl(Type, String)

アセンブリ内のリソースへの URL 参照を取得します。

IsClientScriptBlockRegistered(String)

指定されたキーを使用して、クライアント スクリプト ブロックが Page オブジェクトに登録されているかどうかを判断します。

IsClientScriptBlockRegistered(Type, String)

キーと型を使用して、クライアント スクリプト ブロックが Page オブジェクトに登録されているかどうかを判断します。

IsClientScriptIncludeRegistered(String)

指定されたキーを使用して、クライアント スクリプト インクルードが Page オブジェクトに登録されているかどうかを判断します。

IsClientScriptIncludeRegistered(Type, String)

キーと型を使用して、クライアント スクリプト インクルードが Page オブジェクトに登録されているかどうかを判断します。

IsOnSubmitStatementRegistered(String)

指定されたキーを使用して OnSubmit ステートメントが Page オブジェクトに登録されているかどうかを判断します。

IsOnSubmitStatementRegistered(Type, String)

指定されたキーと型を使用して OnSubmit ステートメントが Page オブジェクトに登録されているかどうかを判断します。

IsStartupScriptRegistered(String)

指定されたキーを使用して、スタートアップ スクリプトが Page オブジェクトに登録されているかどうかを判断します。

IsStartupScriptRegistered(Type, String)

指定されたキーと型を使用して、スタートアップ スクリプトが Page オブジェクトに登録されているかどうかを判断します。

MemberwiseClone()

現在の Object の簡易コピーを作成します。

(継承元 Object)
RegisterArrayDeclaration(String, String)

配列名と配列値を使用して、JavaScript 配列宣言を Page オブジェクトに登録します。

RegisterClientScriptBlock(Type, String, String)

型、キー、およびスクリプト リテラルを使用して、Page オブジェクトにクライアント スクリプトを登録します。

RegisterClientScriptBlock(Type, String, String, Boolean)

型、キー、スクリプト リテラル、およびスクリプト タグを追加するかどうかを示すブール値を使用して、クライアント スクリプトを Page オブジェクトに登録します。

RegisterClientScriptInclude(String, String)

キーと URL を使用して、クライアント スクリプトを Page オブジェクトに登録します。これにより、スクリプトをクライアントから呼び出せるようになります。

RegisterClientScriptInclude(Type, String, String)

型、キー、および URL を使用して、クライアント スクリプト インクルードを Page オブジェクトに登録します。

RegisterClientScriptResource(Type, String)

型とリソース名を使用して、クライアント スクリプト リソースを Page オブジェクトに登録します。

RegisterExpandoAttribute(String, String, String)

コントロール ID、属性名、および属性値を指定して、指定されたコントロールのカスタム (expando) 属性として名前/値ペアを登録します。

RegisterExpandoAttribute(String, String, String, Boolean)

コントロール ID、属性名、属性値、および属性値をエンコードするかどうかを示すブール値を指定して、指定されたコントロールのカスタム (expando) 属性として名前/値ペアを登録します。

RegisterForEventValidation(PostBackOptions)

PostBackOptions を使用して、検証用にイベント参照を登録します。

RegisterForEventValidation(String)

イベントを生成するクライアント コントロールを表す一意のコントロール ID を使用して、検証用にイベント参照を登録します。

RegisterForEventValidation(String, String)

イベントを生成するクライアント コントロールを表す一意のコントロール ID とイベント引数を使用して、検証用にイベント参照を登録します。

RegisterHiddenField(String, String)

隠し値を Page オブジェクトに登録します。

RegisterOnSubmitStatement(Type, String, String)

型、キー、およびスクリプト リテラルを使用して、OnSubmit ステートメントを Page オブジェクトに登録します。 ステートメントは、HtmlForm が送信されると、実行されます。

RegisterStartupScript(Type, String, String)

型、キー、およびスクリプト リテラルを使用して、Page オブジェクトにスタートアップ スクリプを登録します。

RegisterStartupScript(Type, String, String, Boolean)

型、キー、スクリプト リテラル、およびスクリプト タグを追加するかどうかを示すブール値を使用して、スタートアップ スクリプを Page オブジェクトに登録します。

ToString()

現在のオブジェクトを表す文字列を返します。

(継承元 Object)
ValidateEvent(String)

RegisterForEventValidation(String) メソッドを使用して、イベント検証用に登録されたクライアント イベントを検証します。

ValidateEvent(String, String)

RegisterForEventValidation(String, String) メソッドを使用して、イベント検証用に登録されたクライアント イベントを検証します。

適用対象

こちらもご覧ください