当我使用
注册新用户时 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);
}
答案 0 :(得分:2)
您现在必须使用WebSecurity.CreateUserAndAccount(...)
答案 1 :(得分:0)
如果您正在尝试为MVC4使用ASP.NET成员资格提供程序(这是公平的 - 您可能必须访问您无法控制的旧成员资格提供程序数据库),您将需要关闭SimpleMembership (这是MVC4的默认值。)
只需将以下行添加到Web.config中的“appSettings”:
<add key="enableSimpleMembership" value="false" />
答案 2 :(得分:0)
您在方法调用中添加了一个额外的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);
希望这有帮助!