C# 如果MVC中有重复记录,如何检查多个下拉组合?
我有两个下拉列表,在保存之前,我需要检查组合是否存在于数据库中。 第一个下拉列表选择某个日期列表,该列表通过ID保存在相关数据库中,第二个下拉列表是通过ID记录在相关数据库中的任何人员的列表 现在,如果组合存在,我需要检查并返回errorMessage。 我有这个代码,但我想这只适用于文本框es: 视图中的下拉列表:C# 如果MVC中有重复记录,如何检查多个下拉组合?,c#,asp.net,asp.net-mvc,entity-framework,asp.net-mvc-4,C#,Asp.net,Asp.net Mvc,Entity Framework,Asp.net Mvc 4,我有两个下拉列表,在保存之前,我需要检查组合是否存在于数据库中。 第一个下拉列表选择某个日期列表,该列表通过ID保存在相关数据库中,第二个下拉列表是通过ID记录在相关数据库中的任何人员的列表 现在,如果组合存在,我需要检查并返回errorMessage。 我有这个代码,但我想这只适用于文本框es: 视图中的下拉列表: @Html.DropDownList("DateID", null, "- DATE -", htmlAttributes: new { @class = "form-contr
@Html.DropDownList("DateID", null, "- DATE -", htmlAttributes: new { @class = "form-control", required="required" })
@Html.DropDownList("personID",(IEnumerable<SelectListItem>)ViewBag.AllStockList, "--PESRON--", htmlAttributes: new { @required = "required" })
下面是控制器中的代码:
public JsonResult RezChk(int PersonID, int DateID)
{
return Json(!db.tbl_rezervacii.Any(x => x.PersonID == PersonID && x.DateID == DateID), JsonRequestBehavior.AllowGet);
}
我的问题:
我这里有三张桌子
返回Json(db.tbl_rezervacii.Any(x=>x.PersonID==PersonID | | x.DateID==DateID),JsonRequestBehavior.AllowGet) 返回Json(db.tbl_rezervacii.Any(x=>x.PersonID==PersonID | | | x.DateID==DateID),JsonRequestBehavior.AllowGet) “不工作”是什么意思?你的问题不清楚。为什么要将这些值存储在数据库中,并在向用户抛出错误之后。如果你把问题弄清楚,我们可以帮你更好。我这里有三张桌子。1.用户2列出日期,3是我保存一些记录的组合表。现在,如果我为user1和secund下拉列表Date1添加一条记录。现在我需要再次检查并停止user1和Date1的记录。如果用户1选择Date2添加新记录。或者任何用户2,如果第一次选择Date1也要添加记录。我需要检查组合,不允许通过该组合进行复制。如果一个下拉列表中有一个选项,最好在另一个下拉列表中显示其余选项。查找级联下拉列表。检查后端是否存在重复项以确保其正确。您甚至可以为希望组合唯一的列创建一个复合唯一键,并捕获
DbUpdateException
,以防遇到重复的组合。但是,最好在发送到数据库之前限制这些项,而不是依靠数据库来为你做这件事…你说“不工作”是什么意思?你的问题不清楚。为什么要将这些值存储在数据库中,并在向用户抛出错误之后。如果你把问题弄清楚,我们可以帮你更好。我这里有三张桌子。1.用户2列出日期,3是我保存一些记录的组合表。现在,如果我为user1和secund下拉列表Date1添加一条记录。现在我需要再次检查并停止user1和Date1的记录。如果用户1选择Date2添加新记录。或者任何用户2,如果第一次选择Date1也要添加记录。我需要检查组合,不允许通过该组合进行复制。如果一个下拉列表中有一个选项,最好在另一个下拉列表中显示其余选项。查找级联下拉列表。检查后端是否存在重复项以确保其正确。您甚至可以为希望组合唯一的列创建一个复合唯一键,并捕获DbUpdateException
,以防遇到重复的组合。但是,最好在发送到数据库之前限制这些项,而不是依靠数据库为你做这件事。。。
public JsonResult RezChk(int PersonID, int DateID)
{
return Json(!db.tbl_rezervacii.Any(x => x.PersonID == PersonID && x.DateID == DateID), JsonRequestBehavior.AllowGet);
}