В index.cshtml я отображаю элементы задач с частичным представлением:
<table class="table table-striped">
@foreach (var todo in Model.Todos)
{
<tr id="@todo.TodoId">
@{Html.RenderPartial("_TodoModel", todo);}
</tr>
}
Частичное представление:
<td class="col-md-1">@Html.CheckBoxFor(m => m.Complete, new { @class = "bigCheckbox", id = "completedFlag"+Model.TodoId })</td>
<td class="col-md-9">
<span class="@(Model.Complete ? "completed" : "notCompleted")">
@Model.TodoText
</span>
</td>
<td class="col-md-2 text-center">
@Html.ActionLink("Remove Todo", "Remove", "Todo", new { todoId = Model.TodoId }, new { @class = "btn btn-sm btn-danger" })
</td>
Когда флажок установлен, javascript вызывает контроллер и обновляет флаг завершения, а затем снова перенаправляет на страницу индекса. Перезагрузка происходит, новый класс CSS применяется к элементу, но стиль остается старым.
Даже при мягком обновлении применяется новый стиль.
Я могу изменить стиль с помощью javascript, просто интересно, почему выше поведение?
Также я чувствую себя немного чище, если модель меняет стиль, также должен измениться.