2013-06-03 7 views
8

में एक यूआरएल खुलने मैं की तरहएक नया टैब

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

की कोशिश की लेकिन सब काम नहीं कर रहे। कृपया मुझे कोई और समाधान बताएं। अग्रिम धन्यवाद।

उत्तर

9

आप ~ के साथ यूआरएल का उपयोग कर रहे हैं और यह जावास्क्रिप्ट द्वारा पहचाना नहीं जाएगा। आप ResolveUrl का उपयोग कर तरीका है जिसके

एक है कि का अनुरोध ग्राहक (ग) पर प्रयोग करने योग्य है में एक यूआरएल धर्मान्तरित MSDN

आपके मामले में द्वारा ~ साथ यूआरएल को संसाधित करना चाहिए:

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

या बस टिल्ड को हटाएं ऐप रूट के सापेक्ष रहें। –

+0

@GrantThomas सही है। सुधार के लिए धन्यवाद। –

1

जावास्क्रिप्ट की सहायता से हम फॉर्म की लक्षित संपत्ति को _blank पर सेट कर सकते हैं जब भी हम एक नई विंडो में पृष्ठ खोलना चाहते हैं। प्रयास करें निम्नलिखित

मैं एक ASP.Net बटन

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

मैं नीचे

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

बुला वर्णित के रूप में SetTarget() ASP.Net बटन नियंत्रण JavaScript फ़ंक्शन OnClientClick घटना बोल रहा हूँ है btnPrint_Click विधि ऑनक्लिक घटना नियंत्रण नीचे वर्णित अनुसार

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

इसमें कोई समस्या है। जावास्क्रिप्ट चलाने के बाद, फॉर्म पर किसी भी नियंत्रण के साथ कोई भी बातचीत (केवल बटन नहीं) एक नया टैब खोला जाएगा। – Paul

संबंधित मुद्दे