ScriptManager.RegisterClientScriptInclude 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
使用 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。
例外狀況
範例
<%@ 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。
例外狀況
備註
當您使用這個方法註冊腳本檔案時,每次發生非同步回傳時,就會轉譯腳本。 若要為控制項內的 UpdatePanel 控制項註冊腳本檔,以便只在更新控制項時 UpdatePanel 註冊腳本,請使用 RegisterClientScriptInclude(Control, Type, String, String) 這個方法的多載。
如果您想要註冊與部分頁面更新無關的腳本區塊,而且如果您想要在初始頁面轉譯期間只註冊腳本區塊一次,請使用 RegisterClientScriptBlock 類別的 ClientScriptManager 方法。 您可以從頁面的 屬性取得 物件的 ClientScript 參考 ClientScriptManager 。