如何在ASP C#上打开新选项卡并将焦点保留在当前页面上然后当前页面重定向到单击按钮上的另一个页面?

时间:2014-03-20 12:36:48

标签: c# javascript asp.net response.redirect

我已经尝试过这段代码:

 protected void btnLogin_Click(object sender, EventArgs e)
    {
        String username = tbxUserName.Text;
        String password = tbxPassword.Text;
        String url = "http://localhost/drupal/login.php?user_name="+username+"&password="+password;

        Page.ClientScript.RegisterStartupScript(
            this.GetType(), 
            "OpenWindow",
            "var win = window.open('" + url + "','_newtab'); self.focus();", 
            true);

        Response.Redirect(url);
    }

该代码只是重定向到另一个页面,但是如果我删除了Response.Redirect(url),则浏览器会打开新标签,但会将焦点转移到新标签页。

任何人都可以帮忙吗?

2 个答案:

答案 0 :(得分:1)

是的,您应该删除Response.Redirect(url);,否则您上面的代码会丢失。你使用的是什么浏览器?它不仅是您控制此行为的代码。浏览器也有这样的设置。例如,在Internet Explorer 11中,转到 Internet选项,然后单击常规选项卡上的选项卡按钮。请注意设置创建时始终切换到新选项卡,如果选中,则它将按照您描述的方式运行。清除它,看看会发生什么。

答案 1 :(得分:0)

您可以在新窗口中打开页面...

ScriptManager.RegisterStartupScript(this, this.GetType(), "onclick", "javascript:window.open( '../../drupal/login.php','_blank','height=600px,width=600px,scrollbars=1');", true);

之后重定向到所需的页面......

Response.Redirect(url);