Page.RegisterStartupScript(String, String) 方法

定義

警告

The recommended alternative is ClientScript.RegisterStartupScript(Type type, string key, string script). http://go.microsoft.com/fwlink/?linkid=14202

在頁面回應中發出用戶端指令碼區塊。

public:
 virtual void RegisterStartupScript(System::String ^ key, System::String ^ script);
public virtual void RegisterStartupScript (string key, string script);
[System.Obsolete("The recommended alternative is ClientScript.RegisterStartupScript(Type type, string key, string script). http://go.microsoft.com/fwlink/?linkid=14202")]
public virtual void RegisterStartupScript (string key, string script);
abstract member RegisterStartupScript : string * string -> unit
override this.RegisterStartupScript : string * string -> unit
[<System.Obsolete("The recommended alternative is ClientScript.RegisterStartupScript(Type type, string key, string script). http://go.microsoft.com/fwlink/?linkid=14202")>]
abstract member RegisterStartupScript : string * string -> unit
override this.RegisterStartupScript : string * string -> unit
Public Overridable Sub RegisterStartupScript (key As String, script As String)

參數

key
String

識別指令碼區塊的唯一索引鍵。

script
String

要傳送到用戶端的指令碼內容。

屬性

範例

下列程式碼範例示範如何搭配 IsStartupScriptRegistered 方法使用 RegisterStartupScript 方法。 如果以程式碼宣告區塊撰寫的 ECMAScript 尚未註冊,如 方法所決定 IsStartupScriptRegistered ,則會 RegisterStartupScript 進行呼叫。

<%@ 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)
  {
    String csname1 = "PopupScript";
    String csname2 = "ButtonClickScript";

    if (!IsClientScriptBlockRegistered(csname1))
    {
        String cstext1 = "<script type=\"text/javascript\">" +
            "alert('Hello World');</" + "script>";
        RegisterStartupScript(csname1, cstext1);
    }

    if (!IsClientScriptBlockRegistered(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>");
      RegisterClientScriptBlock(csname2, cstext2.ToString());
    }
  }
</script>
<html  >
  <head>
    <title>RegisterClientScriptBlock 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 EventArgs)
        Dim csname1 As String = "PopupScript"

        Dim csname2 As String = "ButtonClickScript"
    
        If Not IsClientScriptBlockRegistered(csname1) Then
            Dim cstext1 As String = "<script type=""text/javascript"">" & _
                "alert('Hello World');</" & "script>"
            RegisterStartupScript(csname1, cstext1)
        End If
    
        If Not IsClientScriptBlockRegistered(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>")
            RegisterClientScriptBlock(csname2, cstext2.ToString())
        End If
    End Sub
</script>
<html  >
  <head>
    <title>RegisterClientScriptBlock Example</title>
  </head>
  <body>
     <form id="Form1"
         runat="server">
        <input type="text" id="Message" /> <input type="button" value="ClickMe" onclick="DoClick()" />
     </form>
  </body>
</html>

備註

RegisterClientScriptBlock與 方法類似, RegisterStartupScript 方法會在物件的 <form runat= server> 專案結束記號 Page 之前發出腳本。 請務必在 參數中指定的 script 腳本區塊字串周圍包含開頭和結尾 <script> 元素。

因為這個方法會使用索引鍵來識別腳本區塊,所以每次由不同的伺服器控制實例要求腳本區塊時,都不需要發出腳本區塊至輸出資料流程

具有相同 key 參數值的任何腳本區塊都會被視為重複專案。

注意

請記得在腳本周圍包含 HTML 批註標籤,以便在要求瀏覽器不支援腳本時轉譯。

RegisterStartupScript 方法已被取代。 請改用 RegisterStartupScript 類別中的 ClientScriptManager 方法。

適用於

另請參閱