.net 使用自动增量主键插入(如果不存在)。mvc3
自动增量主键有问题 当我向我的数据库中添加一个学生时,我可以一次又一次地添加同一个学生,因为学生的主键是自动递增的,因此它当然不会重复,在插入之前,我需要验证该学生的SSN在数据库中不存在 我如何在mvc3上做到这一点??(我在.net和mvc3中是全新的) 我在学生控制器中创建的代码是:.net 使用自动增量主键插入(如果不存在)。mvc3,.net,asp.net-mvc-3,insert,primary-key,auto-increment,.net,Asp.net Mvc 3,Insert,Primary Key,Auto Increment,自动增量主键有问题 当我向我的数据库中添加一个学生时,我可以一次又一次地添加同一个学生,因为学生的主键是自动递增的,因此它当然不会重复,在插入之前,我需要验证该学生的SSN在数据库中不存在 我如何在mvc3上做到这一点??(我在.net和mvc3中是全新的) 我在学生控制器中创建的代码是: [HttpPost] public ActionResult Create(Alumno alumno) { try { using (
[HttpPost]
public ActionResult Create(Alumno alumno)
{
try
{
using (var db = new administracionEntities())
{
db.Alumno.Add(alumno);
db.SaveChanges();
}
return RedirectToAction("Index");
}
catch
{
return View();
}
}
在插入之前,请检查input alumno.ssn是否不存在
db.Alumno.where(a=> a.ssn == alumno.ssn).Any()
如果返回true,则数据库中存在ssn
在MVC中有不同的方法可以实现这一点。在其中一种方法中,您可以在对控制器的单独调用中进行此调用,而不是在创建操作中进行此调用。可能您可以通过JQuery.Ajax调用客户端的SSN文本框模糊事件来检查是否存在重复的SSN
$.ajax({
type: "Get",
url: "StudentController/DoesSSNExist",
data: "ssn=#",
success: function(msg){
if(msg)
alert('ssn already exists');
}
这是控制器操作
public bool DoesSSNExist(string ssn)
{
return db.Alumno.where(a=> a.ssn == ssn).Any()
}
在插入之前,请检查input alumno.ssn是否不存在
db.Alumno.where(a=> a.ssn == alumno.ssn).Any()
如果返回true,则数据库中存在ssn
在MVC中有不同的方法可以实现这一点。在其中一种方法中,您可以在对控制器的单独调用中进行此调用,而不是在创建操作中进行此调用。可能您可以通过JQuery.Ajax调用客户端的SSN文本框模糊事件来检查是否存在重复的SSN
$.ajax({
type: "Get",
url: "StudentController/DoesSSNExist",
data: "ssn=#",
success: function(msg){
if(msg)
alert('ssn already exists');
}
这是控制器操作
public bool DoesSSNExist(string ssn)
{
return db.Alumno.where(a=> a.ssn == ssn).Any()
}
在我的模型课上
public class Student {
public int StudentID { get; set; }
[Remote("UsernameChecker", "Student")]
public string Username { get; set; }
}
在我的控制器中
public virtual JsonResult UsernameChecker(string Username){
bool checkuser = db.Student.Any(i => i.Username == Username);
return checkuser
? Json("Username already exists", JsonRequestBehavior.AllowGet)
: Json(true, JsonRequestBehavior.AllowGet);
}
在我的模型课上
public class Student {
public int StudentID { get; set; }
[Remote("UsernameChecker", "Student")]
public string Username { get; set; }
}
在我的控制器中
public virtual JsonResult UsernameChecker(string Username){
bool checkuser = db.Student.Any(i => i.Username == Username);
return checkuser
? Json("Username already exists", JsonRequestBehavior.AllowGet)
: Json(true, JsonRequestBehavior.AllowGet);
}
谢谢你,普拉文·帕瓦尔!!!成功了!!!如何发送错误消息?我知道这听起来像是阿杜姆问题,但我不知道语法。谢谢你普拉文·帕尔!!!成功了!!!如何发送错误消息?我知道这听起来像是个问题,但我不知道语法。