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 當地語系化資源。
向 控制項註冊實作 或 IScriptControl 介面 ScriptManager 的伺服器控制項 IExtenderControl ,以便轉譯用戶端元件和行為所需的腳本。
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) |
傳回包含資料控制項的中繼資料表物件。 |
適用於
另請參閱
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應