Page.RegisterClientScriptBlock(String, String) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Achtung
The recommended alternative is ClientScript.RegisterClientScriptBlock(Type type, string key, string script). http://go.microsoft.com/fwlink/?linkid=14202
Gibt in der Antwort clientseitige Skriptblöcke aus.
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)
Parameter
- key
- String
Eindeutiger Schlüssel, der einen Skriptblock bezeichnet.
- script
- String
Inhalt des Skripts, das an den Client gesendet wird.
- Attribute
Beispiele
Im folgenden Codebeispiel wird die Verwendung der RegisterClientScriptBlock -Methode in Verbindung mit der IsClientScriptBlockRegistered -Methode veranschaulicht. Wenn das ECMAScript im Codedeklarationsblock noch nicht registriert wurde, wie von IsClientScriptBlockRegisteredbestimmt, wird der RegisterClientScriptBlock Aufruf ausgeführt.
<%@ 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>
Hinweise
Das clientseitige Skript wird direkt nach dem öffnenden Tag des Page Objektelements <form runat= server>
ausgegeben. Stellen Sie sicher, dass Sie öffnende und schließende <script>
Elemente um die im script
Parameter angegebene Skriptblockzeichenfolge einschließen.
Da diese Methode einen Schlüssel zum Identifizieren des Skriptblocks verwendet, muss der Skriptblock nicht jedes Mal an den Ausgabedatenstrom ausgegeben werden, wenn er von einer anderen Serversteuerungsinstanz angefordert wird. Die Verwendung eines Schlüssels verringert auch die Wahrscheinlichkeit, dass sich die Skriptblöcke verschiedener Steuerelemente gegenseitig stören.
Alle Skriptblöcke mit denselben key
Parameterwerten werden als Duplikate betrachtet.
Hinweis
Denken Sie daran, HTML-Kommentartags um Ihr Skript einzuschließen, damit es nicht gerendert wird, wenn der anfordernde Browser keine Skripts unterstützt.
Die RegisterClientScriptBlock-Methode ist veraltet. Verwenden Sie stattdessen die RegisterClientScriptBlock-Methode in der ClientScriptManager-Klasse.