我正在尝试在注册页面上的用户名属性上使用远程验证,因此如果用户名已被使用,用户会收到通知。在我添加 SimpleMembership 之前它就起作用了。
添加 simlplemembership 后,它停止工作,返回一个错误,关于所有没有 PK 的 simplemembership 表。我研究并发现了一种内置的方法来进行远程验证。
现在我没有收到任何错误,我可以在谷歌开发者工具的网络选项卡中看到,ajax 调用正在对正确的控制器进行,但我在控制器方法中设置了一个断点,它没有被命中。所以不知道该怎么办。这是我的设置方式:
附加了 Remote 属性的模型。:
[Required]
[Remote("VerifyUserExists", "Account")]
[Display(Name = "User name")]
public string UserName { get; set; }
没有命中的控制器方法:
public JsonResult VerifyUserExists(string username)
{
var user = Membership.GetUser(username);
if (user != null)
{
return Json(ErrorCodeToString(MembershipCreateStatus.DuplicateUserName),
JsonRequestBehavior.AllowGet);
}
else
{
return Json(true, JsonRequestBehavior.AllowGet);
}
}
并且在 Web 配置中启用了验证;
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
任何想法我错过了什么?同样,在我添加 simplemembership 之前,这一切都有效。