Asp.net mvc 4 如何在选中/未选中复选框时立即发布
我在页面上显示了待办事项列表:Asp.net mvc 4 如何在选中/未选中复选框时立即发布,asp.net-mvc-4,Asp.net Mvc 4,我在页面上显示了待办事项列表: @model ToDo4.ViewModels.IndexViewModel @foreach (var item in Model.Items) { <tr> <td> @Html.DisplayFor(modelItem => item.Content) </td> <td> @Html.DisplayFor(modelItem => ite
@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>
}
@model ToDo4.ViewModels.IndexViewModel
@foreach(Model.Items中的var项)
{
@DisplayFor(modelItem=>item.Content)
@DisplayFor(modelItem=>item.Status)
}
IndexViewModel包含:列出项目
我想在选中或取消选中复选框时立即更改显示内容(在ToDoItem.Status上筛选)。1) 如何处理选中/未选中事件并返回控制器?
2) 我想我应该把清单放在一个局部视图中;无论处理选中/未选中事件的是什么,都将只刷新部分视图。
非常感谢您的任何见解…使用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();
}
});
这有关于如何获取单击行的id的代码,您应该能够将该行与tr.remove一起使用。tr.remove将从表中删除表行。您提到需要更改列表,但希望删除将完成您所需要的 我想知道你是否尝试做一点ajax,并在动作中检测到一个
AjaxRequest
,然后根据需要返回答案。很有趣,但我想在选中/取消选中复选框时,将其发回控制器。这样,控制器将拥有模型中复选框的状态,并且可以基于复选框的状态生成新列表。列表(在foreach循环中)处于局部视图中,因此只有该部分页面将被更新。有关如何使用ajax调用获取新的局部视图,请参阅我的回答view@MB:谢谢,我正在接近解决这个问题,但是我在url:member.use url.action上发现了一些语法错误,如我的示例中所示,用你的名字替换动作和控制器。谢谢,马特,非常有用。让它工作起来,尽管获取复选框的“checked”值有点神秘:`data:{isChecked:($(this).is(“:checked”),