共用方式為


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 應用程式。 您可以從物件的 屬性取得 類別ClientScriptPage參考ClientScriptManager

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

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

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

注意

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

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

注意

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

OnClientClick控制項、ImageButton控制項和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) 方法註冊以進行事件驗證的用戶端事件。

適用於

另請參閱