ScriptManager 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
管理 Web 與應用程式服務的 ASP.NET Ajax 指令碼程式庫和指令碼檔、局部網頁呈現及用戶端 Proxy 類別產生。
public ref class ScriptManager : System::Web::UI::Control, System::Web::UI::IPostBackDataHandler, System::Web::UI::IPostBackEventHandler
[System.Drawing.ToolboxBitmap(typeof(EmbeddedResourceFinder), "System.Web.Resources.ScriptManager.bmp")]
public class ScriptManager : System.Web.UI.Control, System.Web.UI.IPostBackDataHandler, System.Web.UI.IPostBackEventHandler
[<System.Drawing.ToolboxBitmap(typeof(EmbeddedResourceFinder), "System.Web.Resources.ScriptManager.bmp")>]
type ScriptManager = class
inherit Control
interface IPostBackDataHandler
interface IPostBackEventHandler
Public Class ScriptManager
Inherits Control
Implements IPostBackDataHandler, IPostBackEventHandler
- 繼承
- 屬性
- 實作
範例
下列範例顯示使用 ScriptManager 控件的不同案例。
啟用 Partial-Page 更新
下列範例示範如何使用 ScriptManager 控件來啟用部分頁面更新。 在此範例中 Calendar ,和 DropDownList 控件位於 控件內 UpdatePanel 。 根據預設, UpdateMode 屬性值為 Always,而屬性的值 ChildrenAsTriggers 是 true
。 因此,面板的子控件會導致異步回傳。
<%@ 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">
void DropDownSelection_Change(Object sender, EventArgs e)
{
Calendar1.DayStyle.BackColor =
System.Drawing.Color.FromName(ColorList.SelectedItem.Value);
}
protected void Calendar1_SelectionChanged(object sender, EventArgs e)
{
SelectedDate.Text =
Calendar1.SelectedDate.ToString();
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title>UpdatePanel Example</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:ScriptManager ID="ScriptManager1"
runat="server" />
<asp:UpdatePanel ID="UpdatePanel1"
runat="server">
<ContentTemplate>
<asp:Calendar ID="Calendar1"
ShowTitle="True"
OnSelectionChanged="Calendar1_SelectionChanged"
runat="server" />
<div>
Background:
<br />
<asp:DropDownList ID="ColorList"
AutoPostBack="True"
OnSelectedIndexChanged="DropDownSelection_Change"
runat="server">
<asp:ListItem Selected="True" Value="White">
White </asp:ListItem>
<asp:ListItem Value="Silver">
Silver </asp:ListItem>
<asp:ListItem Value="DarkGray">
Dark Gray </asp:ListItem>
<asp:ListItem Value="Khaki">
Khaki </asp:ListItem>
<asp:ListItem Value="DarkKhaki"> D
ark Khaki </asp:ListItem>
</asp:DropDownList>
</div>
<br />
Selected date:
<asp:Label ID="SelectedDate"
runat="server">None.</asp:Label>
</ContentTemplate>
</asp:UpdatePanel>
<br />
</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">
Sub DropDownSelection_Change(ByVal Sender As Object, ByVal E As EventArgs)
Calendar1.DayStyle.BackColor = _
System.Drawing.Color.FromName(ColorList.SelectedItem.Value)
End Sub
Protected Sub Calendar1_SelectionChanged(ByVal Sender As Object, ByVal E As EventArgs)
SelectedDate.Text = Calendar1.SelectedDate.ToString()
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title>UpdatePanel Example</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:ScriptManager ID="ScriptManager1"
runat="server" />
<asp:UpdatePanel ID="UpdatePanel1"
runat="server">
<ContentTemplate>
<asp:Calendar ID="Calendar1"
ShowTitle="True"
OnSelectionChanged="Calendar1_SelectionChanged"
runat="server" />
<div>
Background:
<br />
<asp:DropDownList ID="ColorList"
AutoPostBack="True"
OnSelectedIndexChanged="DropDownSelection_Change"
runat="server">
<asp:ListItem Selected="True" Value="White">
White </asp:ListItem>
<asp:ListItem Value="Silver">
Silver </asp:ListItem>
<asp:ListItem Value="DarkGray">
Dark Gray </asp:ListItem>
<asp:ListItem Value="Khaki">
Khaki </asp:ListItem>
<asp:ListItem Value="DarkKhaki"> D
ark Khaki </asp:ListItem>
</asp:DropDownList>
</div>
<br />
Selected date:
<asp:Label ID="SelectedDate"
runat="server">None.</asp:Label>
</ContentTemplate>
</asp:UpdatePanel>
<br />
</div>
</form>
</body>
</html>
處理 Partial-Page 更新錯誤和註冊腳本
下列範例示範如何在部分頁面更新期間提供自定義錯誤處理。 根據預設,在部分頁面更新期間發生錯誤時,會顯示 JavaScript 消息框。 這個範例示範如何使用自定義錯誤處理,方法是提供事件的處理程式 AsyncPostBackError ,以及在事件處理程式中設定 AsyncPostBackErrorMessage 屬性。 您也可以設定 AllowCustomErrorsRedirect 屬性,以指定在部分頁面更新期間發生錯誤時,如何使用 Web.config 檔案的自定義錯誤區段。 在此範例中,會使用 屬性的 AllowCustomErrorsRedirect 預設值。 這表示,如果 Web.config 檔案包含 customErrors 元素,該元素會決定錯誤的顯示方式。 如需詳細資訊,請參閱 customErrors 元素 (ASP.NET 設定架構) 。
<%@ 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 Button1_Click(object sender, EventArgs e)
{
try
{
int a = Int32.Parse(TextBox1.Text);
int b = Int32.Parse(TextBox2.Text);
int res = a / b;
Label1.Text = res.ToString();
}
catch (Exception ex)
{
if (TextBox1.Text.Length > 0 && TextBox2.Text.Length > 0)
{
ex.Data["ExtraInfo"] = " You can't divide " +
TextBox1.Text + " by " + TextBox2.Text + ".";
}
throw ex;
}
}
protected void ScriptManager1_AsyncPostBackError(object sender, AsyncPostBackErrorEventArgs e)
{
if (e.Exception.Data["ExtraInfo"] != null)
{
ScriptManager1.AsyncPostBackErrorMessage =
e.Exception.Message +
e.Exception.Data["ExtraInfo"].ToString();
}
else
{
ScriptManager1.AsyncPostBackErrorMessage =
"An unspecified error occurred.";
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title>UpdatePanel Error Handling Example</title>
<style type="text/css">
#UpdatePanel1 {
width: 200px; height: 50px;
border: solid 1px gray;
}
#AlertDiv{
left: 40%; top: 40%;
position: absolute; width: 200px;
padding: 12px;
border: #000000 1px solid;
background-color: white;
text-align: left;
visibility: hidden;
z-index: 99;
}
#AlertButtons{
position: absolute; right: 5%; bottom: 5%;
}
</style>
</head>
<body id="bodytag">
<form id="form1" runat="server">
<div>
<asp:ScriptManager ID="ScriptManager1"
OnAsyncPostBackError="ScriptManager1_AsyncPostBackError" runat="server" >
<Scripts>
<asp:ScriptReference Path="ErrorHandling.js" />
</Scripts>
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:TextBox ID="TextBox1" runat="server" Width="39px"></asp:TextBox>
/
<asp:TextBox ID="TextBox2" runat="server" Width="39px"></asp:TextBox>
=
<asp:Label ID="Label1" runat="server"></asp:Label><br />
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="calculate" />
</ContentTemplate>
</asp:UpdatePanel>
<div id="AlertDiv">
<div id="AlertMessage">
</div>
<br />
<div id="AlertButtons">
<input id="OKButton" type="button" value="OK" runat="server" onclick="ClearErrorState()" />
</div>
</div>
</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 Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs)
Try
Dim a As Int32
a = Int32.Parse(TextBox1.Text)
Dim b As Int32
b = Int32.Parse(TextBox2.Text)
Dim res As Int32 = a / b
Label1.Text = res.ToString()
Catch ex As Exception
If (TextBox1.Text.Length > 0 AndAlso TextBox2.Text.Length > 0) Then
ex.Data("ExtraInfo") = " You can't divide " & _
TextBox1.Text & " by " & TextBox2.Text & "."
End If
Throw ex
End Try
End Sub
Protected Sub ScriptManager1_AsyncPostBackError(ByVal sender As Object, ByVal e As System.Web.UI.AsyncPostBackErrorEventArgs)
If (e.Exception.Data("ExtraInfo") <> Nothing) Then
ScriptManager1.AsyncPostBackErrorMessage = _
e.Exception.Message & _
e.Exception.Data("ExtraInfo").ToString()
Else
ScriptManager1.AsyncPostBackErrorMessage = _
"An unspecified error occurred."
End If
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title>UpdatePanel Error Handling Example</title>
<style type="text/css">
#UpdatePanel1 {
width: 200px; height: 50px;
border: solid 1px gray;
}
#AlertDiv{
left: 40%; top: 40%;
position: absolute; width: 200px;
padding: 12px;
border: #000000 1px solid;
background-color: white;
text-align: left;
visibility: hidden;
z-index: 99;
}
#AlertButtons{
position: absolute; right: 5%; bottom: 5%;
}
</style>
</head>
<body id="bodytag">
<form id="form1" runat="server">
<div>
<asp:ScriptManager ID="ScriptManager1"
OnAsyncPostBackError="ScriptManager1_AsyncPostBackError" runat="server" >
<Scripts>
<asp:ScriptReference Path="ErrorHandling.js" />
</Scripts>
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:TextBox ID="TextBox1" runat="server" Width="39px"></asp:TextBox>
/
<asp:TextBox ID="TextBox2" runat="server" Width="39px"></asp:TextBox>
=
<asp:Label ID="Label1" runat="server"></asp:Label><br />
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="calculate" />
</ContentTemplate>
</asp:UpdatePanel>
<div id="AlertDiv">
<div id="AlertMessage">
</div>
<br />
<div id="AlertButtons">
<input id="OKButton" type="button" value="OK" runat="server" onclick="ClearErrorState()" />
</div>
</div>
</div>
</form>
</body>
</html>
將瀏覽器中顯示的日期和時間全球化
下列範例示範如何設定 EnableScriptGlobalization 屬性,讓用戶端腳本可以在瀏覽器中顯示特定文化特性的日期和時間。 在這裡範例中 Culture
, @ Page 指示詞的 屬性會設定為 auto
。 因此,目前瀏覽器設定中指定的第一種語言會決定頁面的文化特性和UI文化特性。 如需詳細資訊,請參閱 如何:設定 ASP.NET 網頁全球化的文化特性和UI文化特性。
<%@ Page Language="C#" Culture="auto" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title>Globalization Example</title>
</head>
<body>
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" EnableScriptGlobalization="true" runat="server">
</asp:ScriptManager>
<script type="text/javascript">
function pageLoad() {
Sys.UI.DomEvent.addHandler($get("Button1"), "click", formatDate);
}
function formatDate() {
var d = new Date();
try {
$get('Label1').innerHTML = d.localeFormat("dddd, dd MMMM yyyy HH:mm:ss");
}
catch(e) {
alert("Error:" + e.message);
}
}
</script>
<asp:UpdatePanel ID="UpdatePanel1" runat="server" ChildrenAsTriggers="False" UpdateMode="Conditional">
<ContentTemplate>
<asp:Panel ID="Panel1" runat="server" GroupingText="Update Panel">
<asp:Button ID="Button1" runat="server" Text="Display Date" />
<br />
<asp:Label ID="Label1" runat="server"></asp:Label>
</asp:Panel>
</ContentTemplate>
</asp:UpdatePanel>
</form>
</body>
</html>
<%@ Page Language="VB" Culture="auto" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title>Globalization Example</title>
</head>
<body>
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" EnableScriptGlobalization="true" runat="server">
</asp:ScriptManager>
<script type="text/javascript">
function pageLoad() {
Sys.UI.DomEvent.addHandler($get("Button1"), "click", formatDate);
}
function formatDate() {
var d = new Date();
try {
$get('Label1').innerHTML = d.localeFormat("dddd, dd MMMM yyyy HH:mm:ss");
}
catch(e) {
alert("Error:" + e.message);
}
}
</script>
<asp:UpdatePanel ID="UpdatePanel1" runat="server" ChildrenAsTriggers="False" UpdateMode="Conditional">
<ContentTemplate>
<asp:Panel ID="Panel1" runat="server" GroupingText="Update Panel">
<asp:Button ID="Button1" runat="server" Text="Display Date" />
<br />
<asp:Label ID="Label1" runat="server"></asp:Label>
</asp:Panel>
</ContentTemplate>
</asp:UpdatePanel>
</form>
</body>
</html>
備註
本主題內容:
簡介
控件 ScriptManager 是 ASP.NET 中 Ajax 功能的核心。 控件會管理頁面上的所有 ASP.NET Ajax 資源。 這包括將 Microsoft Ajax Library 腳本下載至瀏覽器,以及協調使用 UpdatePanel 控件啟用的部分頁面更新。 此外, ScriptManager 控制項可讓您執行下列動作:
註冊與部分頁面更新相容的腳本。 為了管理腳本與核心連結庫之間的相依性,您註冊的任何腳本會在 Microsoft Ajax Library 腳本之後載入。
指定發行或偵錯文本是否傳送至瀏覽器。
透過向 控件註冊 Web 服務,從腳本提供 Web 服務方法的 ScriptManager 存取權。
透過向控件註冊這些服務,以從用戶端腳本存取 ASP.NET 驗證、角色和配置檔應用程式服務 ScriptManager 。
在瀏覽器中啟用 ECMAScript (JavaScript) Date、 Number 和 String 函式的文化特性特定顯示。
使用 ResourceUICultures 控件的 屬性,存取內嵌腳本檔案或獨立腳本檔案的 ScriptReference 當地語系化資源。
向控件實 IExtenderControl 作 或 IScriptControl 介面 ScriptManager 的伺服器控制項,以便轉譯用戶端元件和行為所需的腳本。
Partial-Page 轉譯
ASP.NET 頁面支援部分頁面轉譯的能力是由下列因素所控制:
控件 ScriptManager 的 EnablePartialRendering 屬性必須
true
(預設值) 。頁面上必須至少有一個 UpdatePanel 控件。
屬性 SupportsPartialRendering 必須
true
(預設值) 。 SupportsPartialRendering如果未明確設定屬性,其值會以瀏覽器功能為基礎。
您可以在頁面Init事件期間或之前於運行時間覆寫 屬性的值EnablePartialRendering。 如果您在發生頁面 Init 的事件之後嘗試變更此屬性, InvalidOperationException 則會擲回例外狀況。
支援部分頁面轉譯時,控件會 ScriptManager 轉譯腳本,以啟用異步回傳和部分頁面更新。 要更新的頁面區域是使用 UpdatePanel 控件所指定。 控件 ScriptManager 會處理異步回傳,並只重新整理必須更新之頁面的區域。 如需部分頁面轉譯的詳細資訊,請參閱 部分頁面轉譯概觀。 如需造成更新之條件的詳細資訊,請參閱 UpdatePanel 控件概觀。
搭配主版頁面、使用者控件和其他子元件使用 ScriptManager 控制件
頁面在其階層中只能包含一個 ScriptManager 控件。 若要在父頁面已經有 ScriptManager 控件時,註冊巢狀頁面、使用者控件或元件的服務和腳本,請使用 ScriptManagerProxy 控件。 如需詳細資訊,請參閱 搭配主版頁面使用 UpdatePanel 控件。
腳本管理和註冊
控件 ScriptManager 可讓您註冊腳本,然後轉譯為頁面的一部分。 控件 ScriptManager 註冊方法可以分成下列三個類別:
保證 Microsoft Ajax Library 上的腳本相依性會維護的註冊方法。
不相依於 Microsoft Ajax Library 但與 UpdatePanel 控件相容的註冊方法。
支援使用 UpdatePanel 控件的註冊方法。
如需如何在 ASP.NET 中建立和使用 Ajax 腳本的詳細資訊,請參閱 使用 Microsoft Ajax 連結庫建立自定義用戶端腳本。
註冊相依於 Microsoft Ajax 連結庫的腳本
您可以使用下列方法來註冊腳本檔案,以確保維護 Microsoft Ajax Library 的任何相依性。
方法 | 定義 |
---|---|
RegisterScriptControl | 註冊伺服器控件,這個控件會 IScriptControl 實作用來定義 Sys.Component 用戶端物件的介面。 控件 ScriptManager 會轉譯支援客戶端物件的腳本。 |
RegisterExtenderControl | 註冊伺服器控件,這個控件會 IExtenderControl 實作用來定義 Sys.Component 用戶端物件的介面。 控件 ScriptManager 會轉譯支援客戶端物件的腳本。 |
註冊 Partial-Page 更新相容腳本
您可以使用下列方法來註冊不相依於 Microsoft Ajax Library 但與 UpdatePanel 控件兼容的腳本檔案。 這些方法會對應至控件的 ClientScriptManager 類似方法。 如果您要轉譯腳本以在控件內 UpdatePanel 使用,請確定您呼叫 控件的方法 ScriptManager 。
方法 | 定義 |
---|---|
RegisterArrayDeclaration | 將值新增至 JavaScript 陣列。 如果陣列不存在,則會建立它。 |
RegisterClientScriptBlock | 在 script 頁面的開頭 <form> 標記之後轉譯專案。 文本會指定為字串參數。 |
RegisterClientScriptInclude | 在 script 頁面的開頭 <form> 標記之後轉譯專案。 文本內容是藉由將 src 屬性設定為指向腳本檔案的 URL 來指定。 |
RegisterClientScriptResource | 在 script 頁面的開頭 <form> 標記之後轉譯專案。 文本內容是以元件中的資源名稱指定。 屬性 src 會自動填入 URL,方法是呼叫從元件擷取具名腳本的 HTTP 處理程式。 |
RegisterExpandoAttribute | 在指定控件的標記中, (expando) 轉譯自定義名稱/值屬性組。 |
RegisterHiddenField | 轉譯隱藏欄位。 |
RegisterOnSubmitStatement | 註冊回應 form 專案 submit 事件而執行的腳本。 屬性 onSubmit 會參考指定的腳本。 |
RegisterStartupScript | 在頁面的結尾 </form> 標記之前轉譯啟動腳本區塊。 要轉譯的腳本會指定為字串參數。 |
當您註冊方法時,您會指定該腳本的類型/金鑰組。 如果已註冊具有相同類型/金鑰組的腳本,則不會註冊新的腳本。 同樣地,如果您向已經存在的類型/資源名稱組註冊腳本, script
則不會再次新增參考資源的元素。 當您註冊先前已註冊屬性的 expando 屬性時,會擲回例外狀況。 允許重複註冊陣列值。
當您呼叫 RegisterClientScriptInclude 或 RegisterClientScriptResource 方法時,請避免註冊執行內嵌函式的腳本。 請改為註冊包含函式定義的腳本,例如事件處理程式或應用程式的自定義類別定義。
UpdatePanel 控件的註冊方法
當您使用 UpdatePanel 控制項時,您可以使用下列方法來自定義部分頁面更新。
方法 | 定義 |
---|---|
RegisterAsyncPostBackControl | 將控制項註冊為非同步回傳的觸發程序。 |
RegisterDataItem | 在局部網頁呈現期間,將自訂資料傳送給控制項。 |
RegisterDispose | 為控件內的 UpdatePanel 控件註冊處置腳本。 更新或刪除 UpdatePanel 控制項時,即會執行該指令碼。 dispose 方法會用於屬於 Microsoft Ajax Library 的用戶端元件,而且在不再使用元件時必須釋放資源。 |
RegisterPostBackControl | 將控件註冊為完整回傳的觸發程式。 這個方法用於控件內 UpdatePanel 執行異步回傳的控制件。 |
Web 服務參考
您可以建立 ServiceReference 物件,並將它新增至 Services 控件的集合,以註冊要從用戶端腳本呼叫的 ScriptManager Web服務。 ASP.NET 會為 ServiceReference 集合中的每個 Services 物件產生用戶端 Proxy 物件。 您可以在運行時間以程序設計方式將 物件Services加入ServiceReference集合中,以註冊 Web 服務。
如需如何在腳本中存取 Web 服務的詳細資訊,請參閱在 AJAX 中將 Web 服務公開至 ASP.NET AJAX 中的用戶端腳本 ,以及在 ASP.NET AJAX 中從用戶端腳本呼叫 Web 服務。
當地語系化
控件 ScriptManager 會在轉譯的頁面中產生參考,指向適當的當地語系化腳本檔案,這些檔案是內嵌在元件或獨立腳本檔案中的腳本檔案。
EnableScriptLocalization當 屬性設定為 true
時,ScriptManager控件會擷取本地化的資源 (,例如目前文化特性的當地語系化字串) 。 控制項 ScriptManager 提供下列功能來使用本地化的資源:
內嵌在元件中的腳本檔案。 控件 ScriptManager 會決定要傳送至瀏覽器的文化特性特定或後援文化特性腳本檔案。 它會使用特定文化 NeutralResourcesLanguageAttribute 特性的元件屬性、封裝元件的資源,以及瀏覽器的 UI 文化特性,如果有任何) ,則會 (執行這項作業。
獨立腳本檔案。 控制項 ScriptManager 會定義使用 ResourceUICultures 物件的屬性 ScriptReference 所支援的UI文化特性清單。
在偵錯模式中。 控件 ScriptManager 會嘗試轉譯包含偵錯資訊的文化特性特定腳本檔案。 例如,如果頁面處於偵錯模式,且目前的文化特性設定為 en-MX,則控件會轉譯名稱
scriptname
為 .en-MX.debug.js 的腳本檔案,如果檔案存在則為 。 如果檔案不存在,則會轉譯適當後援文化特性的偵錯檔案
如需如何當地語系化資源的詳細資訊,請參閱 元件庫的當地語系化資源概觀。
錯誤處理
在異步回傳期間發生頁面錯誤時, AsyncPostBackError 就會引發 事件。 伺服器錯誤傳送至用戶端的方式取決於 AllowCustomErrorsRedirect Web.config 檔案的屬性、 AsyncPostBackErrorMessage 屬性和自定義錯誤區段。 如需詳細資訊,請參閱 自定義UpdatePanel控件的錯誤處理。
宣告式語法
<asp:ScriptManager
AllowCustomErrorsRedirect="True|False"
AsyncPostBackErrorMessage="string"
AsyncPostBackTimeout="integer"
AuthenticationService-Path="uri"
EnablePageMethods="True|False"
EnablePartialRendering="True|False"
EnableScriptGlobalization="True|False"
EnableScriptLocalization="True|False"
EnableTheming="True|False"
EnableViewState="True|False"
ID="string"
LoadScriptsBeforeUI="True|False"
OnAsyncPostBackError="AsyncPostBackError event handler"
OnDataBinding="DataBinding event handler"
OnDisposed="Disposed event handler"
OnInit="Init event handler"
OnLoad="Load event handler"
OnPreRender="PreRender event handler"
OnResolveScriptReference="ResolveScriptReference event handler"
OnUnload="Unload event handler"
ProfileService-LoadProperties="string"
ProfileService-Path="uri"
RoleService-LoadRoles="True|False"
RoleService-Path="uri"
runat="server"
ScriptMode="Auto|Inherit|Debug|Release"
ScriptPath="string"
SkinID="string"
SupportsPartialRendering="True|False"
Visible="True|False"
>
<AuthenticationService
Path="uri"
/>
<ProfileService
LoadProperties="string"
Path="uri"
/>
<RoleService
LoadRoles="True|False"
Path="uri"
/>
<Scripts>
<asp:ScriptReference
Assembly="string"
IgnoreScriptPath="True|False"
Name="string"
NotifyScriptLoaded="True|False"
Path="string"
ResourceUICultures="string"
ScriptMode="Auto|Debug|Inherit|Release"
/>
</Scripts>
<Services>
<asp:ServiceReference
InlineScript="True|False"
Path="string"
/>
</Services>
</asp:ScriptManager>
建構函式
ScriptManager() |
初始化 ScriptManager 類別的新執行個體。 |
屬性
Adapter |
針對控制項取得瀏覽器的特定配置器。 (繼承來源 Control) |
AjaxFrameworkAssembly |
取得網頁上元件所使用的 Ajax 架構組件。 |
AjaxFrameworkMode |
取得或設定值,該值指出如何將 Microsoft Ajax 用戶端程式庫的用戶端指令碼包含在用戶端中。 |
AllowCustomErrorsRedirect |
取得或設定值,該值決定是否在非同步回傳期間使用 Web.config 檔案的自訂錯誤區段。 |
AppRelativeTemplateSourceDirectory |
取得或設定包含了此控制項之 Page 或 UserControl 物件的相對應用程式虛擬目錄。 (繼承來源 Control) |
AsyncPostBackErrorMessage |
取得或設定錯誤訊息,在非同步回傳期間發生未處理的伺服器例外狀況時,會將該錯誤訊息傳送至用戶端。 |
AsyncPostBackSourceElementID |
取得導致非同步回傳之控制項的唯一 ID。 |
AsyncPostBackTimeout |
取得或設定值,該值表示未收到任何回應時非同步回傳逾時之前的時間 (秒)。 |
AuthenticationService |
取得關聯到目前之 AuthenticationServiceManager 執行個體的 ScriptManager 物件。 |
BindingContainer |
取得包含了此控制項之資料繫結的控制項。 (繼承來源 Control) |
ChildControlsCreated |
取得值,指出是否已經建立伺服器控制項的子控制項。 (繼承來源 Control) |
ClientID |
取得 ASP.NET 所產生之 HTML 標記的控制項識別碼。 (繼承來源 Control) |
ClientIDMode |
取得或設定用來產生 ClientID 屬性值的演算法。 (繼承來源 Control) |
ClientIDSeparator |
取得字元值,表示在 ClientID 屬性中所使用的分隔字元。 (繼承來源 Control) |
ClientNavigateHandler |
取得或設定方法的名稱,該方法會處理用戶端上的 Sys.Application.navigate 事件。 |
CompositeScript |
取得支援網頁之複合指令碼的參考。 |
Context |
取得與目前 Web 要求的伺服器控制項關聯的 HttpContext 物件。 (繼承來源 Control) |
Controls |
取得 ControlCollection 物件,表示 UI 階層架構中指定之伺服器控制項的子控制項。 (繼承來源 Control) |
DataItemContainer |
如果命名容器實作 IDataItemContainer,則取得命名容器的參考。 (繼承來源 Control) |
DataKeysContainer |
如果命名容器實作 IDataKeysControl,則取得命名容器的參考。 (繼承來源 Control) |
DesignMode |
取得值,指出控制項是否正用於設計介面上。 (繼承來源 Control) |
EmptyPageUrl |
取得或設定空白網頁的 URL。 |
EnableCdn |
判斷目前網頁是否從內容提供網路 (Content Delivery Network,CDN) 路徑載入用戶端指令碼參考。 |
EnableCdnFallback |
可讓指令碼的本機複本在發生 CDN (內容傳遞網路) 無法使用的事件時載入。 |
EnableHistory |
取得或設定值,該值指出網頁否支援記錄點管理。 |
EnablePageMethods |
取得或設定值,該值表示是否可以從用戶端指令碼呼叫 ASP.NET 網頁中的公用靜態網頁方法。 |
EnablePartialRendering |
取得或設定值,該值會啟用局部網頁呈現,而此功能可讓您使用 UpdatePanel 控制項,個別更新網頁的區域。 |
EnableScriptGlobalization |
取得或設定值,該值表示 ScriptManager 控制項呈現的指令碼,是否支援格式化和剖析文化特性資訊。 |
EnableScriptLocalization |
取得或設定值,該值表示 ScriptManager 控制項是否呈現當地語系化版本的指令碼檔。 |
EnableSecureHistoryState |
取得或設定值,該值指出是否要將記錄狀態字串加密。 |
EnableTheming |
取得或設定值,指出佈景主題是否套用至此控制項。 (繼承來源 Control) |
EnableViewState |
取得或設定值,該值表示伺服器控制項是否對要求的用戶端而言保持其檢視狀態,以及它包含的任何子控制項狀態。 (繼承來源 Control) |
Events |
取得控制項事件處理常式委派 (Delegate) 的清單。 這個屬性是唯讀的。 (繼承來源 Control) |
HasChildViewState |
取得值,指出目前伺服器控制項的子控制項是否有任何已儲存的檢視狀態設定。 (繼承來源 Control) |
ID |
取得或設定指派給伺服器控制項的程式設計識別項。 (繼承來源 Control) |
IdSeparator |
取得用來分隔控制項識別項的字元。 (繼承來源 Control) |
IsChildControlStateCleared |
取得值,指出這個控制項中所包含的控制項是否有控制項狀態。 (繼承來源 Control) |
IsDebuggingEnabled |
取得值,該值指出是否要呈現用戶端指令碼程式庫的偵錯版本。 |
IsInAsyncPostBack |
取得值,該值會指出目前的回傳是否正以局部呈現模式執行。 |
IsNavigating |
取得值,該值指示是否正在處理 Navigate 事件。 |
IsTrackingViewState |
取得值,指出伺服器控制項是否正在儲存檢視狀態的變更。 (繼承來源 Control) |
IsViewStateEnabled |
取得值,指出這個控制項是否已啟用檢視狀態。 (繼承來源 Control) |
LoadScriptsBeforeUI |
取得或設定值,該值表示指令碼是在載入網頁 UI 的標記之前或之後載入。 |
LoadViewStateByID |
取得值,指出控制項是否依 ID (而不是索引) 參與載入其檢視狀態。 (繼承來源 Control) |
NamingContainer |
取得伺服器控制項命名容器的參考,其建立唯一命名空間,在具有相同 ID 屬性值的伺服器控制項之間作區別。 (繼承來源 Control) |
Page |
取得含有伺服器控制項的 Page 執行個體的參考。 (繼承來源 Control) |
Parent |
在網頁控制階層架構中取得伺服器控制項之父控制項的參考。 (繼承來源 Control) |
ProfileService |
取得關聯到目前之 ProfileServiceManager 執行個體的 ScriptManager 物件。 |
RenderingCompatibility |
取得值,這個值會指定將與呈現 HTML 相容的 ASP.NET 版本。 (繼承來源 Control) |
RoleService |
取得關聯到目前之 RoleServiceManager 執行個體的 ScriptManager 物件。 |
ScriptMode |
取得或設定值,該值指定要呈現用戶端指令碼程式庫的偵錯版本或發行版本。 |
ScriptPath |
已淘汰.
取得或設定位置的根路徑,該路徑可用於建置 ASP.NET Ajax 和自訂指令碼檔的路徑。 |
ScriptResourceMapping |
取得 ScriptResourceMapping 物件。 |
Scripts |
取得 ScriptReferenceCollection 物件,該物件包含許多 ScriptReference 物件,而每個物件都代表一個要呈現給用戶端的指令碼檔。 |
Services |
取得 ServiceReferenceCollection 物件,該物件包含為了獲得 Ajax 功能 ASP.NET 在用戶端上公開之每個 Web 服務的 ServiceReference 物件。 |
Site |
當呈現在設計介面上時,取得裝載目前控制項之容器的資訊。 (繼承來源 Control) |
SkinID |
取得或設定要套用至控制項的面板。 (繼承來源 Control) |
SupportsPartialRendering |
取得值,該值指出用戶端是否支援局部網頁呈現。 |
TemplateControl |
取得或設定包含了此控制項之樣板的參考。 (繼承來源 Control) |
TemplateSourceDirectory |
取得包含目前伺服器控制項的 Page 或 UserControl 的虛擬目錄。 (繼承來源 Control) |
UniqueID |
取得伺服器控制項唯一的、符合階層架構的識別項。 (繼承來源 Control) |
ValidateRequestMode |
取得或設定值,指出控制項是否對來自瀏覽器的用戶端輸入檢查潛在的危險值。 (繼承來源 Control) |
ViewState |
取得狀態資訊的字典,允許您在相同網頁的多個要求之間,儲存和還原伺服器控制項的檢視狀態。 (繼承來源 Control) |
ViewStateIgnoresCase |
取得值,指出 StateBag 物件是否不區分大小寫。 (繼承來源 Control) |
ViewStateMode |
取得或設定這個控制項的檢視狀態模式。 (繼承來源 Control) |
Visible |
方法
事件
AsyncPostBackError |
於非同步回傳期間發生頁面錯誤時發生。 |
DataBinding |
發生於伺服器控制項繫結至資料來源時。 (繼承來源 Control) |
Disposed |
發生於伺服器控制項從記憶體釋放時,這是在要求 ASP.NET 網頁時,伺服器控制項生命週期的最後階段。 (繼承來源 Control) |
Init |
發生於初始化伺服器控制項時,是其生命週期中的第一個步驟。 (繼承來源 Control) |
Load |
發生於載入伺服器控制項至 Page 物件時。 (繼承來源 Control) |
Navigate |
當使用者按一下瀏覽器的 [上一頁] 或 [下一頁] 按鈕時發生。 |
PreRender |
在 Control 物件載入之後但在呈現之前發生。 (繼承來源 Control) |
ResolveCompositeScriptReference |
於複合指令碼已向 ScriptManager 控制項註冊時發生。 |
ResolveScriptReference |
於使用 Scripts 控制項註冊 ScriptManager 集合的成員時發生。 |
Unload |
發生於伺服器控制項從記憶體卸載時。 (繼承來源 Control) |
明確介面實作
擴充方法
FindDataSourceControl(Control) |
傳回與指定之控制項的資料控制項相關聯的資料來源。 |
FindFieldTemplate(Control, String) |
傳回在指定之控制項的命名容器中所指定資料行的欄位樣板。 |
FindMetaTable(Control) |
傳回包含資料控制項的中繼資料表物件。 |