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>");
Które zdarzenie dodałeś blok kodu registerStartupscript()? Spróbuj dodać go do zdarzenia page_Prerender. – Gayatri
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
Wypróbuj 'RegisterClientScriptBlock' zamiast' RegisterStartupScript' –