Добавление 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\";";