我有一个像
的网址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';"/>
但都没有用。 请告诉我任何其他解决方案。 提前谢谢。
答案 0 :(得分:12)
您正在使用带有〜的网址,并且无法通过javascript识别。您应该使用 ResolveUrl 方法〜处理网址
将URL转换为可在请求客户端上使用的URL(c)msdn
在你的情况下:
Response.Write(String.Format("window.open('{0}','_blank')", ResolveUrl(pageurl)));
答案 1 :(得分:2)
在JavaScript的帮助下,只要我们想在新窗口中打开页面,我们就可以将表单的target属性设置为_blank。请尝试以下
我有一个ASP.Net按钮
<asp:Button ID="btnPrint" runat="server" Text="PRINT BILL" Onclick="btnPrint_Click" OnClientClick="SetTarget();" />
我正在调用ASP.Net Button Control的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");
}
答案 2 :(得分:0)
anand360给出的答案对我有用。谢谢!
我对JavaScript进行了如下更改,以仅访问所需的元素。
document.getElementById["element_id"].target = "_blank";