如何在C#ASP.NET中按钮点击事件打开新的浏览器窗口?
请分享任何例子。
我正在做以下代码。请让我知道我哪里出错了。
btn_Click()
{
if(condition==true)
{
this.Page.ClientScript.RegisterStartupScript(
this.GetType(),
"page_index_script2",
"openNewWindow();",
true
);
}
}
JavaScript函数是
function openNewWindow()
{
alert('HI');
window.open('http://www.stackoverflow.com');
}
当我从javascript函数运行代码时警报正常工作但新窗口没有打开。
答案 0 :(得分:16)
你可以使用这样的代码,你可以根据需要调整高度和宽度
protected void button_Click(object sender, EventArgs e)
{
// open a pop up window at the center of the page.
ScriptManager.RegisterStartupScript(this, typeof(string), "OPEN_WINDOW", "var Mleft = (screen.width/2)-(760/2);var Mtop = (screen.height/2)-(700/2);window.open( 'your_page.aspx', null, 'height=700,width=760,status=yes,toolbar=no,scrollbars=yes,menubar=no,location=no,top=\'+Mtop+\', left=\'+Mleft+\'' );", true);
}
答案 1 :(得分:10)
可以使用OnClientClick
[MSDN] 事件处理程序和window.open
在客户端完成所有操作 [MDN] :
<asp:Button
runat="server"
OnClientClick="window.open('http://www.stackoverflow.com'); return false;">
Open a new window!
</asp:Button>
答案 2 :(得分:2)
Response.Write('...打开窗口的JavaScript ...')
答案 3 :(得分:2)
或写入回复流:
Response.Write("<script>");
Response.Write("window.open('page.html','_blank')");
Response.Write("</script>");