【问题标题】:how to get link to open new tab in browser?如何获取在浏览器中打开新标签的链接?
【发布时间】:2016-01-27 14:33:19
【问题描述】:

我有一个保存按钮,可以将用户从表单输入的所有信息保存到数据库中。完成所有操作后,我希望自动打开一个新选项卡。

所以代码会检查保存是否成功,然后我希望打开新标签。

if (NewQuoteID != -1)
{
     Response.Redirect("Printouts/DSVQuotation.aspx?QuoteID=" + NewQuoteID.ToString(), false);
}

保存按钮的代码:

<asp:LinkButton runat="server" ID="btnSave" CssClass="btnSaveLarge loading" OnClientClick="return CheckNoOfDetails()" ToolTip="Save Quote" OnClick="btnSave_Click" Text="Save"  /> 

此代码在同一选项卡上打开链接。如何让链接在浏览器的新标签页上打开?我看到很多示例都将 OnClientClick 设置为:OnClientClick="aspnetForm.target ='_blank';" 但我已经在 OnClientClick 中调用了一个方法

【问题讨论】:

  • 您可以尝试在 OnClientClick 方法中设置表单的目标
  • 如果您使用 jQuery,您可以为该按钮创建一个事件侦听器(带有客户端 ID),然后您可以轻松地在客户端执行任何您需要的操作。你试过吗?

标签: asp.net response.redirect onclientclick


【解决方案1】:

试试这个:

 OnClientClick="window.open('New.aspx')"

但问题是重复的,这是完整的答案

how to open a page in new tab on button click in asp.net?

【讨论】:

  • 在这种情况下应该是 OnClientClick。 OnClick 是一个服务器端事件。
【解决方案2】:

试试这样的

 string script = "<script>window.open('Printouts/DSVQuotation.aspx?QuoteID=" + NewQuoteID.ToString() + "','_blank');</script>"

response.write(脚本);

【讨论】:

    【解决方案3】:

    如果你想在服务器端保存操作成功后打开标签..

    客户端:

     <script type="text/javascript">
        var openNewTab = function (url) {
            window.open(url);
        }
    </script>
    

    服务器端

            if (NewQuoteID != -1)
            {
                var url = "Printouts/DSVQuotation.aspx?QuoteID=" + NewQuoteID.ToString();
                ClientScript.RegisterStartupScript(this.GetType(), "openmypage", string.Format("openNewTab('{0}');", url), true);
            }
    

    【讨论】:

    • 这可行,但我必须允许浏览器中的弹出窗口。有没有办法阻止它?
    猜你喜欢
    • 2013-01-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-16
    • 1970-01-01
    • 2012-10-29
    • 2013-12-24
    相关资源
    最近更新 更多