次の方法で共有


ScriptManager.RegisterClientScriptInclude メソッド

定義

UpdatePanel コントロール内のコントロールで使用できるようにクライアント スクリプト ファイルを ScriptManager コントロールに登録し、スクリプト ファイルの参照をページに追加します。

オーバーロード

RegisterClientScriptInclude(Control, Type, String, String)

UpdatePanel コントロール内のコントロールで使用できるようにクライアント スクリプト ファイルを ScriptManager コントロールに登録し、スクリプト ファイルの参照をページに追加します。

RegisterClientScriptInclude(Page, Type, String, String)

非同期ポストバックが発生するたびにクライアント スクリプトを ScriptManager コントロールに登録し、スクリプト ファイルの参照をページに追加します。

RegisterClientScriptInclude(Control, Type, String, String)

UpdatePanel コントロール内のコントロールで使用できるようにクライアント スクリプト ファイルを ScriptManager コントロールに登録し、スクリプト ファイルの参照をページに追加します。

public:
 static void RegisterClientScriptInclude(System::Web::UI::Control ^ control, Type ^ type, System::String ^ key, System::String ^ url);
public static void RegisterClientScriptInclude (System.Web.UI.Control control, Type type, string key, string url);
static member RegisterClientScriptInclude : System.Web.UI.Control * Type * string * string -> unit
Public Shared Sub RegisterClientScriptInclude (control As Control, type As Type, key As String, url As String)

パラメーター

control
Control

クライアント スクリプト ファイルを登録するコントロール。

type
Type

クライアント スクリプト ファイルの型。 このパラメーターは、通常、typeof 演算子 (C#) または GetType 演算子 (Visual Basic) を使用して指定され、スクリプトを登録するコントロールの型を取得します。

key
String

スクリプト ファイルの一意の識別子。

url
String

スクリプト ファイルの URL。

例外

クライアント スクリプト ファイルの typenull です。

- または -

スクリプト ファイルを登録するコントロールが null です。

スクリプト ファイルを登録するコントロールがページのコントロール ツリー内にありません。

- または -

urlnullです。

- または -

url が空です。

<%@ 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)
    {
        if (!IsPostBack)
            Calendar1.SelectedDate = DateTime.Today;
        
    }
    protected void Page_PreRender(object sender, EventArgs e)
    {
        ScriptManager.RegisterClientScriptInclude(
            this,
            typeof(Page),
            "AlertScript",
            ResolveClientUrl("~/scripts/script_alertdiv.js"));
    }
    protected void IncrementButton_Click(object sender, EventArgs e)
    {
        Calendar1.SelectedDate = Calendar1.SelectedDate.AddDays(1.0);
    }
    protected void DecrementButton_Click(object sender, EventArgs e)
    {
        Calendar1.SelectedDate = Calendar1.SelectedDate.AddDays(-1.0);
    }

</script>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>ScriptManager RegisterClientScriptInclude</title>
    <style type="text/css">
    div.MessageStyle
    {
      background-color: Green;
      top: 95%;
      left: 1%;
      position: absolute;
      visibility: hidden;
    }
    </style>
</head>
<body>
    <form id="Form1" runat="server">
        <div>
            <asp:ScriptManager ID="ScriptManager1"
                               runat="server"/>

            <script type="text/javascript">
            Sys.WebForms.PageRequestManager.instance.add_endRequest(Notify);
            </script>

            <asp:UpdatePanel ID="UpdatePanel1" UpdateMode="Conditional"
                runat="server">
                <ContentTemplate>
                    <asp:Calendar ID="Calendar1" runat="server"/>
                    <br />
                    Change the selected date: 
                    <asp:Button runat="server" ID="DecrementButton" Text="-" OnClick="DecrementButton_Click" />
                    <asp:Button runat="server" ID="IncrementButton" Text="+" OnClick="IncrementButton_Click" />
                </ContentTemplate>
            </asp:UpdatePanel>

            <div id="NotifyDiv" class="MessageStyle">
                Updates are complete.
            </div>
        </div>
    </form>
