在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更改样式,只是好奇为什么行为如此? 另外,如果模型更改样式也应该更改,我会感到更加干净。