0

登録ページの 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 のものを追加する前は、これはすべて機能していました。

4

2 に答える 2

2

Check the HTTP status code being returned in the response. If the cannot tell what the status code is from Google Tools use Fiddler. If the status code is 302 then the server is sending a redirect, which usually occurs when there is a server error. Check the server logs to see if there are any errors to determine what the issue is.

于 2013-05-17T13:02:53.007 に答える