我有一个页面上显示的ToDoItem列表:
@model ToDo4.ViewModels.IndexViewModel
@foreach (var item in Model.Items)
{
<tr>
<td> @Html.DisplayFor(modelItem => item.Content) </td>
<td> @Html.DisplayFor(modelItem => item.Status) </td>
</tr>
}
IndexViewModel包含:
List<ToDoItem> Items
我想在选中或取消选中复选框后立即更改显示的内容(在ToDoItem.Status上过滤)。
1)如何处理已检查/未检查的事件并返回控制器?
2)我怀疑我应该将列表放在局部视图中;无论处理已检查/未检查的事件,只刷新部分视图
任何见解都表示赞赏......
答案 0 :(得分:0)
使用jquery ajax调用回控制器来更改数据库中的记录。像这样的东西
$.ajax({
url: "@Url.Action("Action", "Controller")",
type: "POST",
cache: false,
async: true,
data: {
id: 'clicked id'
},
contentType: 'application/json',
dataType: 'json',
success: function(result){
var tr = //clicked row
tr.remove();
}
});
Getting the id of a table row when a checkbox is checked 这有关于如何获取被点击的行的id的代码,您应该能够使用tr.remove使用相同的行。 tr.remove将删除表格中的表格行。你提到需要更改列表,但希望删除将完成你需要的。