"window.showModalDialog(..."はvbscript関数(ページはaspxと表示されています)で発生するモーダルダイアログを表示しています)ウィンドウのサイズを変更するには、これは当然のことですが、これはうまくいきませんでしたので、msgboxだけを表示したスクリプトを登録しようとしました。showModalDialogはClientScript.RegisterStartupScriptと干渉しませんか?
コードは(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");
}
はそれが見えページの負荷は(私が持っているときに、ウィンドウのfnWindowOnLに設定されたonloadイベントオード)。しかし何が起こるかは、何も例外ではなく、警告でもありません。私はtypeof呼び出しで考えることができるあらゆるタイプを試しました。何も動作していないようです。私が考えることができるのは、ダイアログがモーダルなので、ClientScript.RegisterStartupScriptは正しく動作しません。しかし、それは私には意味をなさない。
MsgBoxの「hello」呼び出しをスクリプトブロックに直接挿入すると、アラートが表示されるため、可能です。しかし、コードの中のいくつかの引数を修正する必要があるので、私が知る限りRegisterStartupScriptを使用する必要があります。
私の上司は私がshowModalDialogを取り除くと幸せにならないでしょう。それには他にも多くの変更が含まれています。私は本当に戻ってくる価値が必要です。私たちはIEのみの会社であり、何年も続くだろうと思う。 – jcollum
@jcollum上記の私の編集を参照してください。それは私が見たもう一つの問題です。 – Keltex
あなたが正しいです。しかし、もし私がここで正しいことを修正し始めるなら、私は最初から始めなければならないでしょう。私はその上にバイインをしていません – jcollum