Page.RegisterClientScriptBlock(String, String) Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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.