Page.RegisterClientScriptBlock(String, String) Page.RegisterClientScriptBlock(String, String) Page.RegisterClientScriptBlock(String, String) Page.RegisterClientScriptBlock(String, String) Method

Definition

Warnung

Diese API ist jetzt veraltet.

Gibt in der Antwort clientseitige Skriptblöcke aus.Emits client-side script blocks to the response.

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

Parameter

key
String String String String

Eindeutiger Schlüssel, der einen Skriptblock bezeichnet.Unique key that identifies a script block.

script
String String String String

Inhalt des Skripts, das an den Client gesendet wird.Content of script that is sent to the client.

Beispiele

Im folgenden Codebeispiel wird die Verwendung RegisterClientScriptBlock der-Methode in Verbindung mit der IsClientScriptBlockRegistered -Methode veranschaulicht.The following code example demonstrates the use of the RegisterClientScriptBlock method in conjunction with the IsClientScriptBlockRegistered method. Wenn das ECMAScript im Code Deklarations Block nicht bereits registriert wurde (wie durch festgelegt IsClientScriptBlockRegistered), RegisterClientScriptBlock wird der-Befehl durchgeführt.If the ECMAScript in the code declaration block has not already been registered, as determined by IsClientScriptBlockRegistered, the RegisterClientScriptBlock call is made.

<%@ 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>

Hinweise

Das Client seitige Skript wird unmittelbar nach dem öffnenden Tag des Page -Elements des- <form runat= server> Objekts ausgegeben.The client-side script is emitted just after the opening tag of the Page object's <form runat= server> element. Stellen Sie sicher, dass Sie öffnende und Schließ <script> Ende Elemente um die script im-Parameter angegebene Skriptblock Zeichenfolge einschließen.Be sure to include opening and closing <script> elements around the script block string specified in the script parameter.

Da diese Methode einen Schlüssel zum Identifizieren des Skript Blocks verwendet, muss der Skriptblock nicht jedes Mal, wenn er von einer anderen Server Steuerungs Instanz angefordert wird, an den Ausgabestream ausgegeben werden.Because this method uses a key to identify the script block, the script block does not have to be emitted to the output stream each time it is requested by a different server control instance. Durch die Verwendung eines Schlüssels wird auch die Wahrscheinlichkeit verringert, dass die Skriptblöcke der verschiedenen Steuerelemente gegenseitig stören.Using a key also decreases the likelihood of different controls' script blocks interfering with each other.

Alle Skriptblöcke mit denselben key Parameterwerten werden als Duplikate angesehen.Any script blocks with the same key parameter values are considered duplicates.

Hinweis

Denken Sie daran, HTML-Kommentar Tags in das Skript einzufügen, sodass es nicht gerendert wird, wenn der anfordernde Browser keine Skripts unterstützt.Remember to include HTML comment tags around your script so that it will not be rendered if the requesting browser does not support scripts.

Die RegisterClientScriptBlock-Methode ist veraltet.The RegisterClientScriptBlock method has been deprecated. Verwenden Sie stattdessen die RegisterClientScriptBlock-Methode in der ClientScriptManager-Klasse.Use the RegisterClientScriptBlock method in the ClientScriptManager class instead.

Gilt für: