it-roy-ru.com

Открытие URL в новой вкладке

У меня есть URL, как 

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

но все не работает . Пожалуйста, сообщите мне любое другое решение . Заранее спасибо.

10
Pallavi Sagar

Вы используете URL с ~ , и он не будет распознаваться с помощью JavaScript. Вы должны обработать URL с помощью ~ , используя ResolveUrl метод, который 

преобразует URL в тот, который можно использовать на запрашивающем клиенте (c) msdn

В твоем случае: 

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

С помощью JavaScript мы можем установить целевое свойство формы в _blank всякий раз, когда мы хотим открыть страницу в новом окне. Попробуйте следующее

У меня есть кнопка ASP.Net

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

Я вызываю событие OnClientClick функции JavaScript SetTarget () элемента управления ASP.Net Button, как описано ниже.

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

вызов метода управления событиями OnClick метода btnPrint_Click, как описано ниже

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

Ответ, данный anand360, работал для меня. Спасибо!!

Я сделал небольшое изменение в JavaScript следующим образом, чтобы получить доступ только к нужному элементу.

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