文本控件未正确更新javascript

Literal control not updating javascript properly

本文关键字:更新 javascript 控件 文本      更新时间:2023-09-26

我正在页面中动态生成一个javascript块,其结果如下:

<script>
google.load('visualization', '1', {'packages': ['corechart']});
function drawincomingCalls() {
    var data = google.visualization.arrayToDataTable([
        ['Call Type', 'Call Amount'],
        ['Voicemail', 12],
        ['Live Transfer', 23]
    ]);
    var options = {
        title: 'Incoming Calls',
        pieHole: 0.4
    };
    var chart = new google.visualization.PieChart(document.getElementById('incomingCallsChart'));
    chart.draw(data, options);
    console.log(data);
}
</script>

这是通过从SQL数据库中检索信息,然后将literal控件的文本属性(在设置为始终更新的UpdatePanel中)设置为此脚本生成的。

从那里,我通过ScriptManager.RegisterStartupScript呼叫drawincomingCalls();当IsPostBacktrue时,我在页面加载时也这样做。

这很好;但是,当我更改"日期范围"控件以返回帖子并重新生成脚本时,一切都不会改变。将呈现旧图表。我知道脚本的重新生成很好,因为如果我创建第二个literal控件并复制我正在做的所有事情,但没有<script>标记,我可以用纯文本读取更改,并看到值确实发生了更改。

如代码片段所示,我已经将data记录到控制台,它也没有更改。

再次:对两个不同的文字(一个带有<script>标记,另一个没有)执行相同的操作,一个更新得很好,而实际脚本则不是。

如果我通过Chrome控制台运行原始javascript,它会正确更新。

我是不是遗漏了什么明目张胆的东西?

谷歌的客户端pageLoad()Javascript方法。NET Ajax为您创建-这将在部分回发时触发,所以将代码放在那里(重新)生成图表。