如何在ASP.NET的UpdatePanel中将C#变量的值分配给JavaScript变量

4

如何在UpdatePanel中更新JavaScript的值?我想在UpdatePanel中尝试它,以便在不刷新页面的情况下刷新值。

int used=50,unused=70;

<asp:UpdatePanel ID="UpdatePanel1" runat="server">
    <script>
        var data = [{
            values: [<%Response.Write(unused);%>,<%Response.Write(used);%>],
            labels: ['Unused', 'Used '],
        }];

        Plotly.newPlot('myDiv', data);
    </script>
</asp:UpdatePanel>

尝试像这样使用<%= ... %>块:values: [<%= unused %>, <%= used %>] - Tetsuya Yamamoto
@TetsuyaYamamoto 我试过了,但没有成功。 - raw_hitt
1个回答

0

在UpdatePanel中不能使用Response.Write(或<%= unused %>),否则会出现以下错误:

Sys.WebForms.PageRequestManagerParserErrorException:无法解析从服务器接收到的消息。

如果您想要unusedused的值,最好直接在更新UpdatePanel的方法中调用脚本。

string scriptData = "Plotly.newPlot('myDiv', { values: [" + used + ", " + unused + "], labels: ['Unused', 'Used '] });";

ScriptManager.RegisterStartupScript(Page, Page.GetType(), "startPlot", scriptData, true);

或者创建一个脚本,从中获取已使用和未使用的值,并从那里触发绘图。
string scriptData = "setPlotValues(" + used + ", " + unused + ");";

ScriptManager.RegisterStartupScript(Page, Page.GetType(), "startPlot", scriptData, true);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接