1

当我使用注册新用户时

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);
    }
4

3 回答 3

2

您现在必须使用WebSecurity.CreateUserAndAccount(...)

于 2013-06-25T14:44:51.013 回答
0

如果您尝试为 MVC4 使用 ASP.NET Membership Provider(这很公平 - 您可能必须访问您无法控制的旧版 Membership Provider 数据库),您需要关闭 SimpleMembership(即MVC4 的默认值)。

只需将以下行添加到 Web.config 中的“appSettings”:

<add key="enableSimpleMembership" value="false" />
于 2014-03-25T12:40:41.837 回答
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);

希望这会有所帮助!

于 2017-01-15T03:09:03.513 回答