简体   繁体   English

在新标签页中打开网址

[英]Opening a URL in a new tab

I have an url like 我有一个网址

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

I want to open this url in new tab of browser. 我想在浏览器的新标签中打开此网址。 I tried below code... 我尝试下面的代码......

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>");

also i tried below 我也在下面试过

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);

also i tried 我也试过了

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

but all are not working. 但都没有用。 Please tell me any another solution. 请告诉我任何其他解决方案。 Thanks in advance. 提前致谢。

You are using URL with ~ and it won't recognize by javascript. 您正在使用带有〜的 URL,它将无法通过javascript识别。 You should process url with ~ by using ResolveUrl method which 你应该用使用ResolveUrl方法处理url

converts a URL into one that is usable on the requesting client(c)msdn 将URL转换为可在请求客户端上使用的URL(c)msdn

In your case: 在你的情况下:

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

With the help of JavaScript we can set the target property of form to _blank whenever we want to open the page in a new window. 在JavaScript的帮助下,只要我们想在新窗口中打开页面,我们就可以将表单的target属性设置为_blank。 Try the following 请尝试以下方法

I have an ASP.Net Button 我有一个ASP.Net按钮

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

I am calling the SetTarget() JavaScript function OnClientClick event of the ASP.Net Button Control as described below 我正在调用ASP.Net Button Control的SetTarget()JavaScript函数OnClientClick事件,如下所述

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

calling the btnPrint_Click method OnClick event Control as described below 调用btnPrint_Click方法OnClick事件控件如下所述

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

The answer given by anand360 worked for me. anand360给出的答案对我有用。 Thanks!! 谢谢!!

I made a slight change in JavaScript as follows to access only the desired element. 我对JavaScript进行了如下微小的更改,以便只访问所需的元素。

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM