クマの手も借りたい
茶トラネコ(@kumanotemo)です。上場を控えたITベンチャーを2社も退職してフリーランスの道を選んだ放浪エンジニアです。
エンジニア

C#のRegisterStartupScriptでJavaScript出力

ASP.NET における JavaScript は、aspx ファイル内に埋め込むよりも C# や VB.NET のコードから出力する方が好ましいという記述を見つけた。

JavaScript も外部ファイル化してしまえば気にすることもないのだろうけど、動的に C# などのコードから値を埋め込みたい場合は、確かにそっちの方が都合がいいですね。

実際に、ASP.NET の Page クラス(System.Web.UI)には RegisterStartupScript メソッドがあり、これに JavaScript の記述を渡せば、HTML 上で </form> タグの直前に出力してくれます。

さて、そんな RegisterStartupScript メソッドですが、C# での使い方は下記の通り。

[C#のコード]
string js = "";

js += "<script language='JavaScript'>";
js += "window.open('[URL]', 'sample')";
js += "</script>";

RegisterStartupScript("startup", js);


[RegisterStartupScriptのメソッド]
public virtual void RegisterStartupScript(
	string key,    // スクリプトブロックを識別する一意のキー
	string script  // クライアントに送られるスクリプトの内容
)

しかし、現在はこの引数に対応した方法は推奨されていないので、推奨されているメソッドに対応させます。

このメソッドは Page クラスではなく、ClientScriptManager クラスを使用します。

[C#のコード]
string js = "";

js += "<script language='JavaScript'>";
js += "window.open('[URL]', 'sample')";
js += "</script>";

Page.ClientScript.RegisterStartupScript(this.GetType(), "startup", js);


[Page.ClientScript.RegisterStartupScriptのメソッド]
public void RegisterStartupScript(
	Type type,     // 登録する起動スクリプトの型
	string key,    // 登録する起動スクリプトのキー
	string script  // 登録する起動スクリプトリテラル
)
やさしいKotlin入門

プログラミング初心者または Kotlin 初心者向けの入門本。Android 開発ではなく Kotlin の言語を覚えてみたい方にオススメの入門本です。

Java と比較して説明される書籍が多い中、Java や他のプログラム言語を知らない人向けになるので、例えば Java はあまり詳しくないけど PHP や Python は書けるといったパターンとも相性がいいですよ。

あなたにオススメ