vbscript関数で発生する「window.showModalDialog(...」を介してモーダルダイアログを表示しています(表示されているページはaspxです)。行の数に基づいてウィンドウのサイズを変更したいと思います当然、行数に基づいてウィンドウのサイズを変更するスタートアップ スクリプトを登録しますが、うまくいかなかったので、msgbox を表示するだけのスクリプトを登録しようとしました。
コードは次のようになります (OnLoad イベント ハンドラー内)。
if (!this.ClientScript.IsStartupScriptRegistered(typeof(MyPageClassName), "hello"))
{
this.ClientScript.RegisterStartupScript(typeof(MyPageClassName), "hello",
@"<script language=vbscript>
sub fnWindowOnLoad()
MsgBox ""hello""
end sub
<script>", false);
}
if (!this.ClientScript.IsStartupScriptRegistered(typeof(MyPageClassName), "hello"))
{
throw new Exception("Failed to load script");
}
私には、これが機能し、ページがロードされたときに「こんにちは」というメッセージ ボックスが表示されるように見えます (ウィンドウの onload イベントを fnWindowOnLoad に設定しました)。しかし、何が起こるかは、何も、例外も、警告もありません。typeof 呼び出しで考えられるすべてのタイプを試しました。何も機能していないようです。私が考えることができる唯一のことは、ダイアログがモーダル ClientScript.RegisterStartupScript であるため、正しく実行されないということです。しかし、それは私には意味がありません。
MsgBox の「hello」呼び出しをスクリプト ブロックに直接配置すると、アラートが表示されたので、可能です。しかし、コード ビハインドのいくつかの引数を変更する必要があるため、わかる限り RegisterStartupScript を使用する必要があります。