Page.RegisterStartupScript メソッド
アセンブリ: System.Web (system.web.dll 内)
構文
<ObsoleteAttribute("The recommended alternative is ClientScript.RegisterStartupScript(Type type, string key, string script). http://go.microsoft.com/fwlink/?linkid=14202")> _ Public Overridable Sub RegisterStartupScript ( _ key As String, _ script As String _ )
Dim instance As Page Dim key As String Dim script As String instance.RegisterStartupScript(key, script)
[ObsoleteAttribute("The recommended alternative is ClientScript.RegisterStartupScript(Type type, string key, string script). http://go.microsoft.com/fwlink/?linkid=14202")] public virtual void RegisterStartupScript ( string key, string script )
[ObsoleteAttribute(L"The recommended alternative is ClientScript.RegisterStartupScript(Type type, string key, string script). http://go.microsoft.com/fwlink/?linkid=14202")] public: virtual void RegisterStartupScript ( String^ key, String^ script )
/** @attribute ObsoleteAttribute("The recommended alternative is ClientScript.RegisterStartupScript(Type type, string key, string script). http://go.microsoft.com/fwlink/?linkid=14202") */ public void RegisterStartupScript ( String key, String script )
ObsoleteAttribute("The recommended alternative is ClientScript.RegisterStartupScript(Type type, string key, string script). http://go.microsoft.com/fwlink/?linkid=14202") public function RegisterStartupScript ( key : String, script : String )
RegisterStartupScript メソッドは、RegisterClientScriptBlock メソッドと同様に、Page オブジェクトの <form runat= server> 要素の終了タグの直前にスクリプトを出力します。script パラメータで指定したスクリプト ブロックの文字列を、必ず開始と終了の <script> 要素で囲んでください。
このメソッドは、キーを使用してスクリプト ブロックを識別するので、異なるサーバー コントロールのインスタンスから要求されるたびにスクリプト ブロックを出力ストリームに出力する必要はありません。
同じ key パラメータ値のスクリプト ブロックは、重複であると見なされます。
メモ |
---|
要求側のブラウザがスクリプトをサポートしていない場合にスクリプトが表示されないように、HTML コメント タグでスクリプトを囲んでおいてください。 |
RegisterStartupScript メソッドは推奨されていません。代わりに ClientScriptManager クラスの RegisterStartupScript メソッドを使用してください。
IsStartupScriptRegistered メソッドと共に RegisterStartupScript メソッドを使用する方法を次のコード例に示します。コード宣言ブロックに書き込まれた ECMAScript がまだ登録されていないことが IsStartupScriptRegistered メソッドによるチェックで判明した場合は、RegisterStartupScript の呼び出しが実行されます。
<html> <head> <script language="VB" runat="server"> Public Sub Page_Load(ByVal Sender As Object, ByVal e As EventArgs) If (Not Me.IsStartupScriptRegistered("Startup")) Then ' Form the script to be registered at client side. Dim scriptString As String = "<script language=JavaScript> function DoClick() {" scriptString += "showMessage2.innerHTML='<h4>Welcome to Microsoft .NET!</h4>'}" scriptString += "function Page_Load(){ showMessage1.innerHTML=" scriptString += "'<h4>RegisterStartupScript Example</h4>'}<" scriptString += "/" scriptString += "script>" Me.RegisterStartupScript("Startup", scriptString) End If End Sub </script> </head> <body topmargin="20" leftmargin="10" onload="Page_Load()"> <form id="myForm" runat="server"> <span id="showMessage1"></span> <br> <input type="button" value="ClickMe" onclick="DoClick()"> <br> <span id="showMessage2"></span> </form> </body> </html>
<html> <head> <script language="C#" runat="server"> public void Page_Load(Object sender, EventArgs e) { if (!this.IsStartupScriptRegistered("Startup")) { // Form the script to be registered at client side. String scriptString = "<script language=JavaScript> function DoClick() {"; scriptString += "showMessage2.innerHTML='<h4>Welcome to Microsoft .NET!</h4>'}"; scriptString += "function Page_Load(){ showMessage1.innerHTML="; scriptString += "'<h4>RegisterStartupScript Example</h4>'}<"; scriptString += "/"; scriptString += "script>"; this.RegisterStartupScript("Startup", scriptString); } } </script> </head> <body topmargin="20" leftmargin="10" onload="Page_Load()"> <form id="myForm" runat="server"> <span id="showMessage1"></span> <br> <input type="button" value="ClickMe" onclick="DoClick()"> <br> <span id="showMessage2"></span> </form> </body> </html>
<html> <head> <script language="VJ#" runat="server"> public void Page_Load(Object sender, EventArgs e) { if (!(this.IsStartupScriptRegistered("Startup"))) { // Form the script to be registered at client side. String scriptString = "<script language=JavaScript> function DoClick() {"; scriptString += "showMessage2.innerHTML='<h4>Welcome" + " to Microsoft .NET!</h4>'}"; scriptString += "function Page_Load(){ showMessage1.innerHTML="; scriptString += "'<h4>RegisterStartupScript Example</h4>'}<"; scriptString += "/"; scriptString += "script>"; this.RegisterStartupScript("Startup", scriptString); } } </script> </head> <body topmargin="20" leftmargin="10" onload="Page_Load()"> <form id="myForm" runat="server"> <span id="showMessage1"></span> <br> <input type="button" value="ClickMe" onclick="DoClick()"> <br> <span id="showMessage2"></span> </form> </body> </html>
Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
参照
- Page.RegisterStartupScript メソッドのページへのリンク