1

我正在使用 devexpress JS Charts,它们接受以下格式的数据:

[{ category: 'Oceania', value: 35 },{ category: 'Europe', value: 728 }]

通过将 DataTable 转换为 Json,我可以在后端代码中获得完全相同的格式。(根据用户的选择运行几个查询后,我得到了数据表)

一切正常,直到我决定使用 UpdatePanel 来避免每次用户选择选项时页面中的回发(请注意,我没有这样的经验)。但是,现在,我意识到我不能使用 javascript 调用非静态方法来获取数据。我认为我可以做的是每次我有一个 ajax 回发时,我会运行一个方法并将数据插入到一个隐藏字段中,然后用 javascript 抓取它并填充我的图表。当我这样做时它不起作用,因为数据存储为字符串......我尝试了一些围绕它的东西,但我无法让这个工作......

我之前正在抓取数据(回发)

var data= <%=GetData()%>

GetData() 是一个返回字符串的 C# 方法

private string GetJsonFormat(DataTable table)

为了填充图表,我必须使用

$("#divID").dxPieChart({dataSource: data});

如果我将数据输入到输入字段并像这样抓取它

var data= $('#inputID').val();

由于字符串引号,它不起作用...我什至尝试像这样删除引号

data.substring(1,data.length()-1)

但也没有工作......

有人可以看到解决此问题的替代方法或解决此问题的方法吗?

4

1 回答 1

1

正确的方法是使用 AJAX。例如,jQuery 具有用于从服务器获取 JSON 内容的内置函数。

http://api.jquery.com/jQuery.getJSON/

这非常简单。最简单的方法是让你的按钮(或任何触发事件的东西)简单地调用:

$.getJSON('url/to/json/content', function(data) {
    // data is the returned JSON object so use it as you like
});
于 2013-08-15T08:58:26.420 回答