ScriptManager.RegisterClientScriptBlock Metódus
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
Regisztrál egy ügyfélszkriptblokkot a ScriptManager vezérlővel, amely egy vezérlőn belül UpdatePanel található vezérlővel használható, majd hozzáadja a szkriptblokkot a laphoz.
Túlterhelések
| Name | Description |
|---|---|
| RegisterClientScriptBlock(Control, Type, String, String, Boolean) |
Regisztrál egy ügyfélszkriptblokkot a ScriptManager vezérlővel, amely egy vezérlőn belül UpdatePanel található vezérlővel használható, majd hozzáadja a szkriptblokkot a laphoz. |
| RegisterClientScriptBlock(Page, Type, String, String, Boolean) |
Regisztrál egy ügyfélszkriptblokkot a ScriptManager vezérlővel, amely egy vezérlőn belül UpdatePanel található vezérlővel használható, majd hozzáadja a szkriptblokkot a laphoz. |
RegisterClientScriptBlock(Control, Type, String, String, Boolean)
Regisztrál egy ügyfélszkriptblokkot a ScriptManager vezérlővel, amely egy vezérlőn belül UpdatePanel található vezérlővel használható, majd hozzáadja a szkriptblokkot a laphoz.
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)
Paraméterek
- control
- Control
Az ügyfélszkriptblokkot regisztráló vezérlő.
- type
- Type
Az ügyfélszkriptblokk típusa. Ezt a paramétert általában a typeof operátor (C#) vagy a GetType operátor (Visual Basic) használatával adhatja meg a szkriptet regisztráló vezérlő típusának lekéréséhez.
- key
- String
A szkriptblokk egyedi azonosítója.
- script
- String
A szkript.
- addScriptTags
- Boolean
true a szkriptblokk <script></script> és a címkék beágyazásához; ellenkező esetben false.
Kivételek
Az ügyfélszkript blokkjatype.null
-vagy-
A szkriptblokkot regisztráló vezérlő az null.
A szkriptblokkot regisztráló vezérlő nem szerepel a lap vezérlőfán.
Példák
<%@ 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>
Megjegyzések
A RegisterClientScriptBlock metódussal olyan ügyfélszkriptblokkot regisztrálhat, amely kompatibilis a részleges oldalleképezéssel, és amely nem rendelkezik Microsoft Ajax-kódtár-függőségekkel. Az ezzel a módszerrel regisztrált ügyfélszkriptblokkokat a rendszer csak akkor küldi el a lapra, ha control egy frissített vezérlőn belüli UpdatePanel vezérlőt jelöl. Ha minden alkalommal regisztrálni szeretne egy szkriptblokkot, amikor aszinkron visszavétel történik, használja ennek a metódusnak a RegisterClientScriptBlock(Page, Type, String, String, Boolean) túlterhelését.
Ha olyan szkriptblokkot szeretne regisztrálni, amely nem vonatkozik részleges oldalfrissítésre, és a szkriptblokkot csak egyszer szeretné regisztrálni a kezdeti lapmegjelenítés során, használja az RegisterClientScriptBlockClientScriptManager osztály metódusát. Az objektumra mutató hivatkozást az ClientScriptManagerClientScript oldal tulajdonságából kaphatja meg.
Ha addScriptTags igen true, a RegisterClientScriptBlock metódus címkéket ad <script> hozzá a szkriptblokkhoz. Adja át false , ha saját maga szeretne címkéket létrehozni <script> , például amikor meg szeretné adni az adott <script> címkék attribútumait. Ha addScriptTags igen, false és a script paraméter több szkriptblokkot tartalmaz, a rendszer kivételt jelez.
A RegisterClientScriptBlock metódus egy szkriptblokkot ad hozzá a laphoz a nyitó <form> címke után. A szkriptblokkok nem garantáltan ugyanabban a sorrendben jelennek meg, amelyben regisztrálva vannak. Ha a szkriptblokkok sorrendje fontos, fűzze össze a szkriptblokkokat egyetlen sztringben (például az StringBuilder objektum használatával), majd regisztrálja őket egyetlen ügyfélszkriptblokkként.
Lásd még
A következőre érvényes:
RegisterClientScriptBlock(Page, Type, String, String, Boolean)
Regisztrál egy ügyfélszkriptblokkot a ScriptManager vezérlővel, amely egy vezérlőn belül UpdatePanel található vezérlővel használható, majd hozzáadja a szkriptblokkot a laphoz.
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)
Paraméterek
- page
- Page
Az ügyfélszkriptblokkot regisztráló lapobjektum.
- type
- Type
Az ügyfélszkriptblokk típusa. Ezt a paramétert általában a typeof operátor (C#) vagy a GetType operátor (Visual Basic) használatával adhatja meg a szkriptet regisztráló vezérlő típusának lekéréséhez.
- key
- String
A szkriptblokk egyedi azonosítója.
- script
- String
A regisztrálandó szkript.
- addScriptTags
- Boolean
true a szkriptblokk <script></script> és a címkék beágyazásához; ellenkező esetben false.
Kivételek
A szkriptblokk type a következő null: .
-vagy-
A szkriptblokkot regisztráló lap az null.
Megjegyzések
Ha ezzel a módszerrel regisztrál egy szkriptblokkot, a szkript minden alkalommal renderel, amikor aszinkron utólagos visszaállítás történik. Ha egy vezérlőn belüli UpdatePanel vezérlőelemhez szeretne szkriptblokkot regisztrálni, hogy a szkript csak a UpdatePanel vezérlő frissítésekor legyen regisztrálva, használja a RegisterClientScriptBlock(Control, Type, String, String, Boolean) metódus túlterhelését.
Ha olyan szkriptblokkot szeretne regisztrálni, amely nem vonatkozik részleges oldalfrissítésre, és a szkriptblokkot csak egyszer szeretné regisztrálni a kezdeti lapmegjelenítés során, használja az RegisterClientScriptBlockClientScriptManager osztály metódusát. Az objektumra mutató hivatkozást az ClientScriptManagerClientScript oldal tulajdonságából kaphatja meg.