ClientScriptManager.RegisterClientScriptBlock Metode

Definisi

Mendaftarkan skrip klien dengan Page objek .

Overload

Nama Deskripsi
RegisterClientScriptBlock(Type, String, String)

Mendaftarkan skrip klien dengan Page objek menggunakan jenis, kunci, dan skrip literal.

RegisterClientScriptBlock(Type, String, String, Boolean)

Mendaftarkan skrip klien dengan Page objek menggunakan jenis, kunci, skrip literal, dan nilai Boolean yang menunjukkan apakah akan menambahkan tag skrip.

RegisterClientScriptBlock(Type, String, String)

Mendaftarkan skrip klien dengan Page objek menggunakan jenis, kunci, dan skrip literal.

public:
 void RegisterClientScriptBlock(Type ^ type, System::String ^ key, System::String ^ script);
public void RegisterClientScriptBlock(Type type, string key, string script);
member this.RegisterClientScriptBlock : Type * string * string -> unit
Public Sub RegisterClientScriptBlock (type As Type, key As String, script As String)

Parameter

type
Type

Jenis skrip klien yang akan didaftarkan.

key
String

Kunci skrip klien untuk mendaftar.

script
String

Skrip klien harfiah untuk didaftarkan.

Contoh

Contoh kode berikut menunjukkan penggunaan RegisterClientScriptBlock metode .

<%@ 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 script on the page.
    String csName = "ButtonClickScript";
    Type csType = this.GetType();

    // Get a ClientScriptManager reference from the Page class.
    ClientScriptManager cs = Page.ClientScript;

    // Check to see if the client script is already registered.
    if (!cs.IsClientScriptBlockRegistered(csType, csName))
    {
      StringBuilder csText = new StringBuilder();
      csText.Append("<script type=\"text/javascript\"> function DoClick() {");
      csText.Append("Form1.Message.value='Text from client script.'; }");
      csText.Append("</script>");
      cs.RegisterClientScriptBlock(csType, csName, csText.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">
    Public Sub Page_Load(ByVal sender As [Object], ByVal e As EventArgs)
        ' Define the name and type of the client script on the page. 
        Dim csName 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 client script is already registered. 
        If Not cs.IsClientScriptBlockRegistered(csType, csName) Then
            Dim csText As New StringBuilder()
            csText.Append("<script type=""text/javascript""> function DoClick() {")
            csText.Append("Form1.Message.value='Text from client script.'; }")
            csText.Append("</script>")
            cs.RegisterClientScriptBlock(csType, csName, csText.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>

Keterangan

Skrip klien diidentifikasi secara unik oleh kunci dan jenisnya. Skrip dengan kunci dan jenis yang sama dianggap duplikat. Hanya satu skrip dengan jenis dan pasangan kunci tertentu yang dapat didaftarkan ke halaman. Mencoba mendaftarkan skrip yang sudah terdaftar tidak membuat duplikat skrip.

IsClientScriptBlockRegistered Panggil metode untuk menentukan apakah skrip klien dengan kunci tertentu dan pasangan jenis sudah terdaftar dan hindari upaya yang tidak perlu untuk menambahkan skrip.

Dalam kelebihan beban RegisterClientScriptBlock metode ini, Anda harus memastikan bahwa skrip yang disediakan dalam script parameter dibungkus dalam <script> blok elemen.

Metode menambahkan RegisterClientScriptBlock blok skrip ke bagian atas halaman yang dirender. Blok skrip tidak dijamin output dalam urutan terdaftar. Jika urutan blok skrip penting, gunakan StringBuilder objek untuk mengumpulkan skrip bersama-sama dalam satu string, lalu daftarkan semuanya dalam satu blok skrip klien.

Lihat juga

Berlaku untuk

RegisterClientScriptBlock(Type, String, String, Boolean)

Mendaftarkan skrip klien dengan Page objek menggunakan jenis, kunci, skrip literal, dan nilai Boolean yang menunjukkan apakah akan menambahkan tag skrip.

public:
 void RegisterClientScriptBlock(Type ^ type, System::String ^ key, System::String ^ script, bool addScriptTags);
public void RegisterClientScriptBlock(Type type, string key, string script, bool addScriptTags);
member this.RegisterClientScriptBlock : Type * string * string * bool -> unit
Public Sub RegisterClientScriptBlock (type As Type, key As String, script As String, addScriptTags As Boolean)

Parameter

type
Type

Jenis skrip klien yang akan didaftarkan.

key
String

Kunci skrip klien untuk mendaftar.

script
String

Skrip klien harfiah untuk didaftarkan.

addScriptTags
Boolean

Nilai Boolean yang menunjukkan apakah akan menambahkan tag skrip.

Pengecualian

Jenis blok skrip klien adalah null.

Contoh

Contoh kode berikut menunjukkan penggunaan RegisterClientScriptBlock metode . Perhatikan bahwa addScriptTags parameter diatur ke true sehingga tag skrip awal dan penutupan tidak disertakan dengan script parameter .

<%@ 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>

Keterangan

Skrip klien diidentifikasi secara unik oleh kunci dan jenisnya. Skrip dengan kunci dan jenis yang sama dianggap duplikat. Hanya satu skrip dengan jenis dan pasangan kunci tertentu yang dapat didaftarkan ke halaman. Mencoba mendaftarkan skrip yang sudah terdaftar tidak membuat duplikat skrip.

IsClientScriptBlockRegistered Panggil metode untuk menentukan apakah skrip klien dengan kunci tertentu dan pasangan jenis sudah terdaftar. Ini memungkinkan Anda menghindari upaya yang tidak perlu untuk menambahkan skrip.

Dalam kelebihan beban RegisterClientScriptBlock metode ini, Anda dapat menunjukkan apakah skrip yang disediakan dalam parameter dibungkus script dengan <script> blok elemen dengan menggunakan addScriptTags parameter . Pengaturan addScriptTags untuk true menunjukkan bahwa tag skrip akan ditambahkan secara otomatis.

Metode menambahkan RegisterClientScriptBlock blok skrip ke bagian atas halaman yang dirender. Blok skrip tidak dijamin output dalam urutan terdaftar. Jika urutan blok skrip penting, gunakan StringBuilder objek untuk mengumpulkan skrip bersama-sama dalam satu string, lalu daftarkan semuanya dalam satu blok skrip klien.

Lihat juga

Berlaku untuk