我竭力要弄清楚正确的方式做在MVC一些东西,不会在WebForms的困难,我希望有人能够指出我正确的方向。如何在ASP.NET MVC中选择表行
基本上,我显示数据的表和用户应该能够选择零个或多个行。当他们按下提交时,我希望我的控制器知道哪些行被选中,因为这会影响屏幕上的其他数据。
我的视图看起来是这样的:
<form action="/Summary/Index" method="post">
<table>
<thead>
<tr>
<th></th>
<th>Name</th>
<th>Age</th>
</tr>
</thead>
<tbody>
<% foreach (Person p in Model)
{ %>
<tr>
<td>
<input type="checkbox" name="" /> <!-- HOW SHOULD THIS BE RENDERED? -->
</td>
<td><%= p.Name %></td>
<td><%= p.Age %></td>
</tr>
<% } %>
</tbody>
</table>
<input type="submit" value="Update" />
</form>
所以被点击提交按钮时,表单将张贴到当前的URL。请注意,模型'Person'只是一个ViewModel,所以我可以根据需要添加任何必要的UI相关属性。我应该向Person添加一个'Selected'属性并让我的控制器获取Person的列表/数组并检查每个的选定属性?
请注意,我需要一个可以在没有JavaScript的情况下工作的解决方案,而且我不希望我的控制器关心复选框的值如何检索 - 如果需要,我很乐意编写自定义的ModelBinder。
任何人都可以给我一个想法如何做到这一点吗?
非常感谢, 西蒙。
谢谢拉撒路,它的工作原理与我想要的完全一样! – Simon 2009-08-13 10:15:54