12

我有一个像

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

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

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';"/>

但都没有工作。请告诉我任何其他解决方案。提前致谢。

4

3 回答 3

14

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

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

在你的情况下:

Response.Write(String.Format("window.open('{0}','_blank')", ResolveUrl(pageurl)));
于 2013-06-03T12:10:33.043 回答
4

借助 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 事件 Control 如下所述

 protected void btnPrint_Click(object sender, EventArgs e)
    {
         Response.Redirect("ReportViewer1.aspx");
    }
于 2016-04-24T12:54:24.497 回答
1

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

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

document.getElementById["element_id"].target = "_blank";
于 2018-09-06T16:41:40.783 回答