プロが教える店舗&オフィスのセキュリティ対策術

次のような関数を用意しています。
ただ、下のコード内
strScript = "window.showModalDialog('" + url + "', '','dialogWidth=150px;dialogHeight=150px'); return false";
の行を実行するところで、「return ステートメントが関数の外にあります」というエラーが発生
してしまいます。
http://youtu.dai-li.info/home.php?u=FR%2BtFe%2Bw …」では、return falseをつけなければ、ポストバックされてしまうとかいてあった為、
追記しているのですが。。。
対応方法をご存じの方、ご教授の程お願い致します。

private void LaunchModal(string url)
{
string startupScript = "";
string strScript = "";

strScript = "window.showModalDialog('" + url + "', '','dialogWidth=150px;dialogHeight=150px'); return false";
startupScript = "<script language='JavaScript'>" + strScript + "</script>";
ClientScript.RegisterStartupScript(this.GetType(), "key2", startupScript);
}

A 回答 (1件)

http://www.atmarkit.co.jp/fdotnet/dotnettips/160 …

RegisterStartupScriptがどういうものかよく考えてみましょう。
この状態だと return false はいらないかと。
submitしてるわけじゃないし。

で、あとこのようにページを表示した瞬間にスクリプトを動作させようとすると、現在のブラウザはすべてポップアップブロックにひっかかると思います。
なので、思ったとおりの動作をさせることはできないんじゃないかな。。。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!