C# 如何将数组数据从asp.net页面传递到javascript代码?
我有一个带有javascript代码的图表模板,这是其中的一部分:C# 如何将数组数据从asp.net页面传递到javascript代码?,c#,javascript,html,asp.net,arrays,C#,Javascript,Html,Asp.net,Arrays,我有一个带有javascript代码的图表模板,这是其中的一部分: // Toggling Series var datasets = { "Iran": { label: "IR", data: [ [1988, 483994], [1989, 479060], [1990, 457648],
// Toggling Series
var datasets = {
"Iran": {
label: "IR",
data: [
[1988, 483994],
[1989, 479060],
[1990, 457648],
[1991, 401949],
[1992, 424705],
[1993, 402375],
[1994, 377867],
[1995, 357382],
[1996, 337946],
[1997, 336185],
[1998, 328611],
[1999, 329421],
[2000, 342172],
[2001, 344932],
[2002, 387303],
[2003, 440813],
[2004, 480451],
[2005, 504638],
[2006, 528692]
]
},
"russia": {
label: "Russia",
data: [
[1988, 218000],
[1989, 203000],
[1990, 171000],
[1992, 42500],
[1993, 37600],
[1994, 36600],
[1995, 21700],
[1996, 19200],
[1997, 21300],
[1998, 13600],
[1999, 14000],
[2000, 19100],
[2001, 21300],
[2002, 23600],
[2003, 25100],
[2004, 26100],
[2005, 31100],
[2006, 34700]
]
}
};
现在,我想将数据从数组变量传递到java脚本,以便在asp.net页面加载事件中替换为该数据。
如何将数组列表传递给此?可以写一个示例代码吗
注意:我的数据很大,这个java脚本数据只是示例数据,最好传递数组或变量 不能直接将变量从.NET应用程序传递到客户端JavaScript。相反,您需要在脚本源中包含完整的列表数据,就像上面部分所做的那样,或者使用AJAX或类似工具从服务器查询数据 您可以使用类似于JSON.net的东西来缩短代码,以序列化要嵌入的对象:
var datasets = <%= NewtonSoft.Json.JsonConvert.SerializeObject(ViewBag.datasets) %>;
或者你可以自己编写代码来生成布局。。。就我个人而言,我更喜欢简单的JsonConvert选项。类似这样的东西,我还没有测试过
在.cs文件中创建一个方法:
[WebMethod]
public static string GetData()
{
var datasets = {
"Iran": {
label: "IR",
data: [
[1988, 483994],
[1989, 479060],
[1990, 457648],
[1991, 401949],
[1992, 424705],
[1993, 402375],
[1994, 377867],
[1995, 357382],
[1996, 337946],
[1997, 336185],
[1998, 328611],
[1999, 329421],
[2000, 342172],
[2001, 344932],
[2002, 387303],
[2003, 440813],
[2004, 480451],
[2005, 504638],
[2006, 528692]
]
},
"russia": {
label: "Russia",
data: [
[1988, 218000],
[1989, 203000],
[1990, 171000],
[1992, 42500],
[1993, 37600],
[1994, 36600],
[1995, 21700],
[1996, 19200],
[1997, 21300],
[1998, 13600],
[1999, 14000],
[2000, 19100],
[2001, 21300],
[2002, 23600],
[2003, 25100],
[2004, 26100],
[2005, 31100],
[2006, 34700]
]
}
};
return dataset;
}
然后在jquery加载/文档准备功能中:
$.ajax({
type: "POST",
url: "PageName.aspx/GetData",
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(data) {
$("domelement").html(data);
}
});
使用web方法:@Zaki如何使用它?