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

ポストバック使用しないクライアントからサーバー コード実行する必要がある場合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) メンバはすべて、スレッド セーフです。インスタンス メンバ場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「ClientScriptManager クラス」の関連用語

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

   

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



ClientScriptManager クラスのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

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

©2024 GRAS Group, Inc.RSS