如何在 jQuery 中存储复杂对象/Razor 中的数据属性



在我的 Razor 标记中,我正在循环我的模型集合并输出表行。目前,我将项目 ID 存储在每个表行的"data-id"属性中。我需要每行存储整个对象,这样就可以节省我将来的一些 ajax 调用。在 Razor 输出上存储每行的完整对象以供我的 jQuery 稍后使用的好方法是什么?

您还可以使用具有编码的 json 字符串的隐藏字段,然后您可以在 javascript 代码中按需解析 jSon。 根据您的要求,每行都有一个隐藏字段。

@foreach(var item in Model.Whatever) {
 <tr data-id="@item.Id"> ... etc </tr>
 <input type="hidden" val="@Json(model)" />
}

您是否考虑过使用诸如Knockout之类的东西.js或任何其他基于模型的模板Javascript语言(有很多,包括Backbone,Angular等)?你可以简单地将整个模型绑定到Javascript(将其序列化为JSON)。然后,您可以使用模板生成表。这是我能给你的最好的建议。

如果你想要一种快速/黑客的方式,你总是可以做这样的事情:

<script>
var dataMap = {};
</script>
@foreach(var item in Model.Whatever) {
 <tr data-id="@item.Id"> ... etc </tr>
 <script>
dataMap['@item.Id'] = @Json(item); // you'd have to make a Html helper to do this
</script>
}

相关内容

  • 没有找到相关文章

最新更新