这是我第一次实施这样的方法:)请对我容易:)我进行了研究,但在进行这项工作时仍然遇到一些问题。我有可以在其中创建用户的页面,我还想检查用户电子邮件是否已经存在。
这是我所做的,但是我仍然可以一遍又一遍地用相同的电子邮件创建用户。谁能帮我或指引我正确的方向!
在此先感谢:)
型号:
public class A_S_PX2
{
public int Id { get; set; }
[Remote("AddCustomer", "User", HttpMethod = "POST", ErrorMessage = "User with this Email already exists")]
public string Email_ID { get; set; }
}
查看模型:
public class user
{
public int ID { get; set; }
}
控制器:
[HttpPost]
public JsonResult AddCustomer(user model , string Mail)
{
var u = db.PX2.Where(a => a.Id == model.ID && a.Email_ID.Equals(Mail, StringComparison.CurrentCultureIgnoreCase))
.FirstOrDefault();
if (u == null)
{
db.PX2.Add(new A_S_PX2 { Email_ID = Mail});
db.SaveChanges();
return Json(model, JsonRequestBehavior.AllowGet);
}
else
{
return Json("Email already exists", JsonRequestBehavior.AllowGet);
}
}
[HttpGet]
public ActionResult AddUser()
{
return View();
}
查看:
@Html.ValidationSummary()
<form id="CreateCustomer">
<div class="form-group">
<label>E-mail</label>
<input type="email" class="form-control mail">
</div>
<div class="form-group">
<input type="submit" value="Send" id="BtnOpretKundeJS" class="btn">
</div>
</form>
$(function () {
$("#BtnOpretKundeJS").click(function (e) {
e.preventDefault();
var model = {
Mail: $(".mail").val(),
}
$.ajax({
type: 'POST',
url: '@Url.Action("AddCustomer")',
dataType: 'json',
data: {
Mail: model.Mail
},
success: function (run) {
console.log('Ok');
},
error: function () {
console.log('something went wrong - debug it!');
}
});
});
});
</script>