ScriptManager.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 blok skrip klien dengan ScriptManager kontrol untuk digunakan dengan kontrol yang berada di dalam UpdatePanel kontrol, lalu menambahkan blok skrip ke halaman.
Overload
| Nama | Deskripsi |
|---|---|
| RegisterClientScriptBlock(Control, Type, String, String, Boolean) |
Mendaftarkan blok skrip klien dengan ScriptManager kontrol untuk digunakan dengan kontrol yang berada di dalam UpdatePanel kontrol, lalu menambahkan blok skrip ke halaman. |
| RegisterClientScriptBlock(Page, Type, String, String, Boolean) |
Mendaftarkan blok skrip klien dengan ScriptManager kontrol untuk digunakan dengan kontrol yang berada di dalam UpdatePanel kontrol, lalu menambahkan blok skrip ke halaman. |
RegisterClientScriptBlock(Control, Type, String, String, Boolean)
Mendaftarkan blok skrip klien dengan ScriptManager kontrol untuk digunakan dengan kontrol yang berada di dalam UpdatePanel kontrol, lalu menambahkan blok skrip ke halaman.
public:
static void RegisterClientScriptBlock(System::Web::UI::Control ^ control, Type ^ type, System::String ^ key, System::String ^ script, bool addScriptTags);
public static void RegisterClientScriptBlock(System.Web.UI.Control control, Type type, string key, string script, bool addScriptTags);
static member RegisterClientScriptBlock : System.Web.UI.Control * Type * string * string * bool -> unit
Public Shared Sub RegisterClientScriptBlock (control As Control, type As Type, key As String, script As String, addScriptTags As Boolean)
Parameter
- control
- Control
Kontrol yang mendaftarkan blok skrip klien.
- type
- Type
Jenis blok skrip klien. Parameter ini biasanya ditentukan dengan menggunakan typeof operator (C#) atau GetType operator (Visual Basic) untuk mengambil jenis kontrol yang mendaftarkan skrip.
- key
- String
Pengidentifikasi unik untuk blok skrip.
- script
- String
Skripnya.
- addScriptTags
- Boolean
true untuk mengapit blok skrip di <script> dan </script> tag; jika tidak, false.
Pengecualian
Blok type skrip klien adalah null.
-atau-
Kontrol yang mendaftarkan blok skrip adalah null.
Kontrol yang mendaftarkan blok skrip tidak ada di pohon kontrol halaman.
Contoh
<%@ 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">
protected void Page_PreRender(object sender, EventArgs e)
{
string script = @"
function ToggleItem(id)
{
var elem = $get('div'+id);
if (elem)
{
if (elem.style.display != 'block')
{
elem.style.display = 'block';
elem.style.visibility = 'visible';
}
else
{
elem.style.display = 'none';
elem.style.visibility = 'hidden';
}
}
}
";
ScriptManager.RegisterClientScriptBlock(
this,
typeof(Page),
"ToggleScript",
script,
true);
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title>ScriptManager RegisterClientScriptInclude</title>
</head>
<body>
<form id="Form1" runat="server">
<div>
<br />
<asp:ScriptManager ID="ScriptManager1"
EnablePartialRendering="true"
runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1"
UpdateMode="Conditional"
runat="server">
<ContentTemplate>
<asp:XmlDataSource ID="XmlDataSource1"
DataFile="~/App_Data/Contacts.xml"
XPath="Contacts/Contact"
runat="server"/>
<asp:DataList ID="DataList1" DataSourceID="XmlDataSource1"
BackColor="White" BorderColor="#E7E7FF" BorderStyle="None"
BorderWidth="1px" CellPadding="3" GridLines="Horizontal"
runat="server">
<ItemTemplate>
<div style="font-size:larger; font-weight:bold; cursor:pointer;"
onclick='ToggleItem(<%# Eval("ID") %>);'>
<span><%# Eval("Name") %></span>
</div>
<div id='div<%# Eval("ID") %>'
style="display: block; visibility: visible;">
<span><%# Eval("Company") %></span>
<br />
<a href='<%# Eval("URL") %>'
target="_blank"
title='<%# Eval("Name", "Link to the {0} Web site") %>'>
<%# Eval("URL") %></a>
</asp:LinkButton>
<hr />
</div>
</ItemTemplate>
<FooterStyle BackColor="#B5C7DE" ForeColor="#4A3C8C" />
<SelectedItemStyle BackColor="#738A9C" Font-Bold="True" ForeColor="#F7F7F7" />
<AlternatingItemStyle BackColor="#F7F7F7" />
<ItemStyle BackColor="#E7E7FF" ForeColor="#4A3C8C" />
<HeaderStyle BackColor="#4A3C8C" Font-Bold="True" ForeColor="#F7F7F7" />
</asp:DataList>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</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_PreRender(ByVal sender As Object, ByVal e As System.EventArgs)
Dim script As String
script = _
"function ToggleItem(id)" & _
" {" & _
" var elem = $get('div'+id);" & _
" if (elem)" & _
" {" & _
" if (elem.style.display != 'block') " & _
" {" & _
" elem.style.display = 'block';" & _
" elem.style.visibility = 'visible';" & _
" } " & _
" else" & _
" {" & _
" elem.style.display = 'none';" & _
" elem.style.visibility = 'hidden';" & _
" }" & _
" }" & _
" }"
ScriptManager.RegisterClientScriptBlock( _
Me, _
GetType(Page), _
"ToggleScript", _
script, _
True)
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title>ScriptManager RegisterClientScriptInclude</title>
</head>
<body>
<form id="Form1" runat="server">
<div>
<br />
<asp:ScriptManager ID="ScriptManager1"
EnablePartialRendering="true"
runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1"
UpdateMode="Conditional"
runat="server">
<ContentTemplate>
<asp:XmlDataSource ID="XmlDataSource1"
DataFile="~/App_Data/Contacts.xml"
XPath="Contacts/Contact"
runat="server"/>
<asp:DataList ID="DataList1" DataSourceID="XmlDataSource1"
BackColor="White" BorderColor="#E7E7FF" BorderStyle="None"
BorderWidth="1px" CellPadding="3" GridLines="Horizontal"
runat="server">
<ItemTemplate>
<div style="font-size:larger; font-weight:bold; cursor:pointer;"
onclick='ToggleItem(<%# Eval("ID") %>);'>
<span><%# Eval("Name") %></span>
</div>
<div id='div<%# Eval("ID") %>'
style="display: block; visibility: visible;">
<span><%# Eval("Company") %></span>
<br />
<a href='<%# Eval("URL") %>'
target="_blank"
title='<%# Eval("Name", "Link to the {0} Web site") %>'>
<%# Eval("URL") %></a>
</asp:LinkButton>
<hr />
</div>
</ItemTemplate>
<FooterStyle BackColor="#B5C7DE" ForeColor="#4A3C8C" />
<SelectedItemStyle BackColor="#738A9C" Font-Bold="True" ForeColor="#F7F7F7" />
<AlternatingItemStyle BackColor="#F7F7F7" />
<ItemStyle BackColor="#E7E7FF" ForeColor="#4A3C8C" />
<HeaderStyle BackColor="#4A3C8C" Font-Bold="True" ForeColor="#F7F7F7" />
</asp:DataList>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</form>
</body>
</html>
<Contacts>
<Contact id="1"
Name="Aaber, Jesper"
Company="A. Data Corporation"
URL="http://www.adatum.com/"/>
<Contact id="2"
Name="Canel, Fabrice"
Company="Coho Winery"
URL="http://www.cohowinery.com/"/>
<Contact id="3"
Name="Heloo, Waleed"
Company="Contoso, Ltd"
URL="http://www.contoso.com/"/>
<Contact id="4"
Name="Rovik, Dag"
Company="Wingtip Toys"
URL="http://www.wingtiptoys.com/"/>
</Contacts>
Keterangan
Anda menggunakan RegisterClientScriptBlock metode untuk mendaftarkan blok skrip klien yang kompatibel dengan penyajian halaman parsial dan yang tidak memiliki dependensi Pustaka Microsoft Ajax. Blok skrip klien yang didaftarkan dengan menggunakan metode ini dikirim ke halaman hanya ketika control mewakili kontrol yang berada di dalam UpdatePanel kontrol yang sedang diperbarui. Untuk mendaftarkan blok skrip setiap kali terjadi postback asinkron, gunakan RegisterClientScriptBlock(Page, Type, String, String, Boolean) kelebihan beban metode ini.
Jika Anda ingin mendaftarkan blok skrip yang tidak berkaitan dengan pembaruan halaman parsial, dan jika Anda ingin mendaftarkan blok skrip hanya satu kali selama penyajian halaman awal, gunakan RegisterClientScriptBlock metode ClientScriptManager kelas . Anda bisa mendapatkan referensi ke ClientScriptManager objek dari ClientScript properti halaman.
Jika addScriptTags adalah true, RegisterClientScriptBlock metode menambahkan <script> tag di sekitar blok skrip. Teruskan false jika Anda ingin membuat <script> tag sendiri, seperti saat Anda ingin mengatur atribut tag tertentu <script> . Jika addScriptTags adalah false dan script parameter berisi beberapa blok skrip, pengecualian akan dilemparkan.
Metode menambahkan RegisterClientScriptBlock blok skrip ke halaman setelah tag pembuka <form> . Blok skrip tidak dijamin output dalam urutan yang sama di mana blok skrip terdaftar. Jika urutan blok skrip penting, gabungkan blok skrip Anda ke dalam satu string (misalnya, dengan menggunakan StringBuilder objek), lalu daftarkan sebagai blok skrip klien tunggal.
Lihat juga
Berlaku untuk
RegisterClientScriptBlock(Page, Type, String, String, Boolean)
Mendaftarkan blok skrip klien dengan ScriptManager kontrol untuk digunakan dengan kontrol yang berada di dalam UpdatePanel kontrol, lalu menambahkan blok skrip ke halaman.
public:
static void RegisterClientScriptBlock(System::Web::UI::Page ^ page, Type ^ type, System::String ^ key, System::String ^ script, bool addScriptTags);
public static void RegisterClientScriptBlock(System.Web.UI.Page page, Type type, string key, string script, bool addScriptTags);
static member RegisterClientScriptBlock : System.Web.UI.Page * Type * string * string * bool -> unit
Public Shared Sub RegisterClientScriptBlock (page As Page, type As Type, key As String, script As String, addScriptTags As Boolean)
Parameter
- page
- Page
Objek halaman yang mendaftarkan blok skrip klien.
- type
- Type
Jenis blok skrip klien. Parameter ini biasanya ditentukan dengan menggunakan typeof operator (C#) atau GetType operator (Visual Basic) untuk mengambil jenis kontrol yang mendaftarkan skrip.
- key
- String
Pengidentifikasi unik untuk blok skrip.
- script
- String
Skrip untuk mendaftar.
- addScriptTags
- Boolean
true untuk mengapit blok skrip di <script> dan </script> tag; jika tidak, false.
Pengecualian
Blok type skrip adalah null.
-atau-
Halaman yang mendaftarkan blok skrip adalah null.
Keterangan
Ketika Anda mendaftarkan blok skrip dengan menggunakan metode ini, skrip dirender setiap kali terjadi postback asinkron. Untuk mendaftarkan blok skrip untuk kontrol yang berada di dalam UpdatePanel kontrol sehingga skrip didaftarkan hanya ketika UpdatePanel kontrol diperbarui, gunakan RegisterClientScriptBlock(Control, Type, String, String, Boolean) kelebihan beban metode ini.
Jika Anda ingin mendaftarkan blok skrip yang tidak berkaitan dengan pembaruan halaman parsial, dan jika Anda ingin mendaftarkan blok skrip hanya satu kali selama penyajian halaman awal, gunakan RegisterClientScriptBlock metode ClientScriptManager kelas . Anda bisa mendapatkan referensi ke ClientScriptManager objek dari ClientScript properti halaman.