ScriptManager.RegisterClientScriptInclude 方法

定義

使用 ScriptManager 控制項註冊用戶端指令碼檔案,以配合 UpdatePanel 控制項內部的控制項一起使用,並將指令碼檔參考加入網頁中。

多載

RegisterClientScriptInclude(Control, Type, String, String)

使用 ScriptManager 控制項註冊用戶端指令碼檔案,以配合 UpdatePanel 控制項內部的控制項一起使用,並將指令碼檔參考加入網頁中。

RegisterClientScriptInclude(Page, Type, String, String)

每次發生非同步回傳時,使用 ScriptManager 控制項註冊用戶端指令碼,並將指令碼檔參考加入網頁中。

RegisterClientScriptInclude(Control, Type, String, String)

使用 ScriptManager 控制項註冊用戶端指令碼檔案,以配合 UpdatePanel 控制項內部的控制項一起使用,並將指令碼檔參考加入網頁中。

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) 此方法的多載。

如果您想要註冊與部分頁面更新無關的腳本區塊,而且如果您想要在初始頁面轉譯期間只註冊腳本區塊一次,請使用 RegisterClientScriptBlock 類別的 ClientScriptManager 方法。 您可以從頁面的 屬性取得 物件的 ClientScript 參考 ClientScriptManager

方法會 RegisterClientScriptInclude 藉由轉 script 譯開頭標記包含 src 屬性的專案,在頁面上註冊用戶端腳本檔案。 參數 url 是用來設定 src 屬性。 若要解析 URL,請使用 ResolveClientUrl 方法。 這個方法會使用呼叫的 URL 內容來解析路徑。

RegisterClientScriptResource 方法都會 RegisterClientScriptInclude 將腳本檔案轉譯至瀏覽器。 如果腳本檔案的相同類型和索引鍵 () ,或已轉譯內嵌資源) 的相同類型和資源名稱 (,則不會再次轉譯腳本。

另請參閱

適用於

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) 這個方法的多載。

如果您想要註冊與部分頁面更新無關的腳本區塊,而且如果您想要在初始頁面轉譯期間只註冊腳本區塊一次,請使用 RegisterClientScriptBlock 類別的 ClientScriptManager 方法。 您可以從頁面的 屬性取得 物件的 ClientScript 參考 ClientScriptManager

另請參閱

適用於