我正在尝试使用ClientScriptManager将JavaScript添加到页面,但是脚本没有被添加到页面。 'trendsTable'包含一个asp:Gridview并且其显示设置为none,但是在单击'RequestReport'时,我希望将数据绑定到gridview,由dataTabletester进行,然后将'trendsTable'的显示设置为表。

protected void RequestReport_Click(object sender, EventArgs e)
    {
        //method to bind data to table
        dataTabletester();

        //insert script to make table visible
        String csname1 = "PopupScript";
        Type cstype = this.GetType();

        //Get a Client ScriptManager reference from Page Class

        ClientScriptManager cs = Page.ClientScript;

        if (!cs.IsStartupScriptRegistered(cstype, csname1))
        {
            string script = "function() {document.getElementById('trendsTable').style.display = \"table\";}";


            StringBuilder cstext1 = new StringBuilder();
            cstext1.Append("<script type=text/javascript>");
            cstext1.Append(script);
            cstext1.Append("</script>");

            cs.RegisterStartupScript(cstype, csname1, cstext1.ToString());

        }
    }


感谢任何可以提供帮助的人。

最佳答案

您正在定义一个函数,但未调用它。更改:

string script = "function() {document.getElementById('trendsTable').style.display = \"table\";}";




string script = "document.getElementById('trendsTable').style.display = \"table\";";

关于c# - 使用ClientScriptManager将JavaScript添加到页面,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23553686/

10-09 03:54