我想在C#上部署脚本,该脚本通常使用以下方法:

ClientScript.RegisterStartupScript(GetType(), "script", "Details('" + hdnId.Value + "');", true);


但是我想创建一个运行该代码的类:

public class WebUtilities
    {
        public static void CustomScript(Page objPage, string strScript)
        {
            objPage.ClientScript.RegisterStartupScript(objPage.GetType(), "script", strScript, true);
        }
    }


当我调用WebUtilities.CustomScript时,有时可以工作,但是在页面底部留下一个//]]>。

在某些情况下,它根本不起作用。我只注意到第一种方法有效,而第二种无效。

如何使课程版本正常工作?

最佳答案

我有此功能,它始终有效,请尝试一下

public static void callJavascriptFunction(string strScript)
    {

            if (HttpContext.Current == null && HttpContext.Current.Handler is Page) { return; }

            Page currentPage = (Page)HttpContext.Current.Handler;
            ScriptManager.RegisterStartupScript(currentPage,
                                                currentPage.GetType(),
                                                "Funct",
                                                strScript,
                                                true);
    }

10-04 21:52