ClientScriptManager.RegisterClientScriptBlock Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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.