我正在尝试使用更新面板内的ScriptManager.RegisterStartupScript在gridview内的链接按钮的单击事件上的新选项卡中打开文件,但是它不起作用。代码如下:
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);
这也行不通:
ScriptManager.RegisterStartupScript(Page, Page.GetType(), Guid.NewGuid().ToString(), js, true);
当我在更新面板之外使用以下代码时,它可以正常工作:
Type cstype = this.GetType();
ClientScriptManager cs = Page.ClientScript;
cs.RegisterStartupScript(cstype, "dateSrpt", "<script>window.open('ViewReports.aspx?filename=" + Server.UrlEncode(filename) + "', '_newtab');</script>");
您的内联JavaScript出现问题。它不适用于嵌入式javascript。当我将其作为单独的javascript函数隔离到aspx页面并在Registerstartupscript内调用该函数时,它起作用了。
Java脚本
function OpenPopup() {
window.open('PulseUserManagement.aspx', null, 'height=500, width=1100, status=no, resizable=no, scrollbars=yes, toolbar=no,location=no, menubar=no');
}
CS代码
ScriptManager.RegisterStartupScript(updatepanel1, updatepanel1.GetType(), "Pop up", "OpenPopup();", true);
请尝试这样,它可以正常工作。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句