在数据属性中显示对象
Display object in data attribute
在我的 Index.cshtml
页面上,我有一个 table:
<table>
<thead>
<th>First Name</th>
<th>Last Name</th>
<th>Age</th>
<th></th>
</thead>
<tbody>
@foreach(var item in Model)
{
<tr>
<td>Test</td>
<td>Subject</td>
<td>100</td>
<td><a href="#" data-personnel-id="@item.ID" data-personnel="@item" class="js-personnel-detail">Details</a></td>
</tr>
}
</tbody>
</table>
我的目标是将 item
对象分配给数据属性,这样我就不必在其自己的数据属性中指定每个不同的对象 属性。
当我尝试这个时,我在检查元素时得到了这个:
data-personnel="System.Data.Entity.DynamicProxies.Person_EA5AC055D1501E594DFBC8C0E360599F673410050ABB4A55BB0B191F6E442210"
但是 data-personnel-id="7"
...所以我可以分配单个属性而不是整个对象。
这可以做到吗?
试试这个:
data-personnel-id="@Model[item].ID"
看起来 foreach 的处理方式类似于 JS foreach,其中项目实际上只是 属性 的名称,而不是值。
使用JSON.NET...
<div data-object='@JsonConvert.SerializeObject(item)'>
在我的 Index.cshtml
页面上,我有一个 table:
<table>
<thead>
<th>First Name</th>
<th>Last Name</th>
<th>Age</th>
<th></th>
</thead>
<tbody>
@foreach(var item in Model)
{
<tr>
<td>Test</td>
<td>Subject</td>
<td>100</td>
<td><a href="#" data-personnel-id="@item.ID" data-personnel="@item" class="js-personnel-detail">Details</a></td>
</tr>
}
</tbody>
</table>
我的目标是将 item
对象分配给数据属性,这样我就不必在其自己的数据属性中指定每个不同的对象 属性。
当我尝试这个时,我在检查元素时得到了这个:
data-personnel="System.Data.Entity.DynamicProxies.Person_EA5AC055D1501E594DFBC8C0E360599F673410050ABB4A55BB0B191F6E442210"
但是 data-personnel-id="7"
...所以我可以分配单个属性而不是整个对象。
这可以做到吗?
试试这个:
data-personnel-id="@Model[item].ID"
看起来 foreach 的处理方式类似于 JS foreach,其中项目实际上只是 属性 的名称,而不是值。
使用JSON.NET...
<div data-object='@JsonConvert.SerializeObject(item)'>