【问题标题】:Set Tuple of List to ViewData Mvc C#将列表元组设置为 ViewData Mvc C#
【发布时间】:2017-12-16 11:46:00
【问题描述】:

我在 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");

    }

但这并没有以正确的方式给我物品,请帮忙。

【问题讨论】:

  • 您希望wishidremain 神奇地出现在哪里?只需使用class(最好是适当的视图模型)——这并不是Tuple 的真正用途

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


【解决方案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();
        }

查看 & 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>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多