【发布时间】:2015-07-05 19:08:18
【问题描述】:
构建一个用户输入表单,它可以接受许多可以添加和删除的对象(视图模型包含其他对象的列表)(添加的对象将显示在来自部分页面的列表中),但我不希望要发送到数据库的对象,直到最终提交,所有对象将立即发送到数据库。
这是为了在用户在添加一些对象后离开表单时停止对数据库进行不必要的添加。
实现这一目标的最佳方法是什么?我正在考虑将模型存储在由控制器更新的会话中 - 这是否可取?
示例模型:
public class ViewModel
{
public string SchoolName {get;set;}
public List<Student> student {get;set;}
public List<Course> courses {get;set;}
}
public class Student
{
public string Name {get;set;}
}
public class Course
{
public string Code {get;set;}
}
【问题讨论】:
-
什么意思“直到最后提交”?
-
我已经更新了问题,抱歉,不清楚。因此,用户可以在提交到数据库之前添加任意数量的对象。
-
您的意思是动态添加新的
Student和Course对象吗?为什么不在一个视图中创建然后在一个操作中提交? -
之前尝试过但无法正常工作,我在 PartialViews 中有不同的模型 - 所以在这种情况下,学校有课程和学生的 PV,它们在各自的 PV 中控制,所以它对用户显示为一页。
-
只有在你使用
BeginCollectionItemhelper 的情况下才能使用partials,或者你可以在this answer 中显示所有客户端。
标签: c# asp.net-mvc