</body>
</html>
function Notify(sender, arg)
{
    ActivateAlertDiv('visible', 'NotifyDiv');
    setTimeout("ActivateAlertDiv('hidden', 'NotifyDiv')", 1000);
}
function ActivateAlertDiv(visstring, elem)
{
    var adiv = document.getElementById(elem);
    adiv.style.visibility = visstring;
}

注釈

メソッドを RegisterClientScriptInclude 使用して、部分ページ更新に参加しているページまたはページの一部のクライアント スクリプト ファイルを登録します。 このメソッドを使用して登録されたクライアント スクリプト ファイルは、 が更新されるコントロール内UpdatePanelにあるコントロールを表す場合controlにのみページに送信されます。 非同期ポストバックが発生するたびにスクリプト ファイルを登録するには、このメソッドのオーバーロードを RegisterClientScriptInclude(Page, Type, String, String) 使用します。

部分ページ更新に関連しないスクリプト ブロックを登録する場合、および初期ページレンダリング中にスクリプト ブロックを 1 回だけ登録する場合は、 クラスの メソッドをClientScriptManager使用RegisterClientScriptBlockします。 ページの プロパティから オブジェクト ClientScriptManager への参照を ClientScript 取得できます。

メソッドは RegisterClientScriptInclude 、開始タグに 属性が含まれる要素を script レンダリングすることによって、ページにクライアント スクリプト ファイルを src 登録します。 パラメーターは url 、 属性を設定するために使用されます src 。 URL を解決するには、 メソッドを使用します ResolveClientUrl 。 このメソッドは、呼び出される URL のコンテキストを使用してパスを解決します。

RegisterClientScriptIncludeメソッドと RegisterClientScriptResource メソッドの両方で、スクリプト ファイルがブラウザーにレンダリングされます。 同じ型とキー (スクリプト ファイルの場合) または同じ型とリソース名 (埋め込みリソースの場合) を持つスクリプトが既にレンダリングされている場合、スクリプトは再びレンダリングされません。

こちらもご覧ください

適用対象

RegisterClientScriptInclude(Page, Type, String, String)

非同期ポストバックが発生するたびにクライアント スクリプトを ScriptManager コントロールに登録し、スクリプト ファイルの参照をページに追加します。

public:
 static void RegisterClientScriptInclude(System::Web::UI::Page ^ page, Type ^ type, System::String ^ key, System::String ^ url);
public static void RegisterClientScriptInclude (System.Web.UI.Page page, Type type, string key, string url);
static member RegisterClientScriptInclude : System.Web.UI.Page * Type * string * string -> unit
Public Shared Sub RegisterClientScriptInclude (page As Page, type As Type, key As String, url As String)

パラメーター

page
Page

クライアント スクリプト ファイルを登録するページ オブジェクト。

type
Type

クライアント スクリプト ファイルの型。 このパラメーターは、通常、typeof 演算子 (C#) または GetType 演算子 (Visual Basic) を使用して指定され、スクリプトを登録するコントロールの型を取得します。

key
String

スクリプト ファイルの一意の識別子。

url
String

スクリプト ファイルの URL。

例外

クライアント スクリプト ファイルの typenull です。

- または -

スクリプト ファイルを登録するページが null です。

urlnullです。

- または -

url が空です。

注釈

このメソッドにスクリプト ファイルを登録すると、非同期ポストバックが発生するたびにスクリプトがレンダリングされます。 コントロール内 UpdatePanel にあるコントロールのスクリプト ファイルを登録して、コントロールが更新されたときにのみ UpdatePanel スクリプトが登録されるようにするには、このメソッドのオーバーロードを RegisterClientScriptInclude(Control, Type, String, String) 使用します。

部分ページ更新に関連しないスクリプト ブロックを登録する場合、および初期ページレンダリング中にスクリプト ブロックを 1 回だけ登録する場合は、 クラスの メソッドをClientScriptManager使用RegisterClientScriptBlockします。 ページの プロパティから オブジェクト ClientScriptManager への参照を ClientScript 取得できます。

こちらもご覧ください

適用対象