javascript - 如何使用 Razor 将数组中的值输出到 MVC 中的 View ?

标签 javascript asp.net-mvc razor ienumerable

任务

在 View 中输出简单类型 IEnumerable 的值。

条件

我有一个由 Controller 传入的模型,其中包含一个简单值数组(在本例中为 int)。我想将其输出到 View 中 JavaScript block 中的变量中。

标准

无需使用大型 foreach block 并迭代每个项目,然后找出逗号,以类似于下面的语句的方式输出值。

示例

var packageSummaryViewModel = new PackageSummaryViewModel([1,2,3,4,5,6,7]);

目前正在发生的事情是这样的:

查看.cshtml

var packageSummaryViewModel = new PackageSummaryViewModel(@sensorIds);

输出

var packageSummaryViewModel = new PackageSummaryViewModel(System.Int32[]);

最佳答案

我执行此操作的方法是使用 JSON 序列化程序,例如 JSON.NET。 JSON 代表 JavaScript Object Notation,因此很自然地使用 JSON 序列化器将 C#/.NET 对象转换为 Javascript 对象。

@using Newtonsoft.Json
@model MyNamespace.MyObject

var myProperty = @Html.Raw(JsonConvert.SerializeObject(Model.MyProperty));

如果Model.MyPropertyList<int>包含整数1, 2, 3 ,Razor 将呈现如下:

var myProperty = [1,2,3];

如果Model.MyProperty是以下类的实例

class C
{
    public string X { get; set; }
    public double Y { get; set; }
}

X设置为appleY设置为0.5 ,Razor 将呈现如下:

var myProperty = {"X":"apple","Y":0.5};

重点是,同样的方法适用于您可能作为模型(或模型的一部分)传递的任何 JSON 可序列化的 C#/.NET 对象。

关于javascript - 如何使用 Razor 将数组中的值输出到 MVC 中的 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24101582/

相关文章:

javascript - 在正则表达式中使用 * 作为要查找的值

javascript - 根据在下拉列表中选择的内容隐藏和显示 HTML 元素

c# - 将员工分成每周轮类(4 周),每周唯一

javascript - Jquery 插件 - 内联编辑..如何?

javascript - 使用jquery获取span值

asp.net-mvc - 使用 html.ActionLink 时如何在我的网址中添加 "#"

javascript - 如何打开一个新窗口,它将是当前窗口的子窗口并位于其中

javascript - jCrop - 更新预览加载?

html - 如何在 MVC 中保持滚动位置?

asp.net-mvc - 如何在多个 Asp.net MVC 应用程序中使用通用布局和样式