繁体   English   中英

如何从DLL中使用ScriptManager.RegisterStartupScript

[英]How to use ScriptManager.RegisterStartupScript from within a dll

在各种项目中,我使用以下代码从aspx页面的窗口中打开文档:

public void viewDocument(string strLink, System.Web.UI.Control ctrlPanel)
{
    string strScript;
    strScript = "var w=window.open('" + strLink + "','zz');window.focus();";
    ScriptManager.RegisterStartupScript(ctrlPanel, ctrlPanel.GetType(), "ShowInfo", strScript, true);
}  

而且一切正常。
我决定创建一个工具箱,即一个仅包含在许多项目中有用的功能的项目。 该工具箱现在是项目引用的dll。
我的问题:我的viewDocument函数不再起作用。 我没有任何JavaScript错误,什么也没有。 在调试模式下,我可以看到它通过“ ScriptManager.RegisterStartupScript”命令运行,但是没有打开任何窗口。
有人可以向我解释我错过了什么吗?

使用此代码段。 然后,您无需将System.Web.UI.Control发送为变量。

public void viewDocument(string strLink)
{
    Page page = HttpContext.Current.CurrentHandler as Page;

    string strScript = "var w=window.open('" + strLink + "','zz');window.focus();";
    ScriptManager.RegisterStartupScript(page, page.GetType(), "ShowInfo", strScript, true);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM