6

OnInithanlderにいくつかのコードがあります

if (!Page.ClientScript.IsStartupScriptRegistered(GetType(), "MyScript"))
{
    Page.ClientScript.RegisterStartupScript(GetType(), "MyScript", GetStartupScript(), true);
}

ここで私はいくつかのJavaスクリプトコードを登録しようとします。ボタンクリックイベントで動作させたいです。しかし、それは実行されません。ページを更新した後にのみ実行されます。なぜそれが実行されないのか誰かが私に説明できますか?

事前にt​​hnx!

4

3 に答える 3

13

これを試して:

ScriptManager.RegisterStartupScript(this, typeof(string), "Error", 
    "alert('hi');", true);

問題は、一部のページでを宣言している可能性があることScriptManagerです。1ページに1つしかScriptManager許可されていないため、既存のスクリプトを使用してScriptManagerスクリプトを登録する必要があります。

RegisterStartupScriptは静的メソッドであることに注意してください。のインスタンスでは呼び出さないでくださいScriptManager(C#ではコンパイルエラーが発生しますが、VB.NETでは警告のみが発生します)。

このリンクには、この問題に関するもう少し詳しい情報があります。

于 2012-04-28T12:34:43.713 に答える
2
 string msg = "This is variable message";
 Page.ClientScript.RegisterStartupScript(typeof(Page), "well1", "<script>alert('" + msg + "');</script>");
于 2012-12-13T05:50:18.703 に答える
-4

これは私にとってはうまくいきました:

Response.Write("<script type='text/javascript'>alert('" + AlerteMsg + "');</script>");
于 2012-11-27T15:56:46.240 に答える