Добавление JavaScript на страницу с помощью ClientScriptManager

Я пытаюсь добавить JavaScript на страницу, используя ClientScriptManager, но скрипт не добавляется на страницу. "trendTable" содержит asp:Gridview, и его отображение установлено на none, но по щелчку "RequestReport" я хочу, чтобы данные привязывались к gridview, что делает dataTabletester, а затем для отображения "trendTable" должно быть установлено значение table.

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());

        }
    }

Спасибо всем, кто может оказать любую помощь.

1 ответ

Решение

Вы определяете функцию, но не вызываете ее. Изменить:

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

в

string script = "document.getElementById('trendsTable').style.display = \"table\";";
Другие вопросы по тегам