ASP.NET MVC 2 - Control Advice
我是 ASP.NET MVC 2 的新手,我需要一些关于在这种情况下使用的最佳"控制"的建议。 (我知道 ASP.NET MVC 并没有真正使用服务器控件,但是有许多附加组件,例如 MVC Controls ToolKit)。
这是我需要做的。我在数据库中有一个表,其中包含测试列表。我需要能够在视图中显示这些,并允许用户以某种方式(通过复选框或其他方式)选择它们。
然后我需要能够确定选择了哪些项目。
谁能告诉我实现这一目标的最佳方法?
感谢任何帮助/评论。
TIA.
如果你使用客户端功能,它最终将主要由两部分组成:
我会怎么做
我会创建一个显示表格的局部视图。如果您需要重用它,请将部分放在
表的每个
1 2 3 4 5 | <tr data='<%= this.Model[0].ToJson()'> <td class="actions"> Select ... </td> <td>...</td> ... </tr> |
请注意额外的列,其中包含您需要提供的操作。
还添加一个可以提供客户端功能的 Javascript(重要:此脚本使用 jQuery)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | $(function(){ var selection = {}; $(".actions a.action-select").click(function(evt){ evt.preventDefault(); var context = $(this); var rowObj = $.parseJSON(context.closest("tr[data]").toggleClass("selected").attr("data")); if (selection[rowObj.Id]) { // deselect delete selection[rowObj.Id]; } else { // select selection[rowObj.Id] = rowObj; } }); |
这样,当您的行被选中时,它们将具有额外的
附加说明
为什么我将
结果
这样,您将拥有一个可重复使用的表格,您可以将其放在不同的页面上(因此与用户控件相似)。但如果您需要将其中几个表添加到您的页面中,则必须稍微调整它们,以便客户端功能不会在不同表之间混合数据。