ScriptManager.RegisterClientScriptBlock メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
UpdatePanel コントロール内のコントロールで使用できるようにクライアント スクリプト ブロックを ScriptManager コントロールに登録し、スクリプト ブロックをページに追加します。
オーバーロード
RegisterClientScriptBlock(Control, Type, String, String, Boolean) |
UpdatePanel コントロール内のコントロールで使用できるようにクライアント スクリプト ブロックを ScriptManager コントロールに登録し、スクリプト ブロックをページに追加します。 |
RegisterClientScriptBlock(Page, Type, String, String, Boolean) |
UpdatePanel コントロール内のコントロールで使用できるようにクライアント スクリプト ブロックを ScriptManager コントロールに登録し、スクリプト ブロックをページに追加します。 |
RegisterClientScriptBlock(Control, Type, String, String, Boolean)
UpdatePanel コントロール内のコントロールで使用できるようにクライアント スクリプト ブロックを ScriptManager コントロールに登録し、スクリプト ブロックをページに追加します。
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)
パラメーター
- control
- Control
クライアント スクリプト ブロックを登録するコントロール。
- type
- Type
クライアント スクリプト ブロックの型。 このパラメーターは、通常、typeof
演算子 (C#) または GetType
演算子 (Visual Basic) を使用して指定され、スクリプトを登録するコントロールの型を取得します。
- key
- String
スクリプト ブロックの一意の識別子。
- script
- String
スクリプト。
- addScriptTags
- Boolean
スクリプト ブロックを <script>
タグと </script>
タグで囲む場合は true
。それ以外の場合は false
。
例外
スクリプト ブロックを登録するコントロールがページのコントロール ツリー内にありません。
例
<%@ 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>
注釈
メソッドをRegisterClientScriptBlock使用して、部分ページ レンダリングと互換性があり、Microsoft Ajax ライブラリの依存関係がないクライアント スクリプト ブロックを登録します。 このメソッドを使用して登録されたクライアント スクリプト ブロックは、更新中のコントロール内にあるコントロールを表す場合 control
にのみページに UpdatePanel 送信されます。 非同期ポストバックが発生するたびにスクリプト ブロックを登録するには、このメソッドのオーバーロードを RegisterClientScriptBlock(Page, Type, String, String, Boolean) 使用します。
部分ページ更新に関連しないスクリプト ブロックを登録する場合、および初期ページ レンダリング中にスクリプト ブロックを 1 回だけ登録する場合は、 クラスの メソッドをRegisterClientScriptBlockClientScriptManager使用します。 ページの プロパティから オブジェクトへの ClientScriptManager 参照を ClientScript 取得できます。
が のtrue
場合addScriptTags
、メソッドはRegisterClientScriptBlockスクリプト ブロックの周囲にタグを追加<script>
します。 特定<script>
のタグの属性を設定する場合など、タグを自分で作成<script>
する場合は Pass を渡false
します。 が でfalse
、 パラメーターにscript
複数のスクリプト ブロックが含まれている場合addScriptTags
は、例外がスローされます。
メソッドは RegisterClientScriptBlock 、開始 <form>
タグの後にスクリプト ブロックをページに追加します。 スクリプト ブロックは、それらが登録されているのと同じ順序で出力されるとは限りません。 スクリプト ブロックの順序が重要な場合は、スクリプト ブロックを 1 つの文字列に連結し (たとえば、 オブジェクトを使用 StringBuilder して)、それらを 1 つのクライアント スクリプト ブロックとして登録します。
こちらもご覧ください
適用対象
RegisterClientScriptBlock(Page, Type, String, String, Boolean)
UpdatePanel コントロール内のコントロールで使用できるようにクライアント スクリプト ブロックを ScriptManager コントロールに登録し、スクリプト ブロックをページに追加します。
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)
パラメーター
- page
- Page
クライアント スクリプト ブロックを登録するページ オブジェクト。
- type
- Type
クライアント スクリプト ブロックの型。 このパラメーターは、通常、typeof
演算子 (C#) または GetType
演算子 (Visual Basic) を使用して指定され、スクリプトを登録するコントロールの型を取得します。
- key
- String
スクリプト ブロックの一意の識別子。
- script
- String
登録するスクリプト。
- addScriptTags
- Boolean
スクリプト ブロックを <script>
タグと </script>
タグで囲む場合は true
。それ以外の場合は false
。
例外
注釈
このメソッドを使用してスクリプト ブロックを登録すると、非同期ポストバックが発生するたびにスクリプトがレンダリングされます。 コントロールが更新されたときにのみスクリプトが登録されるように、コントロール内 UpdatePanel にあるコントロールのスクリプト ブロックを UpdatePanel 登録するには、このメソッドのオーバーロードを RegisterClientScriptBlock(Control, Type, String, String, Boolean) 使用します。
部分ページ更新に関連しないスクリプト ブロックを登録する場合、および初期ページ レンダリング中にスクリプト ブロックを 1 回だけ登録する場合は、 クラスの メソッドをRegisterClientScriptBlockClientScriptManager使用します。 ページの プロパティから オブジェクトへの ClientScriptManager 参照を ClientScript 取得できます。
こちらもご覧ください
適用対象
.NET