我有一个用于注册培训人员的页面。当前页面上有三个下拉菜单,一个选择要注册的人,一个选择课程,一个选择提供课程的会话。要求将页面修改为现在具有四组课程和会话下拉菜单,以允许用户一次最多为一个人注册四个课程。我的问题出现在如何处理现在的表单发布上。之前,如果用户尝试将人员添加到他们已经注册实体框架模型绑定的课程,则会捕获错误并将错误消息发送回表单。我不确定如何实现这个绑定,因为有四个实例要同时评估和保存。我是 MVC 和 EF 的新手,因此将不胜感激任何帮助/指导。
编辑:下面是原始控制器保存功能的一部分:
var AddToCourse = new Session_Registrant()
{
RegistrantID = RegistrantID,
SessionID = Session1,
RegistrantOrg = regOrg,
RegistrantTitle = title,
RegistedDate = DateTime.Now
};
//attempt to save
try
{
if (ModelState.IsValid)
{
db.AddToSession_Registrant(AddToCourse);
db.SaveChanges();
}
}
catch (DataException error)
{
if (error.InnerException != null)
{
if (error.InnerException.Message.Contains("UNIQUE KEY constraint"))
{
//adding custom error message to explain the failure
ModelState.AddModelError("", "Error! Registrant has already been added to this course session.");
}
}
else
{
ModelState.AddModelError("Error", error.Message);
}
}