プロが教える店舗&オフィスのセキュリティ対策術

いつもお世話になっております。
ASP.NETでWebを作っております。
ボタン押下時に確認メッセージを出したく思っております。
まず考えたのが.aspxのボタンの場所にOnClientClickに記述したのですが.csのボタン押下処理(DB更新)より.aspxのボタン押下処理の方が早く出てしまいました。
次に.csにJavaScriptを埋め込むことにしました
参照:http://www.atmarkit.co.jp/fdotnet/dotnettips/160 …
がしかしRegisterClientScriptBlockなどは古い形式です。警告が出てしまいます。
引数がよくないみたいなんですがどなたかわかる方ご教授お願いいたします。

A 回答 (1件)

お世話になります。



.NET Framework のバージョンは書いてませんが 2.0 ですよね、きっと。
何を使うべきかは警告メッセージの後ろに書いてあります。
[警告メッセージより引用]
'System.Web.UI.Page.RegisterClientScriptBlock(string, string)' は古い形式です: 'The recommended alternative is ClientScript.RegisterClientScriptBlock(Type type, string key, string script). http://go.microsoft.com/fwlink/?linkid=14202'
[/警告メッセージより引用]

パラメータとして何を渡すべきかは MSDN に書いてあります。
http://msdn2.microsoft.com/ja-jp/library/system. …
[MSDN より引用]
パラメータ
type
登録するクライアント スクリプトの型。
key
登録するクライアント スクリプトのキー。
script
登録するクライアント スクリプト リテラル。

解説
クライアント スクリプトは、そのキーと型で一意に識別されます。同じキーと型を持つスクリプトは重複していると見なされます。同じ型とキーのペアを持つスクリプトは、同じページに 1 つだけ登録できます。既に登録されているスクリプトを登録しようとしても、重複したスクリプトは作成されません。
[/MSDN より引用]

なので、こんな感じになると思います。
RegisterClientScriptBlock("startup", "<script language='JavaScript'> alert('スタートアップ') </script>")

ClientScript.RegisterClientScriptBlock(this.GetType(), "startup", "<script language='JavaScript'> alert('スタートアップ') </script>")
    • good
    • 2

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています