2013-07-12 11 views
5

Próbuję otworzyć plik w nowej karcie na zdarzenie click przycisku link wewnątrz gridview przy użyciu ScriptManager.RegisterStartupScript wewnątrz panelu aktualizacji, ale nie jest pracujący. Kod jest jak poniżej:RegisterStartupScript nie działa w panelu aktualizacji, aby otworzyć plik w nowej karcie w 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); 

To także nie działa:

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

A kiedy używam poniżej kodu poza Update w Panelu to działa:

  Type cstype = this.GetType(); 

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

Które zdarzenie dodałeś blok kodu registerStartupscript()? Spróbuj dodać go do zdarzenia page_Prerender. – Gayatri

+0

Właściwie próbuję otworzyć plik na zdarzenie click of linkbutton. Tak więc ten kod znajduje się w zdarzeniu kliknięcia przycisku linku. protected void lnkvwReport_Click (object sender, EventArgs e) – user2486976

+0

Wypróbuj 'RegisterClientScriptBlock' zamiast' RegisterStartupScript' –

Odpowiedz

8

Jest problem ze swoim wbudowany javascript. Nie działa z wbudowanym javascript. kiedy odseparowałem go na stronę aspx jako oddzielną funkcję javascript i wywołałem funkcję wewnątrz Registerstartupscript, zadziałało.

JavaScript

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

kod CS

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

Spróbuj tak, to działa.

+0

Nie ma przeciążenia 'ScriptManager.RegisterStartupScript', który akceptuje 5 argumentów. Dlaczego/jak przechodzisz w updatepanel1? – iamwonder

Powiązane problemy