在脚本代码中如何从cshtml中的ViewData获取数据

时间:2017-03-01 02:04:14

标签: javascript .net

我想从ViewData获取一个列表,然后将列表转到脚本中的var,所以脚本中的另一个函数可以使用var; 我有搜索并做一些尝试去做,

<script>
      var t = {};
        @{foreach (var firstName in (ViewData["tags"] as List<Tag>))
          {

          @Html.Raw(firstName.Id);
        }
        }
</script>
在HTML中我可以看到结果是我想要的。 但是当我像这样改变它时

t.Id=@Html.Raw(firstName.Id)

它会说t不存在,欢迎任何建议,谢谢。

1 个答案:

答案 0 :(得分:0)

如果要将ViewData中的数据存储到JavaScript对象中,请尝试按以下方式实现代码:

<script type="text/javascript">

var data = [];
@foreach (var d in (ViewData["tags"] as List<MvcApplication1.Models.Test>))
{
    <text>
        var obj = {};
        obj.Id = "@d.Id"
        obj.Name = "@d.Name"
        data.push([obj]);
    </text>
}

console.log(data);