繁体   English   中英

WebSecurity.CreateUserAndAccount throw无法将类型'string'转换为'int'

[英]WebSecurity.CreateUserAndAccount throw Cannot convert type 'string' to 'int'

我需要使用实体框架创建注册页面,并且尝试对userAuth系统使用websecurity类,要进行注册的代码是代码

public ActionResult Register(RegisterUser model)
    {
        if (ModelState.IsValid)
        {
            // Attempt to register the user
            try
            {
                WebSecurity.CreateUserAndAccount(model.Username, model.Password,
                new { FullName = model.FullName,
                      Email = model.Email,
                      Phone = model.Phone });
                WebSecurity.Login(model.Username, model.Password);
                return RedirectToAction("Index", "Home");
            }
            catch (MembershipCreateUserException e)
            {
                ModelState.AddModelError("", ErrorCodeToString(e.StatusCode));
            }
        }

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

这是我的模特

    public class RegisterUser{
    [Required]
    [Display(Name = "User Name")]
    public string Username { get; set; }

    [Required]
    [StringLength(15, ErrorMessage = "The {0} must be at least {2} characters long and upto 15 characters", MinimumLength = 6)]
    [Display(Name = "Password")]
    public string Password { get; set; }

    [DataType(DataType.Password)]
    [Display(Name = "Confirm password")]
    [Compare("Password", ErrorMessage = "The password and confirmation password do not match.")]
    public string ConfirmPassword { get; set; }

    [Display(Name="Full Name")]
    public string FullName { get; set; }

    [Display(Name="Email")]
    public string Email { get; set; }

    [Display(Name="Phone Number")]
    [StringLength(12,ErrorMessage = "Wrong Phone number",MinimumLength = 9)]
    public string Phone { get; set; }
}

当我运行并向一些数据注册时,我得到了RuntimeBinderException未被用户代码处理无法将类型'string'转换为'int'

我尝试检查所有字符串和模型的值,我也不为什么程序抛出那样的声音,有人可以帮助我?

我有同样的错误。 就我而言,问题在于WebSecurity初始化WebSecurity.InitializeDatabaseConnection();。

您必须对userIdColumn使用任何字符串字段。

userIdColumn
包含用户ID的数据库列的名称。 此列必须输入为整数(int)

http://msdn.microsoft.com/en-us/library/gg569134(v=vs.111).aspx

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM