登録ページの UserName プロパティでリモート検証を使用しようとしているため、ユーザー名が既に使用されている場合、ユーザーは通知を受け取ります。SimpleMembership を追加する前は機能していました。
simlplemembership を追加した後、動作を停止し、PK を持たないすべての simplemembership テーブルに関するエラーを返しました。私は調査し、リモート検証を行うための組み込みの方法を見つけました。
これでエラーは発生しなくなり、Google 開発者ツールのネットワーク タブで、正しいコントローラーに対して ajax 呼び出しが行われていることがわかりますが、コントローラー メソッドにブレークポイントを設定してもヒットしません。何をすべきかわからない。セットアップ方法は次のとおりです。
リモート属性が付加されたモデル:
[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 のものを追加する前は、これはすべて機能していました。