我想在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);
}