【问题标题】:ASP.NET Json doesn't appearASP.NET Json 没有出现
【发布时间】:2021-04-21 02:15:14
【问题描述】:

请参考此链接

http://aspsolution.net/Code/5/5215/How-to-loop-through-ViewBag-List-in-Jquery/#

我遵循了网站上的内容。但是 Json.Result 没有出现。我试图在 html 中包含这个(@using Newtonsoft.Json),但它仍然没有出现。这是为什么?有什么解决办法吗?

这是我的脚本:

fillDatatable();

function fillDatatable() {
    var cart = @Html.Raw(Json.Result(@ViewBag.cart));
    alert(cart.Items.ItemID);
}

已编辑:

if (PurchaseOrder != "") {
    var tableHTML = '';
    $.each(PurchaseOrder, function (index, value) {
        tableHTML += "<tr>";
        tableHTML += "<td>" + value.items.itemID + "</td>";
        tableHTML += "<td>" + value.items.itemModelDescription + "</td>";
        tableHTML += "<td>";
        tableHTML += "<input id='UnitPrice" + value.items.ItemID + "' class='form-control b-r-xl text-right' value='" + value.items.itemUnitPrice + "' oninput='return change_unitprice('" + value.items.itemID + "')' />";
        tableHTML += "</td>";
        tableHTML += "<td>";
        tableHTML += "  </tr>";
    });
    $("#TableRecords").html(tableHTML);
}

在循环中查看我的 HTML,您可以在其中看到 change_unitprice 函数。我试图在那里传递一个 id 的值,但根据控制台的结果它是未定义的?这是为什么呢?

【问题讨论】:

标签: json asp.net-mvc


【解决方案1】:

您引用的示例不包含您包含在问题中的代码。它描述了如何使用Json.Encode()ViewBag 字段中获取数据。您的代码不起作用的可能问题是:

  1. 使用未定义的cart 字段。
  2. 使用未定义的Items 属性。
  3. 正在尝试处理尚未加载的 HTML 文档。

因此,按原样使用本例中的函数:

<script>
    $(document).ready(function(){
        var StockList =@Html.Raw(Json.Encode(@ViewBag.StockList));
        if (StockList != '') {
            var tableHtml;
            $.each(StockList, function( index, value ) {
                tableHtml +="<tr><td>" + value.stockId + "</td><td>" + value.StockName + "</td><td>" + value.StockPrice + "</td></tr>";
              });
            $("#output").html(tableHtml);
        }
    })
</script>

如果它不起作用(可能是因为 Index.cshtml 中的 jqueryLayout = null; 行禁用)在 &lt;head&gt; 标记之后添加以下行:

<script type="text/javascript" src="http://ajax.microsoft.com/ajax/jquery/jquery-1.6.2.min.js"></script>

有关更多信息,请参阅以下帖子:https://stackoverflow.com/a/10779161/6630084

【讨论】:

  • 它完全奏效了!但请参阅我编辑的评论。我哪里错了?串联有什么问题吗?
  • @Jeffrey Estrera:请您添加Index.cshtmlIndex() 操作和您的模型定义的完整代码吗?似乎我们没有代码中的错误。
【解决方案2】:

我认为适用于复杂对象的最简单方法是这样的:

@Html.Raw(Json.Encode(ViewBag.cart))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-05-30
    • 2021-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-25
    相关资源
    最近更新 更多