Asp.net mvc 4 Membership.CreateUser()出现此错误;不支持指定的方法";
当我使用Asp.net mvc 4 Membership.CreateUser()出现此错误;不支持指定的方法";,asp.net-mvc-4,asp.net-membership,Asp.net Mvc 4,Asp.net Membership,当我使用 Membership.CreateUser(model.UserId、model.Password、model.Email、null、null、true、null、out-createStatus) 我得到以下错误: 不支持指定的方法 请帮忙 [HttpPost] [AllowAnonymous] [ValidateAntiForgeryToken] public ActionResult Register(RegisterModel model)
Membership.CreateUser(model.UserId、model.Password、model.Email、null、null、true、null、out-createStatus)
我得到以下错误:
不支持指定的方法
请帮忙
[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
public ActionResult Register(RegisterModel model)
{
if (ModelState.IsValid)
{
// Attempt to register the user
MembershipCreateStatus createStatus;
Membership.CreateUser(model.UserId,
model.Password,
model.Email,
null,
null,
true,
null,
out createStatus);
if (createStatus == MembershipCreateStatus.Success)
{
UpdateUserInfo();
/* "False" for createPersistentCookie: */
FormsAuthentication.SetAuthCookie(model.UserId, false);
return RedirectToAction("Index", "Home");
}
else
{
ModelState.AddModelError("", ErrorCodeToString(createStatus));
}
}
// If we got this far, something failed, redisplay form
return View(model);
}
您现在必须使用
WebSecurity.CreateUserAndAccount(…)
如果您试图使用ASP.NET成员资格提供程序进行MVC4(这很公平-您可能必须访问您无法控制的旧的成员资格提供程序数据库),则需要关闭SimpleMembership(这是MVC4的默认设置)
只需将以下行添加到Web.config中的“appSettings”:
<add key="enableSimpleMembership" value="false" />
您在方法调用中添加了一个额外的null 方法如下:
Membership.CreateUser(model.UserId, model.Password, model.Email, null, null, true, out createStatus);
以下是方法签名:
public static MembershipUser CreateUser(string username, string password, string email, string passwordQuestion, string passwordAnswer, bool isApproved, out MembershipCreateStatus status);
希望这有帮助 为了澄清,如果您使用的是SimpleMembership,则必须使用
WebSecurity.CreateUserAndAccount()
。如果您使用的是其他成员资格提供程序,那么如果CreateUser不起作用,您可能必须使用其他程序。您使用的是SimpleMembership吗?如果是这样,请参阅Pinch的答案,如果不是,请告诉我们您使用的是什么。