c# - 从 Javascript 隐藏代码访问数据

标签 c# javascript jquery asp.net ajax

我正在使用 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)

但也没有用...

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

最佳答案

正确的方法是使用 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
});

关于c# - 从 Javascript 隐藏代码访问数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18248011/

相关文章:

c# - 跨线程冲突

c# - Visual Studio 2012 快捷键从 aspx 到 Code Behind 和 Code Behind 到 aspx

javascript - 拖动后 map 中心的标记

javascript - 内联 JavaScript 代码不起作用

javascript - 使用 “each” 元素通过 JQuery 过滤表

jquery - 为什么要写 `window[ "eval"].call( window, data );`

javascript - 如何使用 C# 代码添加 Html Audio 元素

c# - WPF 中 Silverlight 的 FindElementsInHostCoordinates 是什么?

javascript - Ant Design SSR 不匹配问题,服务端呈现中文,客户端呈现英文

javascript - 如何控制打印字体大小