我有这个 javascript(我是 javascript 新手,请原谅我)
var data = [
['fff', 10.38],
['ddd', 56.33],
['ss', 24.03],
['ff', 4.77],
['dd', 0.91]
];
alert(data);
对我来说,这看起来像一个数组的数组。警报给出:
block 引用>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
的警报结果block 引用>System.Object[]
这应该非常简单,但是使用数据对象的 JavaScript 不喜欢我从模型返回的内容。我想我在某个地方错过了一些东西......
那么,我该如何重新创建
var data
我的 C# 模型中的对象?
最佳答案
当您直接将对象写入 View 时,它会执行 ToString()
方法。
为了以 JavaScript 可以使用的格式插入数据,您需要使用 JSON。
alert('@Html.Raw(JsonConvert.SerializeObject(Model.obs))');
请注意,JsonConvert
是 JSON.NET 库的一部分,您可以使用 NuGet 获取该库。也许,您可以使用 Json.Encode
native 方法 - 它应该以相同的方式工作。
关于javascript - 这个 javascript 对象在 C# 中相当于什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32820037/