4

如果选择了特定的单选按钮,我需要在回发时从代码隐藏中打开一个新窗口。

有没有办法做到这一点?

谢谢你。

4

5 回答 5

4

您可以使用 RegisterStartupScript 发送一个 window.open 脚本,以便在页面加载后运行。

但是,这将导致大多数弹出窗口阻止程序妨碍您。

于 2009-05-22T11:06:39.770 回答
3

认为这应该工作;-)

添加一些 javascript 到您的单选按钮以在您回发之前打开一个新的空白窗口。这使得弹出窗口阻止程序不会阻止您的弹出窗口,因为它是响应用户点击而打开的。有关如何执行此部分的信息,请参阅此链接。

然后,让回发正常进行,在页面加载时,注册一个启动脚本来告诉你已经存在的窗口转到一个新的 url。

 String script = "window.open('popupPage.aspx', 'myPopup')";
 ScriptManager.RegisterStartupScript(Page, Page.GetType(), "someId", script, true);

请注意,在 javascript 中,当您调用

 window.open(url, 'myPopup')

如果已经存在具有该名称的窗口,它将返回它而不是创建新窗口...因此您的弹出窗口不会被阻止!

于 2011-08-31T15:06:09.087 回答
1

您需要在回发时运行 javascript

于 2009-05-22T11:05:48.023 回答
0

RegisterStartupScript 的简单示例:

RegisterStartupScript("id1", "<script type=\"text/javascript\">alert(\"I'm from JavaScript.\");</script>");
于 2009-05-22T11:38:07.770 回答
0

新窗口可能非常粗略,这取决于您需要呈现的内容,如果愿意,您可以考虑使用窗口内弹出窗口。这样您就可以避免弹出窗口阻止程序。如果您可以提供更多详细信息,我们可以提供更好的答案。

于 2009-05-23T06:08:52.457 回答