ClientScriptManager 類別

定義

定義用來管理 Web 應用程式中用戶端指令碼的方法。

public ref class ClientScriptManager sealed
public sealed class ClientScriptManager
type ClientScriptManager = class
Public NotInheritable Class ClientScriptManager
繼承
ClientScriptManager

範例

下列程式碼範例示範 如何使用 RegisterClientScriptBlock 類別的 ClientScriptManager 方法。 頁面定義了兩個用戶端腳本: PopupScript ,這會在載入頁面時顯示警示訊息,以及 ButtonClickScript 定義 HTML 按鈕 onClick 事件的用戶端處理常式。

<%@ 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)
  {
    // Define the name and type of the client scripts on the page.
    String csname1 = "PopupScript";
    String csname2 = "ButtonClickScript";
    Type cstype = this.GetType();
        
    // Get a ClientScriptManager reference from the Page class.
    ClientScriptManager cs = Page.ClientScript;

    // Check to see if the startup script is already registered.
    if (!cs.IsStartupScriptRegistered(cstype, csname1))
    {
      String cstext1 = "alert('Hello World');";
      cs.RegisterStartupScript(cstype, csname1, cstext1, true);
    }

    // Check to see if the client script is already registered.
    if (!cs.IsClientScriptBlockRegistered(cstype, csname2))
    {
      StringBuilder cstext2 = new StringBuilder();
      cstext2.Append("<script type=\"text/javascript\"> function DoClick() {");
      cstext2.Append("Form1.Message.value='Text from client script.'} </");
      cstext2.Append("script>");
      cs.RegisterClientScriptBlock(cstype, csname2, cstext2.ToString(), false);
    }
  }
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
  <head>
    <title>ClientScriptManager Example</title>
  </head>
  <body>
     <form id="Form1"
         runat="server">
        <input type="text" id="Message" /> <input type="button" value="ClickMe" onclick="DoClick()" />
     </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 Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)

    ' Define the name and type of the client scripts on the page.
    Dim csname1 As String = "PopupScript"
    Dim csname2 As String = "ButtonClickScript"
    Dim cstype As Type = Me.GetType()
    
    ' Get a ClientScriptManager reference from the Page class.
    Dim cs As ClientScriptManager = Page.ClientScript

    ' Check to see if the startup script is already registered.
    If (Not cs.IsStartupScriptRegistered(cstype, csname1)) Then
      
      Dim cstext1 As String = "alert('Hello World');"
      cs.RegisterStartupScript(cstype, csname1, cstext1, True)
      
    End If
    
    ' Check to see if the client script is already registered.
    If (Not cs.IsClientScriptBlockRegistered(cstype, csname2)) Then
      
      Dim cstext2 As New StringBuilder()
            cstext2.Append("<script type=""text/javascript""> function DoClick() {")
      cstext2.Append("Form1.Message.value='Text from client script.'} </")
      cstext2.Append("script>")
      cs.RegisterClientScriptBlock(cstype, csname2, cstext2.ToString(), False)
      
    End If
    
  End Sub
  
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head>
    <title>ClientScriptManager Example</title>
  </head>
  <body>
     <form id="Form1"
         runat="server">
        <input type="text" id="Message" /> <input type="button" value="ClickMe" onclick="DoClick()" />
     </form>
  </body>
</html>

備註

類別 ClientScriptManager 可用來管理用戶端腳本,並將其新增至 Web 應用程式。 您可以從 物件的 屬性取得 類別的 Page 參考 ClientScriptManager ClientScript

您可以將用戶端腳本以宣告方式新增至網頁,方法是在頁面的 HTML 標籤中包含腳本。 不過,在某些情況下需要動態新增用戶端腳本。 若要動態新增腳本,請使用 RegisterClientScriptBlock 方法、 RegisterClientScriptInclude 方法、 RegisterStartupScript 方法或 RegisterOnSubmitStatement 方法,視您想要新增腳本的時機和方式而定。 如需詳細資訊,請參閱如何:動態新增用戶端腳本至 ASP.NET Web Pages

類別 ClientScriptManager 可唯一識別索引鍵 StringType 的腳本。 具有相同索引鍵和類型的腳本會被視為重複專案。 使用腳本類型有助於避免與頁面上可能正在使用的不同使用者控制項混淆類似的腳本。

