Aracılığıyla paylaş


Page.RegisterClientScriptBlock(String, String) Yöntem

Tanım

Dikkat

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

yanıta istemci tarafı betik blokları yayar.

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)

Parametreler

key
String

Betik bloğunu tanımlayan benzersiz anahtar.

script
String

İstemciye gönderilen betiğin içeriği.

Öznitelikler

Örnekler

Aşağıdaki kod örneği yöntemiyle IsClientScriptBlockRegistered birlikte yönteminin RegisterClientScriptBlock kullanımını gösterir. Kod bildirim bloğundaki ECMAScript tarafından belirlendiği IsClientScriptBlockRegisteredRegisterClientScriptBlock gibi henüz kaydedilmemişse çağrı yapılır.

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

Açıklamalar

İstemci tarafı betiği, nesnenin <form runat= server> öğesinin açma etiketinden Page hemen sonra yayılır. parametresinde belirtilen betik bloğu dizesinin çevresine açma ve kapatma <script> öğelerini eklediğinizden script emin olun.

Bu yöntem betik bloğunu tanımlamak için bir anahtar kullandığından, betik bloğunun farklı bir sunucu denetimi örneği tarafından her istenişinde çıkış akışına yayınlanması gerekmez. Bir anahtarın kullanılması, farklı denetimlerin betik bloklarının birbirini engelleme olasılığını da azaltır.

Aynı key parametre değerlerine sahip tüm betik blokları yinelenen olarak kabul edilir.

Not

İsteyen tarayıcı betikleri desteklemiyorsa işlenmemesi için betiğinizin çevresine HTML açıklama etiketleri eklemeyi unutmayın.

RegisterClientScriptBlock yöntemi kullanım dışı bırakıldı. RegisterClientScriptBlock Bunun yerine sınıfında yöntemini ClientScriptManager kullanın.

Şunlara uygulanır