我有这个javascript(我是javascript的新手,请原谅我)
var data = [
['fff', 10.38],
['ddd', 56.33],
['ss', 24.03],
['ff', 4.77],
['dd', 0.91]
];
alert(data);
对我而言,这看起来像一个数组数组。警报给出:
FFF,10.38,DDD,56.33,SS,24.03,FF,4.77,DD,0.91
我试图在c#模型中创建它 - 我已经尝试了很多,但似乎从来没有提供完全相同的结果。
alert('@Model.obs');
模型是:
//property
public object[] obs { get; set; }
//contructor
public EmployeeAbsenceChartViewModel()
{
object[] obbs1 = new object[2];
obbs1[0] = "rick";
obbs1[1] = 3;
object[] obbs2 = new object[2];
obbs2[0] = "rick";
obbs2[1] = 3;
obs = new object[] { obbs1, obbs2 };
}
@Model.obs
的提醒结果
System.Object的[]
这应该很简单,但使用数据对象的javascript并不像我从模型中返回的那样。我想我,在某个地方遗漏了什么......
那么,如何在我的c#模型中重新创建var data
对象?
答案 0 :(得分:1)
当您直接将对象写入View时,它会执行ToString()
方法。
为了以JavaScript可以使用的格式插入数据,您需要使用JSON。
alert('@Html.Raw(JsonConvert.SerializeObject(Model.obs))');
请注意,JsonConvert
是JSON.NET库的一部分,您可以使用NuGet获取它。也许,您可以使用Json.Encode
本机方法 - 它应该以相同的方式工作。