2013-07-12 14 views
5

Sto provando ad aprire un file in una nuova scheda sull'evento click di un pulsante di collegamento all'interno di gridview utilizzando ScriptManager.RegisterStartupScript all'interno del pannello di aggiornamento, ma non è lavoro. Il codice è il seguente:RegisterStartupScript non funziona all'interno di un pannello di aggiornamento per aprire il file in una nuova scheda in asp.net

 filename = Server.UrlEncode(filename);   
     string js = "<script>window.open('ViewReports.aspx?filename=" + Server.UrlEncode(filename) + "', '_newtab');</script>";   
     ScriptManager.RegisterStartupScript(UpdatePanel1,UpdatePanel1.GetType(),"Pop up",js,true); 

Anche questo non funziona:

 ScriptManager.RegisterStartupScript(Page, Page.GetType(), Guid.NewGuid().ToString(), js, true); 

E quando sto usando qui sotto codice esterno pannello di aggiornamento funziona:

  Type cstype = this.GetType(); 

     ClientScriptManager cs = Page.ClientScript; 
     cs.RegisterStartupScript(cstype, "dateSrpt", "<script>window.open('ViewReports.aspx?filename=" + Server.UrlEncode(filename) + "', '_newtab');</script>"); 
+0

Quale evento è stato aggiunto il blocco di codice registerStartupscript()? Prova ad aggiungerlo all'evento page_Prerender. – Gayatri

+0

Attualmente sto provando ad aprire un file sull'evento click di linkbutton. Quindi questo codice viene inserito nell'evento click del pulsante di collegamento. protected void lnkvwReport_Click (oggetto mittente, EventArgs e) – user2486976

+0

Prova 'RegisterClientScriptBlock' invece di' RegisterStartupScript' –

risposta

8

Esiste un problema con il vostro in linea javascript. Non funziona con il javascript in linea. quando l'ho separato dalla pagina aspx come funzione javascript separata e ho chiamato la funzione all'interno di Registerstartupscript, ha funzionato.

Javascript

function OpenPopup() {    
     window.open('PulseUserManagement.aspx', null, 'height=500, width=1100, status=no,  resizable=no, scrollbars=yes, toolbar=no,location=no, menubar=no'); 
    } 

codice CS

ScriptManager.RegisterStartupScript(updatepanel1, updatepanel1.GetType(), "Pop up", "OpenPopup();", true); 

Si prega di provare in questo modo, funziona.

+0

Non c'è sovraccarico di 'ScriptManager.RegisterStartupScript' che accetta 5 argomenti. Perché/come stai passando in updatepanel1? – iamwonder

Problemi correlati