Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 3 MVC3 WebGrid行选择复选框_Asp.net Mvc 3_Webgrid - Fatal编程技术网

Asp.net mvc 3 MVC3 WebGrid行选择复选框

Asp.net mvc 3 MVC3 WebGrid行选择复选框,asp.net-mvc-3,webgrid,Asp.net Mvc 3,Webgrid,我到处找,似乎找不到答案 我有一个MVC3项目,上面有一个WebGrid。第一列是当前使用普通项的Select。GetSelectLink创建用于选择该行的链接 我希望这是一个复选框,而不是测试选择。当用户点击复选框时,我希望选中网格中的该行,并选中该框 我希望选中和未选中的状态是我提供的图像 如何执行此操作?除非您正在使用Ajax进行一些有趣的操作,否则select链接将刷新页面,并将select=索引添加到查询字符串中。这将是一种不同寻常的体验,因为人们不习惯于复选框触发页面重新加载 您可以

我到处找,似乎找不到答案

我有一个MVC3项目,上面有一个WebGrid。第一列是当前使用普通项的Select。GetSelectLink创建用于选择该行的链接

我希望这是一个复选框,而不是测试选择。当用户点击复选框时,我希望选中网格中的该行,并选中该框

我希望选中和未选中的状态是我提供的图像


如何执行此操作?

除非您正在使用Ajax进行一些有趣的操作,否则select链接将刷新页面,并将select=索引添加到查询字符串中。这将是一种不同寻常的体验,因为人们不习惯于复选框触发页面重新加载

您可以这样做,完全模仿选择链接功能。首先将复选框添加到行:

grid.Column(
    format: (item) => @Html.Raw("<input class='select' type='checkbox'" +  ((grid.SelectedRow == item) ? "checked" : "") + " />")
)

哦,按回车键,它就保存了。我想写更多…谢谢你的代码,但我实际上需要它来刷新页面。它甚至不必是一个复选框。它可以是一个按钮。我有一个特殊的图形,看起来有点像我要使用的复选框。您是否有一些代码可以让我在那里放置一个2状态按钮…一个状态用于选择行时,另一个状态用于选择行时,以及单击行时,即使用SelectedRow=X querystring刷新页面时?@user856232是的,我想您也可以使用上面的状态。只需将type='checkbox'替换为type='image',然后根据gridlSelectedRow==item.Awesome设置“src”,就像上面设置的“checked”一样。我要试一试。谢谢我似乎找不到运行您显示的javascript的好地方。我已经有一个$document.ready脚本来设置我的一些div。我试着把这段代码放在那里,但是输入元素还没有出现。我想知道WebGrid的东西是否在document.ready之后运行?你有什么建议?也许元素在那里,它们还没有显示为可见。当脚本到达$input.select.each时,即使列表中有一行,它也会跳过它。
var index = 1;
$("input.select").each(function () {
    $(this).data('row', index);
    $(this).click(function () { window.location = "?Selected=" + $(this).data('row'); });
    index++;
});