ClientScriptManager當想要從用戶端執行伺服器程式碼而不執行回傳時,類別可用來叫用用戶端回呼。 這稱為對伺服器執行頻外回呼。 在用戶端回呼中,用戶端腳本函式會將非同步要求傳送至 ASP.NET 網頁。 網頁會執行其正常生命週期的修改版本來處理回呼。 GetCallbackEventReference使用 方法來取得用戶端函式的參考,該函式會在叫用時起始伺服器事件的用戶端回呼。 如需詳細資訊,請參閱 實作不含回傳的用戶端回呼

注意

腳本回呼無法在不支援檔物件模型 (DOM) 的舊版瀏覽器中運作,而且需要用戶端上啟用 ECMAScript。 若要檢查瀏覽器是否支援回呼,請使用 SupportsCallback 屬性,該屬性可透過 Browser ASP.NET 內部 Request 物件的 屬性來存取。

GetPostBackEventReference使用 方法和 方法來 GetPostBackClientHyperlink 定義用戶端回傳事件。 這些方法會在叫用時啟用用戶端腳本函式,讓伺服器回傳至頁面。 用戶端回傳事件與用戶端回呼不同,網頁會完成正常生命週期來處理用戶端回傳事件。

注意

如果您使用 Button 控制項,且 UseSubmitBehavior 屬性設定為 false ,則您可以使用 GetPostBackEventReference 方法傳回控制項的 Button 用戶端回傳事件。

控制項 OnClientClickImageButton 控制項和 LinkButton 控制項的 Button 屬性可用來執行用戶端腳本。

方法

Equals(Object)

判斷指定的物件是否等於目前的物件。

(繼承來源 Object)
GetCallbackEventReference(Control, String, String, String)

取得用戶端函式的參考,這個函式會在叫用時,啟始對伺服器事件的用戶端回呼。 這個多載方法的用戶端函式包含指定的控制項、引數、用戶端指令碼和內容。

GetCallbackEventReference(Control, String, String, String, Boolean)

取得用戶端函式的參考,這個函式會在叫用時,啟始對伺服器事件的用戶端回呼。 這個多載方法的用戶端函式包含指定的控制項、引數、用戶端指令碼、內容和布林值。

GetCallbackEventReference(Control, String, String, String, String, Boolean)

取得用戶端函式的參考,這個函式會在叫用時,啟始對伺服器事件的用戶端回呼。 這個多載方法的用戶端函式包含指定的控制項、引數、用戶端指令碼、內容、錯誤處理常式和布林值。

GetCallbackEventReference(String, String, String, String, String, Boolean)

取得用戶端函式的參考,這個函式會在叫用時,啟始對伺服器事件的用戶端回呼。 這個多載方法的用戶端函式包含指定的目標、引數、用戶端指令碼、內容、錯誤處理常式和布林值。

GetHashCode()

做為預設雜湊函式。

(繼承來源 Object)
GetPostBackClientHyperlink(Control, String)

取得可用於用戶端事件中的參考,並附加 javascript: 至其開頭,針對指定控制項並以指定事件引數回傳給伺服器。

GetPostBackClientHyperlink(Control, String, Boolean)

取得可用於用戶端事件中的參考 (其開頭附加了 javascript:),針對指定控制項,以指定的事件引數和布林值 (指示是否註冊事件驗證的回傳) 回傳給伺服器。

GetPostBackEventReference(Control, String)

傳回字串,該字串可用於用戶端事件中造成回傳給伺服器。 參考字串是由處理回傳的指定控制項和其他事件資訊的字串引數所定義。

GetPostBackEventReference(Control, String, Boolean)

傳回字串,以用於用戶端事件中造成回傳給伺服器。 參考字串是由處理回傳的指定控制項和其他事件資訊的字串引數所定義。 或者,註冊事件參考以進行驗證。

GetPostBackEventReference(PostBackOptions)

傳回字串,該字串可用於用戶端事件中造成回傳給伺服器。 指定的 PostBackOptions 執行個體會定義參考字串。

GetPostBackEventReference(PostBackOptions, Boolean)

傳回字串,該字串可用於用戶端事件中造成回傳給伺服器。 指定的 PostBackOptions 物件會定義參考字串。 或者,註冊事件參考以進行驗證。

GetType()

