Page.RegisterClientScriptBlock(String, String) メソッド

定義

注意事項

The recommended alternative is ClientScript.RegisterClientScriptBlock(Type type, string key, string script). http://go.microsoft.com/fwlink/?linkid=14202

応答に対してクライアント側のスクリプト ブロックを出力します。

public:
 virtual void RegisterClientScriptBlock(System::String ^ key, System::String ^ script);
public virtual void RegisterClientScriptBlock (string key, string script);
[System.Obsolete("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);
abstract member RegisterClientScriptBlock : string * string -> unit
override this.RegisterClientScriptBlock : string * string -> unit
[<System.Obsolete("The recommended alternative is ClientScript.RegisterClientScriptBlock(Type type, string key, string script). http://go.microsoft.com/fwlink/?linkid=14202")>]
abstract member RegisterClientScriptBlock : string * string -> unit
override this.RegisterClientScriptBlock : string * string -> unit
Public Overridable Sub RegisterClientScriptBlock (key As String, script As String)

パラメーター

key
String

スクリプト ブロックを識別する一意のキー。

script
String

クライアントに送られるスクリプトの内容。

属性

次のコード例では、 メソッドと メソッドを RegisterClientScriptBlock 組み合わせて使用する方法を IsClientScriptBlockRegistered 示します。 によって決定 IsClientScriptBlockRegisteredされたコード宣言ブロックの ECMAScript がまだ登録されていない場合、呼び出し RegisterClientScriptBlock が行われます。

<%@ 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)
  {
    String csname1 = "PopupScript";
    String csname2 = "ButtonClickScript";

    if (!IsClientScriptBlockRegistered(csname1))
    {
        String cstext1 = "<script type=\"text/javascript\">" +
            "alert('Hello World');</" + "script>";
        RegisterStartupScript(csname1, cstext1);
    }

    if (!IsClientScriptBlockRegistered(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>");
      RegisterClientScriptBlock(csname2, cstext2.ToString());
    }
  }
</script>
<html  >
  <head>
    <title>RegisterClientScriptBlock 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 EventArgs)
        Dim csname1 As String = "PopupScript"

        Dim csname2 As String = "ButtonClickScript"
    
        If Not IsClientScriptBlockRegistered(csname1) Then
            Dim cstext1 As String = "<script type=""text/javascript"">" & _
                "alert('Hello World');</" & "script>"
            RegisterStartupScript(csname1, cstext1)
        End If
    
        If Not IsClientScriptBlockRegistered(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>")
            RegisterClientScriptBlock(csname2, cstext2.ToString())
        End If
    End Sub
</script>
<html  >
  <head>
    <title>RegisterClientScriptBlock Example</title>
  </head>
  <body>
     <form id="Form1"
         runat="server">
        <input type="text" id="Message" /> <input type="button" value="ClickMe" onclick="DoClick()" />
     </form>
  </body>
</html>

注釈

クライアント側スクリプトは、オブジェクト<form runat= server>の 要素の開始タグの直後にPage出力されます。 パラメーターで指定されたスクリプト ブロック文字列の周囲に、開始要素と終了 <script> 要素を script 含めるようにしてください。

このメソッドはキーを使用してスクリプト ブロックを識別するため、スクリプト ブロックは、別のサーバー コントロール インスタンスによって要求されるたびに出力ストリームに出力される必要はありません。 キーを使用すると、異なるコントロールのスクリプト ブロックが相互に干渉する可能性も低くなります。

同じ key パラメーター値を持つスクリプト ブロックは、重複していると見なされます。

注意

要求側のブラウザーでスクリプトがサポートされていない場合はレンダリングされないように、スクリプトの周囲に HTML コメント タグを含める必要があります。

RegisterClientScriptBlock メソッドの使用は非推奨とされました。 代わりに RegisterClientScriptBlock クラスの ClientScriptManager メソッドを使用してください。

適用対象