避免重复记录MVC

时间:2017-10-27 14:46:22

标签: c# asp.net-mvc duplicates record

如何验证以防止重复记录。 这是我的控制器(创建)

[HttpPost, ValidateAntiForgeryToken]

public ActionResult Create(Project mcpc, HttpPostedFileBase file, 
[Bind(Include = 
"ProjectID,NumberMCP,EngineerID,SiteLocationID,nameProject,Ptype, MCPcontent, Proj, ContentType")] Project project)
        {
          try
            {
                if (seg.ValidaAcceso(Session["AppCode"].ToString(), Convert.ToInt16(Session["UsrRol"]), "Crear"))
                {                           
                    if (file != null && file.ContentLength > 0)
                    {                          
                            string ds = file.FileName.Substring(file.FileName.Length - 3);
                        string p = string.Empty;
                        p = Server.MapPath("~/UploadFiles/");
                        file.SaveAs(p + file.FileName);

                        if (file.ContentLength > 0)
                        {
                            BinaryReader br = new BinaryReader(file.InputStream);
                            byte[] buffer = br.ReadBytes(file.ContentLength);

                            using (db)
                            {
 mcpc.Proj = file.FileName;
                                mcpc.ContentType = file.ContentType;
                                mcpc.MCPcontent = buffer;
                                db.Projects.Add(mcpc);
                                db.SaveChanges();
                            }

                        }
                        ViewBag.EngineerID = new SelectList(db.Engineers, "EngineerID", "eName", project.EngineerID);
                        ViewBag.SiteLocationID = new SelectList(db.SiteLocations, "SiteLocationID", "nameSL", project.SiteLocationID);


                        return RedirectToAction("Index");
                    }
                    else
                    {
                        TempData["Message"] = "No se elegió ningún archivo.";
                        return RedirectToAction("Create");
                    }
                }
                else
                {
                    return seg.NotAccess();

                }

            }

            catch /*(Exception ex)*/
            {
                throw;
            }
        }

我使用ProjectID作为Identity主键,而NumberMCP无法重复。

我一直在四处寻找如何向用户展示无法创建记录的用户,因为它已经被拍摄了。 所以这可能是一个非常简单的问题,但阻止用户尝试输入重复记录的最佳方法是什么? (新编程)

1 个答案:

答案 0 :(得分:0)

在尝试将其添加到数据库之前,请检查可能的重复字段。如果存在,则向用户返回错误消息,否则添加它。

document.title = 'Hello';
window.parent.document.title = 'Hello2';
window.document.title = 'Hello3';