Page.RegisterClientScriptBlock(String, String) Metodo

Definizione

Attenzione

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

Crea blocchi di script del lato client nella risposta.Emits client-side script blocks to the response.

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

Parametri

key
String

Chiave univoca che identifica un blocco di script.Unique key that identifies a script block.

script
String

Contenuto dello script che viene inviato al client.Content of script that is sent to the client.

Attributi

Esempio

Nell'esempio di codice riportato di seguito viene illustrato l'utilizzo del RegisterClientScriptBlock metodo in combinazione con il IsClientScriptBlockRegistered metodo.The following code example demonstrates the use of the RegisterClientScriptBlock method in conjunction with the IsClientScriptBlockRegistered method. Se ECMAScript nel blocco di dichiarazione del codice non è già stato registrato, come determinato da IsClientScriptBlockRegistered , la RegisterClientScriptBlock chiamata viene eseguita.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>

Commenti

Lo script sul lato client viene generato subito dopo il tag di apertura dell' Page elemento dell'oggetto <form runat= server> .The client-side script is emitted just after the opening tag of the Page object's <form runat= server> element. Assicurarsi di includere gli elementi di apertura e chiusura <script> attorno alla stringa di blocco di script specificata nel script parametro.Be sure to include opening and closing <script> elements around the script block string specified in the script parameter.

Poiché questo metodo utilizza una chiave per identificare il blocco di script, non è necessario che il blocco di script venga emesso nel flusso di output ogni volta che viene richiesto da un'istanza del controllo server diversa.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. L'uso di una chiave diminuisce anche la probabilità che i blocchi di script dei diversi controlli interferiscano tra loro.Using a key also decreases the likelihood of different controls' script blocks interfering with each other.

I blocchi di script con gli stessi key valori dei parametri sono considerati duplicati.Any script blocks with the same key parameter values are considered duplicates.

Nota

Ricordarsi di includere tag di commento HTML per lo script, in modo che non ne venga eseguito il rendering se il browser richiedente non supporta gli script.Remember to include HTML comment tags around your script so that it will not be rendered if the requesting browser does not support scripts.

Il metodo RegisterClientScriptBlock è stato deprecato.The RegisterClientScriptBlock method has been deprecated. Utilizzare in alternativa il metodo RegisterClientScriptBlock nella classe ClientScriptManager.Use the RegisterClientScriptBlock method in the ClientScriptManager class instead.

Si applica a