首页 > 解决方案 > 如何提交包含现有选择的多个复选框选择并将新修改的项目保存在 ASP.NET MVC 中

问题描述

我有一个名为的模型Course和另一个名为SelectedCourse. 这两个模型代表两个不同的表,并且具有各自独有的属性,因此类型不同。

我想以List<Course>多个复选框的形式显示在我的页面上。中可用的课程List<SelectedCourse>应标记为已选中。

如何构建我的 ViewModel 来实现这一点?

对于 Post,我想将 ViewModel 列表返回给控制器和 POST 操作。然后只能将已修改(选择/取消选择)的项目删除/添加到表示List<SelectedCourse>.

我如何实现这一目标?

(因为我不知道如何创建我的 ViewModel,所以我无法提供 cshtml 或控制器操作来证明努力)

标签: c#asp.net-mvcrazorcheckbox

解决方案


您的 ViewModel 可以包含例如CourseViewModel对象的列表,其中包含Course您在视图中使用的属性,还bool可以表示是否选择了课程。有关示例,请参见此问题。

您的操作方法 (POST) 可以将列表CourseViewModels作为参数,它允许表单将该 ViewModel 列表发布回控制器。有关示例,请参见此问题。


推荐阅读