【问题标题】:Opening a URL in a new tab在新选项卡中打开 URL
【发布时间】:2013-06-03 12:02:40
【问题描述】:

我有一个类似

的网址
Response.Redirect("~/webpages/frmCrystalReportViewer.aspx?VoucherNo=" + txtVoucherNo.Text + "&VoucherDate=" + txtVoucherDate.Text + " &strUserCode=" + strUserCode.ToString() + "&strCompanyCode=" + strCompanyCode.ToString() + "&formName=frmPaymentVoucher");

我想在浏览器的新标签页中打开这个网址。 我试过下面的代码...

string pageurl = "~/webpages/frmCrystalReportViewer.aspx?VoucherNo=" + txtVoucherNo.Text + "&VoucherDate=" + txtVoucherDate.Text + " &strUserCode=" + strUserCode.ToString() + "&strCompanyCode=" + strCompanyCode.ToString() + "&formName=frmPaymentVoucher";
Response.Write("<script>");
Response.Write("window.open('" + pageurl + "','_blank')");
Response.Write("</script>");

我也在下面尝试过

string pageurl = "~/webpages/frmCrystalReportViewer.aspx?VoucherNo=" + txtVoucherNo.Text + "&VoucherDate=" + txtVoucherDate.Text + " &strUserCode=" + strUserCode.ToString() + "&strCompanyCode=" + strCompanyCode.ToString() + "&formName=frmPaymentVoucher";
 ScriptManager.RegisterStartupScript(Page, Page.GetType(), "popup", "window.open('" + pageurl + "','_blank')", true);

我也试过了

<asp:Button ID="btnPrint" Text="Print" runat="server" OnClick="btnPrint_Click" OnClientClick="aspnetForm.target ='_blank';"/>

但一切都不起作用。 请告诉我任何其他解决方案。 提前致谢。

【问题讨论】:

    标签: c# javascript asp.net


    【解决方案1】:

    您正在使用带有 ~ 的 URL,它不会被 javascript 识别。您应该使用 ResolveUrl 方法处理带有 ~ 的 url,该方法

    将 URL 转换为可在请求客户端 (c)msdn 上使用的 URL

    在你的情况下:

    Response.Write(String.Format("window.open('{0}','_blank')", ResolveUrl(pageurl)));
    

    【讨论】:

    • 或者只是删除波浪号以相对于应用根目录。
    【解决方案2】:

    在 JavaScript 的帮助下,当我们想在新窗口中打开页面时,我们可以将表单的 target 属性设置为 _blank。试试下面的

    我有一个 ASP.Net 按钮

     <asp:Button ID="btnPrint" runat="server" Text="PRINT BILL" Onclick="btnPrint_Click"  OnClientClick="SetTarget();" />
    

    我正在调用 ASP.Net 按钮控件的 SetTarget() JavaScript 函数 OnClientClick 事件,如下所述

    <script type = "text/javascript">
     function SetTarget() {
         document.forms[0].target = "_blank";
     }
    </script>
    

    如下所述调用btnPrint_Click方法OnClick事件控件

     protected void btnPrint_Click(object sender, EventArgs e)
        {
             Response.Redirect("ReportViewer1.aspx");
        }
    

    【讨论】:

    • 这个有问题。 Javascript 运行后,与表单上的任何控件(不仅仅是按钮)的任何交互都会导致打开一个新选项卡。
    【解决方案3】:

    anand360 给出的答案对我有用。谢谢!!

    我在 JavaScript 中进行了如下的细微更改,以仅访问所需的元素。

    document.getElementById["element_id"].target = "_blank";
    

    【讨论】:

      猜你喜欢
      • 2016-05-03
      • 1970-01-01
      • 1970-01-01
      • 2014-01-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-18
      • 1970-01-01
      相关资源
      最近更新 更多