Я хочу иметь возможность условно установить стиль строки таблицы в представлении MVC.ASP.Net MVC foreach условный стиль строки
Вот как я строю стол. Вы можете видеть, что я хочу установить стиль td на основе того, есть ли идентификатор personID в сущности присутствия в модели. Когда я отлаживаю, я вижу, что стиль установлен, но поскольку страница не обновляется, стили не отображаются до тех пор, пока не будет обновлено ручное обновление.
@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>
}
Edit, я решил, что я не хочу, чтобы обновить список людей, каждый раз, когда страница загружена, так что я теперь я использую Ajax для создания таблицы. Как найти селектора jQuery, когда таблица построена с помощью ajax?
$.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);
});
Это дает тот же результат. – forwheeler
@ user810388 Можете ли вы поместить рендеринг html? –