ScriptManager.RegisterClientScriptBlock Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Bir denetimin ScriptManager içindeki bir denetimle kullanmak üzere denetimiyle bir UpdatePanel istemci betik bloğu kaydeder ve ardından betik bloğunu sayfaya ekler.
Aşırı Yüklemeler
RegisterClientScriptBlock(Control, Type, String, String, Boolean) |
Bir denetimin ScriptManager içindeki bir denetimle kullanmak üzere denetimiyle bir UpdatePanel istemci betik bloğu kaydeder ve ardından betik bloğunu sayfaya ekler. |
RegisterClientScriptBlock(Page, Type, String, String, Boolean) |
Bir denetimin ScriptManager içindeki bir denetimle kullanmak üzere denetimiyle bir UpdatePanel istemci betik bloğu kaydeder ve ardından betik bloğunu sayfaya ekler. |
RegisterClientScriptBlock(Control, Type, String, String, Boolean)
Bir denetimin ScriptManager içindeki bir denetimle kullanmak üzere denetimiyle bir UpdatePanel istemci betik bloğu kaydeder ve ardından betik bloğunu sayfaya ekler.
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)
Parametreler
- control
- Control
İstemci betik bloğunu kaydeden denetim.
- type
- Type
İstemci betik bloğunun türü. Bu parametre genellikle betiği kaydeden denetimin typeof
türünü almak için işleci (C#) veya GetType
işleci (Visual Basic) kullanılarak belirtilir.
- key
- String
Betik bloğu için benzersiz bir tanımlayıcı.
- script
- String
Komut dosyası.
- addScriptTags
- Boolean
true
betik bloğunu ve </script>
etiketlerini <script>
içine almak için; aksi takdirde , false
.
Özel durumlar
İstemci betik bloğu type
şeklindedir null
.
-veya-
Betik bloğunu kaydeden denetim şeklindedir null
.
Betik bloğunu kaydeden denetim, sayfanın denetim ağacında değil.
Örnekler
<%@ 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>
Açıklamalar
Yöntemini, RegisterClientScriptBlock kısmi sayfa işleme ile uyumlu ve Microsoft Ajax Kitaplığı bağımlılıkları olmayan bir istemci betik bloğunu kaydetmek için kullanırsınız. Bu yöntem kullanılarak kaydedilen istemci betik blokları sayfaya yalnızca güncelleştirilmekte olan denetimin içindeki bir UpdatePanel denetimi temsil ettiğinde control
gönderilir. Zaman uyumsuz bir geri gönderme gerçekleştiğinde bir betik bloğunu kaydetmek için bu yöntemin RegisterClientScriptBlock(Page, Type, String, String, Boolean) aşırı yüklemesini kullanın.
Kısmi sayfa güncelleştirmeleri ile ilgili olmayan bir betik bloğunu kaydetmek istiyorsanız ve betik bloğunu ilk sayfa işleme sırasında yalnızca bir kez kaydetmek istiyorsanız sınıfının yöntemini ClientScriptManager kullanınRegisterClientScriptBlock. Nesneye başvuruyu ClientScriptManager sayfanın özelliğinden ClientScript alabilirsiniz.
ise addScriptTags
true
RegisterClientScriptBlock yöntemi betik bloğunun çevresine etiketler ekler<script>
. Etiketleri kendiniz oluşturmak <script>
istiyorsanız ( örneğin belirli <script>
etiketlerin özniteliklerini ayarlamak istediğinizde) geçirinfalse
. ise addScriptTags
false
ve script
parametresi birden çok betik bloğu içeriyorsa, bir özel durum oluşturulur.
yöntemi, RegisterClientScriptBlock açılış <form>
etiketinden sonra sayfaya bir betik bloğu ekler. Betik bloklarının kaydedildikleri sırayla çıkış garantisi verilmez. Betik bloklarının sırası önemliyse, betik bloklarınızı tek bir dizede birleştirin (örneğin, nesnesini kullanarak StringBuilder ) ve sonra bunları tek bir istemci betik bloğu olarak kaydedin.
Ayrıca bkz.
Şunlara uygulanır
RegisterClientScriptBlock(Page, Type, String, String, Boolean)
Bir denetimin ScriptManager içindeki bir denetimle kullanmak üzere denetimiyle bir UpdatePanel istemci betik bloğu kaydeder ve ardından betik bloğunu sayfaya ekler.
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)
Parametreler
- page
- Page
İstemci betik bloğunu kaydeden sayfa nesnesi.
- type
- Type
İstemci betik bloğunun türü. Bu parametre genellikle betiği kaydeden denetimin typeof
türünü almak için işleci (C#) veya GetType
işleci (Visual Basic) kullanılarak belirtilir.
- key
- String
Betik bloğu için benzersiz bir tanımlayıcı.
- script
- String
Kaydedilecek betik.
- addScriptTags
- Boolean
true
betik bloğunu ve </script>
etiketlerini <script>
içine almak için; aksi takdirde , false
.
Özel durumlar
Betik bloğu type
şeklindedir null
.
-veya-
Betik bloğunu kaydeden sayfa şeklindedir null
.
Açıklamalar
Bu yöntemi kullanarak bir betik bloğu kaydettiğinizde, zaman uyumsuz bir geri gönderme gerçekleştiğinde betik işlenir. Denetimin içindeki UpdatePanel bir denetim için betik bloğunu kaydetmek, böylece betiğin yalnızca denetim güncelleştirildiğinde UpdatePanel kaydedilmesini sağlamak için bu yöntemin RegisterClientScriptBlock(Control, Type, String, String, Boolean) aşırı yüklemesini kullanın.
Kısmi sayfa güncelleştirmeleri ile ilgili olmayan bir betik bloğunu kaydetmek istiyorsanız ve betik bloğunu ilk sayfa işleme sırasında yalnızca bir kez kaydetmek istiyorsanız sınıfının yöntemini ClientScriptManager kullanınRegisterClientScriptBlock. Nesneye başvuruyu ClientScriptManager sayfanın özelliğinden ClientScript alabilirsiniz.