Подтвердить что ты не робот

Как открыть новое окно браузера при событии нажатия кнопки?

Как открыть новое окно браузера при событии нажатия кнопки в С# 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 работает, но новое окно не открывается.

4b9b3361

Ответ 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>

Ответ 4

Или напишите в поток ответов:

Response.Write("<script>");
Response.Write("window.open('page.html','_blank')");
Response.Write("</script>");