1

私は、ユーザー コントロール (ascx.cs) のコード ビハインドから JavaScript を介してアラート ポップアップを表示するという、最も簡単なことをしようとしています。

私はもう試した

protected void btnSave_Click(object sender, EventArgs e)
{
    ScriptManager.RegisterStartupScript(btnSave, GetType(), "uniqueID", "alert('hello');", true);
}

としても

Page.ClientScript.RegisterStartupScript(GetType(), "uniqueID", "alert('hello');", true);

しかし、私には何もうまくいかないようです。コントロールは、ASPX ページの RadAjaxPanel (telerik) 内にあります。

ここで明らかな何かが欠けています。どんなアイデア?

編集:私が見る限り、javascript は html ソースに挿入されていません。ID と実際のアラート ステートメントを html で探します。

4

4 に答える 4

1

ページのタイプをクライアント スクリプト タイプパラメータに渡します。

Page.ClientScript.RegisterClientScriptBlock(typeof(MyPage), 
    "myPostBackScript", script, true);

編集:通常、このコードは機能しますが、テレリックの制御が挿入されたスクリプトにどのように影響するかはわかりません。ページの HTML ソースを開いて、挿入されたスクリプトを見つけてみてください。これは、問題の解決に役立ちます。

于 2009-03-31T07:09:57.733 に答える
1

ああ、問題は Telerik RadAjaxPanel でした。次のように、EnableOutsideScripts を true に設定する必要がありました。

<telerik:RadAjaxPanel ID="ajaxpanel" runat="server" LoadingPanelID="ajaxLoadingPanel" EnableOutsideScripts="true">

そして、次のコードを使用できます。

ScriptManager.RegisterStartupScript(btnSave, GetType(), "uniqueID", "alert('hello');", true);
于 2009-03-31T14:27:21.410 に答える
0

あなた<form runat="server"のページにはありますか?

于 2009-03-31T07:03:34.423 に答える
0

ボタンの onClientClick イベントからの場合は呼び出しますか? 使用しているコントロールが何であれ、クライアント側のイベントから js を呼び出していることを確認してください

また、アイデアについてはこれを見てください

編集

サーバーから js を呼び出すことはできません。js は CLIENT-SIDE スクリプトです。あなたができることは、すべてのチェックを行った後にスクリプトを登録し、それを onload イベントに結び付けることです。詳細については、このSOの質問を参照してください

EDIT2

このページの最後の投稿をチェックしてください

于 2009-03-31T07:48:37.063 に答える