【发布时间】:2012-04-30 13:08:19
【问题描述】:
我找遍了,似乎找不到答案。
我有一个带有 WebGrid 的 MVC3 项目。第一列是当前使用普通项目的 Select。GetSelectLink 用于创建链接以选择该行。
我希望这是一个复选框,而不是测试“选择”。当用户点击复选框时,我希望选中网格中的该行并且该框变为“选中”。
我希望选中和未选中状态是我提供的图像。
我该怎么做?
【问题讨论】:
标签: asp.net-mvc-3 webgrid
我找遍了,似乎找不到答案。
我有一个带有 WebGrid 的 MVC3 项目。第一列是当前使用普通项目的 Select。GetSelectLink 用于创建链接以选择该行。
我希望这是一个复选框,而不是测试“选择”。当用户点击复选框时,我希望选中网格中的该行并且该框变为“选中”。
我希望选中和未选中状态是我提供的图像。
我该怎么做?
【问题讨论】:
标签: asp.net-mvc-3 webgrid
除非您使用 Ajax 做一些花哨的事情,否则“选择”链接会刷新页面,并在查询字符串中添加“Selected=index”。这将是一种不寻常的体验,因为人们不习惯复选框触发页面重新加载。
您可以这样做,它完全模仿“选择”链接功能。首先将复选框添加到该行:
grid.Column(
format: (item) => @Html.Raw("<input class='select' type='checkbox'" + ((grid.SelectedRow == item) ? "checked" : "") + " />")
)
然后添加一些 Javascript 来处理复选框的点击:
var index = 1;
$("input.select").each(function () {
$(this).data('row', index);
$(this).click(function () { window.location = "?Selected=" + $(this).data('row'); });
index++;
});
【讨论】: