0

当我打电话给

ScriptManager.RegisterStartupScript(Me, GetType(string),"Something","document.getElementById('xxx').style.display='inline'",true)

在自定义 DNN 模块中并在我的控件上启用了部分渲染,代码不起作用。但是,当我从 ascx 中删除面板并禁用部分渲染时,它可以工作。我应该如何进行?

4

2 回答 2

1

我很幸运地使用了采用 aPage而不是 a的重载Control(即将第一个参数从更改MeMe.Page

于 2013-08-26T14:16:27.863 回答
0

把你的函数放在一个 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());
    }
于 2013-08-26T01:30:46.037 回答