Page.RegisterClientScriptBlock(String, String) Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Upozornění
The recommended alternative is ClientScript.RegisterClientScriptBlock(Type type, string key, string script). http://go.microsoft.com/fwlink/?linkid=14202
Do odpovědi vygeneruje bloky skriptů na straně klienta.
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
Jedinečný klíč, který identifikuje blok skriptu.
- script
- String
Obsah skriptu, který se odešle klientovi.
- Atributy
Příklady
Následující příklad kódu ukazuje použití RegisterClientScriptBlock metody ve spojení s metodou IsClientScriptBlockRegistered . Pokud ecmaScript v bloku deklarace kódu ještě není zaregistrován, jak je určeno IsClientScriptBlockRegistered, RegisterClientScriptBlock je volání provedeno.
<%@ 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>
Poznámky
Skript na straně klienta se vygeneruje hned za levou značkou elementu objektu Page<form runat= server>
. Nezapomeňte zahrnout prvky otevření a uzavření <script>
kolem řetězce bloku skriptu zadaného v parametru script
.
Vzhledem k tomu, že tato metoda používá klíč k identifikaci bloku skriptu, nemusí být blok skriptu vysílaný do výstupního datového proudu pokaždé, když je požadován jinou instancí řízení serveru. Použití klíče také snižuje pravděpodobnost, že se bloky skriptů různých ovládacích prvků vzájemně ruší.
Všechny bloky skriptů se stejnými key
hodnotami parametrů se považují za duplicitní.
Poznámka
Nezapomeňte do skriptu zahrnout značky komentářů HTML, aby se nevykresloval, pokud žádající prohlížeč nepodporuje skripty.
Metoda RegisterClientScriptBlock je zastaralá. Místo toho použijte metodu RegisterClientScriptBlockClientScriptManager ve třídě.