javascript - 这个 javascript 对象在 C# 中相当于什么

标签 javascript c# asp.net-mvc

我有这个 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 不喜欢我从模型返回的内容。我想我在某个地方错过了一些东西......

那么,我该如何重新创建 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/

相关文章:

javascript - 这个方法中 'this'关键字指的是什么

c# - 为什么在计时器中绘画会导致应用程序变得无响应

javascript - 如何在鼠标悬停时将焦点设置到输入元素(搜索框)?

javascript - Angular : rendering a lot of DOM Elements faster

c# - try catch

c# - 为什么在重写的 Object.Equals 方法中抛出 NullReferenceException?

c# - 将 Base64 图像从 View 发送到 ASP.NET Controller

c# - 将 ASP.NET MVC View 返回为 HTML 文件,以便在电子邮件模板中使用

c# - ASP.NET MVC 在自定义脚手架中显示创建的文件

javascript - 我可以通过更改 Angular Js 中的 url 地址来移动到我的个人资料页面而无需登录吗?