2

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

4

2 回答 2

1

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

@foreach(var item in Model.Whatever) {
 <tr data-id="@item.Id"> ... etc </tr>
 <input type="hidden" val="@Json(model)" />
}
于 2012-08-11T13:35:43.193 回答
0

您是否考虑过使用类似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>
}
于 2012-08-11T13:32:10.870 回答