Как открыть новое окно браузера при событии нажатия кнопки?
Как открыть новое окно браузера при событии нажатия кнопки в С# 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, функция Alert работает, но новое окно не открывается.
Ответы
Ответ 1
Вы можете использовать такой код, как это, вы можете настроить высоту и ширину в соответствии с вашими потребностями
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);
}
Ответ 2
Это можно сделать на стороне клиента, используя OnClientClick
[MSDN] обработчик событий и window.open
[MDN]:
<asp:Button
runat="server"
OnClientClick="window.open('http://www.stackoverflow.com'); return false;">
Open a new window!
</asp:Button>
Ответ 3
Response.Write('... javascript, который открывает окно...')
http://www.aspspider.com/qa/Question2714.aspx
Ответ 4
Или напишите в поток ответов:
Response.Write("<script>");
Response.Write("window.open('page.html','_blank')");
Response.Write("</script>");