在post back in.ascx页面中将数据传递到客户端(javascript)
ascx页面中有DevXpress dxchart在post back in.ascx页面中将数据传递到客户端(javascript),javascript,asp.net,ascx,Javascript,Asp.net,Ascx,ascx页面中有DevXpress dxchart asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional"> <ContentTemplate> <br /> <div id="trendChart" style="height: 500px; width: 100%;"> </div> <br /&g
asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<br />
<div id="trendChart" style="height: 500px; width: 100%;"> </div>
<br />
</ContentTemplate>
</asp:UpdatePanel>
“新数据”是公共财产。下面是javascript中的UpdateChart
function UpdateChart()
{
myData = '<%= NewData%>';
alert('tesing');
var parseObj = JSON.parse(myData);
$(function () {
$("#trendChart").dxChart({
dataSource: parseObj,
series: {
argumentField: "Month",
valueField: "Value",
name: "Value",
type: "bar",
color: '#ffaa66'
}
});
});
}
函数UpdateChart()
{
myData='';
警报(“测试”);
var parseObj=JSON.parse(myData);
$(函数(){
$(“#趋势图”).dxChart({
数据源:parseObj,
系列:{
参数字段:“月”,
valueField:“值”,
名称:“值”,
输入:“酒吧”,
颜色:“#ffaa66”
}
});
});
}
当按钮点击完成后,“NewData”在UpdateChart()(javascript)中不起作用,图表仍然显示旧值。您可以将数据作为
UpdateChart
-函数的属性传递,然后对代码进行一些其他调整。首先创建一个init dxChart函数。此函数可以在第一次加载页面和更新数据时调用
function InitChart(dataForChart) {
$("#trendChart").dxChart({
dataSource: dataForChart,
series: {
argumentField: "Month",
valueField: "Value",
name: "Value",
type: "bar",
color: '#ffaa66'
}
});
}
其次,更改UpdateChart
-函数,使其获得一个参数:
function UpdateChart(myData) {
var parsedData = JSON.parse(myData);
// Call Init Chart function here
InitChart(parsedData);
}
第三:更改服务器端javascript,以便将数据传递给函数:
System.Web.UI.ScriptManager.RegisterStartupScript(Me.Page, Me.GetType(), "ANY_KEY" +
Guid.NewGuid.ToString, "UpdateChart(" + jsonData + ");", True)
@学员如果这回答了您的问题,您可以将其标记为答案。
System.Web.UI.ScriptManager.RegisterStartupScript(Me.Page, Me.GetType(), "ANY_KEY" +
Guid.NewGuid.ToString, "UpdateChart(" + jsonData + ");", True)