Page.RegisterClientScriptBlock(String, String) Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Przestroga
The recommended alternative is ClientScript.RegisterClientScriptBlock(Type type, string key, string script). http://go.microsoft.com/fwlink/?linkid=14202
Emituje bloki skryptu po stronie klienta do odpowiedzi.
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)
Parametry
- key
- String
Unikatowy klucz identyfikujący blok skryptu.
- script
- String
Zawartość skryptu wysyłanego do klienta.
- Atrybuty
Przykłady
W poniższym przykładzie kodu pokazano użycie RegisterClientScriptBlock metody w połączeniu IsClientScriptBlockRegistered z metodą . Jeśli kod ECMAScript w bloku deklaracji kodu nie został jeszcze zarejestrowany, zgodnie z ustaleniami IsClientScriptBlockRegistered, RegisterClientScriptBlock 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
Skrypt po stronie klienta jest emitowany tuż po tagu Page otwierania <form runat= server>
elementu obiektu. 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. Użycie klucza zmniejsza również prawdopodobieństwo, że bloki skryptu różnych kontrolek zakłócają wzajemnie działanie.
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 RegisterClientScriptBlock została uznana za przestarzałą. RegisterClientScriptBlock Zamiast tego użyj metody w ClientScriptManager klasie .