0

我一直在一个asp.net网站上工作,我需要从后面的c#代码打开一个浏览器窗口。我在 aspx 页面上创建了以下 JS。

JS:

<scrupt type="text/javascript">

function openPopUp() {
  window.open("About.aspx?something=happening", "WindowPopup", "width=700px, height=500px, resizable");
}
</script>

和这个 C# 代码

C#:

protected void Button1_Click(object sender, EventArgs e) {
  string script = "<script language='javascript' type='text/javascript'>Sys.Application.add_load(openPopUp);</script>";
            ClientScript.RegisterStartupScript(this.GetType(), "openPopUp", script);
}

上面的代码工作正常,并将 About.aspx 页面显示为一个新的浏览器窗口。但是,问题是每当父页面进行回发时(例如,每当我尝试对父页面上的 radgrid 进行排序时),它都会再次打开浏览器窗口。

我已经用谷歌搜索了它,但没有找到解决这个问题的有用方法,也许我需要取消注册正在 Button1_Click 上注册的客户端脚本,如果是这样,那么让我知道一旦浏览器窗口我该如何分离或取消注册脚本已关闭,因此同一浏览器窗口不会在每次回发时一次又一次地显示。

任何帮助将不胜感激!

4

1 回答 1

0

在 onclick 事件中,你可以试试这个..

onclick="javascript:window.open("About.aspx?something=happening",'mywin','left=20,top=20,width=700,height=700,toolbar=0,resizable=1,location=0,menubar=0');return false;"

我认为return false可以解决问题..

于 2013-07-01T05:31:59.640 回答