Udostępnij za pośrednictwem


Page.RegisterStartupScript(String, String) Metoda

Definicja

Przestroga

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

Emituje blok skryptu po stronie klienta w odpowiedzi strony.

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)

Parametry

key
String

Unikatowy klucz identyfikujący blok skryptu.

script
String

Zawartość skryptu, który zostanie wysłany do klienta.

Atrybuty

Przykłady

W poniższym przykładzie kodu pokazano użycie RegisterStartupScript metody w połączeniu IsStartupScriptRegistered z metodą . Jeśli kod ECMAScript napisany w bloku deklaracji kodu nie został jeszcze zarejestrowany zgodnie z IsStartupScriptRegistered metodą , RegisterStartupScript zostanie wykonane wywołanie.

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

Uwagi

Podobnie jak w RegisterStartupScript przypadku RegisterClientScriptBlock metody, metoda emituje skrypt tuż przed tagiem Page zamykającym elementu obiektu<form runat= server>. Pamiętaj, aby uwzględnić elementy otwierające i zamykające <script> wokół ciągu bloku skryptu określonego w parametrze script .

Ponieważ ta metoda używa klucza do identyfikowania bloku skryptu, blok skryptu nie musi być emitowany do strumienia wyjściowego za każdym razem, gdy jest on żądany przez inne wystąpienie kontroli serwera

Wszystkie bloki skryptu z tymi samymi key wartościami parametrów są traktowane jako duplikaty.

Uwaga

Pamiętaj, aby uwzględnić tagi komentarzy HTML wokół skryptu, aby nie było renderowane, jeśli żądana przeglądarka nie obsługuje skryptów.

Metoda RegisterStartupScript została uznana za przestarzałą. RegisterStartupScript Zamiast tego użyj metody w ClientScriptManager klasie .

Dotyczy

Zobacz też