1

編集:これは、言語の文字と i/u などの文字が原因であることが判明しました。

[HttpPost]  
        /*[Authorize(Roles = "admin")]*/
        public ActionResult Register(RegisterModel model)
        {
            if (ModelState.IsValid)
            {
                var users = _userdb.UserProfiles.Where(x => x.UserName == model.UserName); 
                if (users.Any())
                {
                    ModelState.AddModelError("Error", "Username Already Exists.");
                    return View(model);
                }

                try
                {
                    if (model.IsAdmin == false)
                    {
                        WebSecurity.CreateUserAndAccount(model.UserName, model.Password, propertyValues: new
                        {
                            CellPhone = model.CellPhone,
                            Email = model.Email,
                            SocialNo = model.SocialNo,
                            Department_Id = model.DepartmentId
                        });


                    }
                    else
                    {
                        WebSecurity.CreateUserAndAccount(model.UserName, model.Password, propertyValues: new
                        {
                            CellPhone = model.CellPhone,
                            Email = model.Email,
                            SocialNo  = model.SocialNo ,
                            Department_Id = 9999
                        });

                        Roles.AddUserToRole(model.UserName, "admin"); 
                    }

                    return RedirectToAction("Departments", "Index");
                }
                catch (MembershipCreateUserException e)
                {
                    ModelState.AddModelError("", ErrorCodeToString(e.StatusCode));
                }
            }

            // If we got this far, something failed, redisplay form
            return View(model);
        }

このエラーが発生していますが、これは本当に役に立ちません。ユーザーを登録したいだけです。

なぜこのエラーが発生するのですか? 何か案が?

UserProfileはデータを取得していますが、メンバーシップ テーブルを取得していないことに注意してください。

4

0 に答える 0