将List的元组设置为ViewData Mvc C#

时间:2017-12-16 11:46:01

标签: javascript c# jquery asp.net-mvc razor

我在Razor视图中添加了像元组列表中的一些数据

   List<Tuple<int, int, string>> Downloadlist = new List<Tuple<int, int, string>>();

将项目添加到此列表

         Downloadlist.Add(new Tuple<int, int, string>(11, 7, "somedata"));

现在我想访问javascript中的数据数组

<script>

    var listofdownloadpages = '@ViewData["DownloadPages"]';
    if (listofdownloadpages != null) {

        alert(listofdownloadpages.length);

        for (var i = 0; i < listofdownloadpages.length; i++) {
            alert(listofdownloadpages[i].wishid + ' ' + listofdownloadpages[i].remain);
        }
    }
    else {
        alert("not found anything");

    }

但是这不能正确地给我这些物品请帮助。

1 个答案:

答案 0 :(得分:1)

这将有效

控制器

 public ActionResult Test()
        {
            List<Tuple<int, int, string>> Downloadlist = new List<Tuple<int, int, string>>();
            Downloadlist.Add(new Tuple<int, int, string>(11, 7, "somedata"));

            ViewData["DownloadPages"] = Downloadlist;
            return View();
        }

查看&amp; JS

   <script>
        var listofdownloadpages =  @Html.Raw(Json.Encode(@ViewBag.DownloadPages));
        if (listofdownloadpages != null) {

            alert(listofdownloadpages.length);

            for (var i = 0; i < listofdownloadpages.length; i++) {
                alert(listofdownloadpages[i].Item1 + ' ' + listofdownloadpages[i].Item2);
            }
        }
        else {
            alert("not found anything");

        }
</script>