我希望能够有条件地在 MVC 视图中设置表格的行样式。
这是我构建表格的方式。您可以看到我想根据模型中的出勤实体中是否存在 personID 来设置 td 样式。当我调试时,我看到样式正在设置,但由于页面没有刷新,所以在手动刷新之前不会出现样式。
@foreach (var item in Model.People)
{
int attendedPersonID = Model.Attendances.Where(a => a.PersonID == item.PersonID).Select(p => p.PersonID).SingleOrDefault();
<tr>
<td style="@(attendedPersonID == item.PersonID ? "color:green" : "color:red")" >
@Html.HiddenFor(model => item.PersonID) @Html.DisplayFor(modelItem => item.FullName)
</td>
<td>
<button value="@item.PersonID" class="present">Present</button>
<button value="@item.PersonID" class="absent">Absent</button>
</td>
</tr>
}
编辑,我决定不想在每次加载页面时都重新加载人员列表,所以我现在使用 ajax 来构建表格。使用 ajax 构建表时如何找到 jQuery 选择器?
$.getJSON("/Attendance/People/", function(data) {
var table='<table>';
$.each( data, function( index, item){
table+='<tr><td><input type=hidden id="personID" value='+item.personID+' /></td><td>'+item.FullName+'</td><td><button value='+item.personID+' class="present">Present</button><button value='+item.personID+' class="absent">Absent</button></td></tr>';
});
table+='</table>';
$("#table1").html( table );
});