取得目前執行個體的 Type

(繼承來源 Object)
GetWebResourceUrl(Type, String)

取得對組件中資源的 URL 參考。

IsClientScriptBlockRegistered(String)

判斷用戶端指令碼區塊是否已使用指定的索引鍵,向 Page 物件註冊。

IsClientScriptBlockRegistered(Type, String)

判斷用戶端指令碼區塊是否已使用指定的索引鍵和型別,向 Page 物件註冊。

IsClientScriptIncludeRegistered(String)

判斷用戶端指令碼 Include 是否已使用指定的索引鍵,向 Page 物件註冊。

IsClientScriptIncludeRegistered(Type, String)

判斷用戶端指令碼 Include 是否已使用指定的索引鍵和型別,向 Page 物件註冊。

IsOnSubmitStatementRegistered(String)

判斷 OnSubmit 陳述式是否已使用指定的索引鍵,向 Page 物件註冊。

IsOnSubmitStatementRegistered(Type, String)

判斷 OnSubmit 陳述式是否已使用指定的索引鍵和類型,向 Page 物件註冊。

IsStartupScriptRegistered(String)

判斷啟始指令碼是否已使用指定的索引鍵,向 Page 物件註冊。

IsStartupScriptRegistered(Type, String)

判斷啟始指令碼是否已使用指定的索引鍵和型別,向 Page 物件註冊。

MemberwiseClone()

建立目前 Object 的淺層複製。

(繼承來源 Object)
RegisterArrayDeclaration(String, String)

使用陣列名稱和陣列值,向 Page 物件註冊 JavaScript 陣列宣告。

RegisterClientScriptBlock(Type, String, String)

使用型別、索引鍵和指令碼常值,向 Page 物件註冊用戶端指令碼。

RegisterClientScriptBlock(Type, String, String, Boolean)

使用型別、索引鍵、指令碼常值,以及表示是否加入指令碼標記的布林值,向 Page 物件註冊用戶端指令碼。

RegisterClientScriptInclude(String, String)

使用索引鍵和 URL 在 Page 物件註冊用戶端指令碼,讓您能夠從用戶端呼叫此指令碼。

RegisterClientScriptInclude(Type, String, String)

使用型別、索引鍵和 URL,向 Page 物件註冊用戶端指令碼 Include。

RegisterClientScriptResource(Type, String)

使用型別和資源名稱,向 Page 物件註冊用戶端指令碼資源。

RegisterExpandoAttribute(String, String, String)

使用控制項 ID、屬性名稱和屬性值,將名稱/值組註冊為指定之控制項的自訂 (Expando) 屬性。

RegisterExpandoAttribute(String, String, String, Boolean)

使用控制項 ID、屬性名稱、屬性值,以及表示是否編碼屬性值的布林值,將名稱/值組註冊為指定之控制項的自訂 (Expando) 屬性。

RegisterForEventValidation(PostBackOptions)

使用 PostBackOptions 註冊事件參考以進行驗證。

RegisterForEventValidation(String)

使用唯一的控制項 ID (表示產生事件的用戶端控制項) 註冊事件參考以進行驗證。

RegisterForEventValidation(String, String)

使用唯一的控制項 ID 和事件引數 (表示產生事件的用戶端控制項) 註冊事件參考以進行驗證。

RegisterHiddenField(String, String)

Page 物件註冊隱藏值。

RegisterOnSubmitStatement(Type, String, String)

使用類型、索引鍵和指令碼常值 (Literal),向 Page 物件註冊 OnSubmit 陳述式。 當送出 HtmlForm 時,會執行該陳述式。

RegisterStartupScript(Type, String, String)

使用型別、索引鍵和指令碼常值,向 Page 物件註冊啟始指令碼。

RegisterStartupScript(Type, String, String, Boolean)

使用型別、索引鍵、指令碼常值,以及表示是否加入指令碼標記的布林值,向 Page 物件註冊啟始指令碼。

ToString()

傳回代表目前物件的字串。

(繼承來源 Object)
ValidateEvent(String)

驗證使用 RegisterForEventValidation(String) 方法註冊以進行事件驗證的用戶端事件。

ValidateEvent(String, String)

驗證使用 RegisterForEventValidation(String, String) 方法註冊以進行事件驗證的用戶端事件。

適用於

另請參閱