1

タイマーのティック イベントでスクリプトを登録しようとしていますが、何も起こりません。

protected void UpdateTimer_Tick(object sender, EventArgs e)
        { 
                ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "script", "ShowDialog()", true);
        }

同様に試してみScriptManager.RegisterStartupScriptましたが、うまくいきません。シンプルなアラートを呼び出してみましたが、うまくいきませんでした。

4

1 に答える 1

2

RegisterClientScriptBlock は、ページが最初に読み込まれたときにのみ機能します。サーバーのバックグラウンド スレッドで呼び出されたときに、それが機能することはおそらく期待できません。

代わりに、タイマー クライアント側を開始するクライアント スクリプト ブロックを登録する必要があります。javascript setTimeout を参照してください。

たとえば、ページの読み込み中

ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "script", "window.setTimeout(ShowDialog, 1000);", true);

または引数付き...

ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "script", "window.setTimeout(function(){ShowDialog(arg1,arg2);}, 1000);", true);
于 2013-02-27T13:30:13.277 に答える