当我打电话给
ScriptManager.RegisterStartupScript(Me, GetType(string),"Something","document.getElementById('xxx').style.display='inline'",true)
在自定义 DNN 模块中并在我的控件上启用了部分渲染,代码不起作用。但是,当我从 ascx 中删除面板并禁用部分渲染时,它可以工作。我应该如何进行?
当我打电话给
ScriptManager.RegisterStartupScript(Me, GetType(string),"Something","document.getElementById('xxx').style.display='inline'",true)
在自定义 DNN 模块中并在我的控件上启用了部分渲染,代码不起作用。但是,当我从 ascx 中删除面板并禁用部分渲染时,它可以工作。我应该如何进行?
我很幸运地使用了采用 aPage
而不是 a的重载Control
(即将第一个参数从更改Me
为Me.Page
)
把你的函数放在一个 JS 文件中,或者把它注入到页面上让它一直存在,然后试试这个函数(你可以删除 stringbuilder,它是在开发函数时使用的):
IncludeAJAXEndRequest(ctrl, "YourJSFunction") ctrl 是页面上的一些控件,可能是占位符
public void IncludeAJAXEndRequest(Control c, string s)
{
StringBuilder sb = new System.Text.StringBuilder();
sb.AppendFormat("var prm = Sys.WebForms.PageRequestManager.getInstance();\n" +
"if (prm)\n" +
"\tprm.add_endRequest({0});\n", s);
IncludeScript(c, true, sb.ToString());
}