(几乎默认)个人用户帐户创建的MVC错误

时间:2014-04-17 08:42:07

标签: c# asp.net-mvc visual-studio user-accounts

我对MVC比较陌生,我开始使用visual studio 2013(Express)中的默认MVC项目模板。 我修改了视图以满足我的需要(暂时),然后按this tutorial向用户注册过程添加3个新字段。我在教程中添加了BirthDate和Email,第三个:FirstName。所有东西都建立并发布得很好。

在此之后,我将发布的网站上传到我的域here并在Chrome中进行了测试。所有页面都正确加载,但是当我尝试注册用户时,我会进入“错误”页面。我检查了JS控制台,唯一的条目是:event.returnValue is deprecated. Please use the standard event.preventDefault() instead.

以下是我的C#类的代码,如上面的教程所示:

帐户/注册视图(新字段):

<div class="form-group">
    @Html.LabelFor(m => m.Email, new { @class = "col-md-2 control-label" })
    <div class="col-md-10">@Html.TextBoxFor(m => m.Email, new { @class = "form-control" })
    </div>
</div>
<div class="form-group">
    @Html.LabelFor(m => m.FirstName, new { @class = "col-md-2 control-label" })
    <div class="col-md-10">@Html.TextBoxFor(m => m.FirstName, new { @class = "form-control" })
    </div>

                                        

帐户ViewModel(注册ViewModel新字段):

[Required]
    [DataType(DataType.Date)]
    public DateTime BirthDate { get; set; }

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

    [Required]
    [Display(Name = "First Name")]
    public string FirstName { get; set; }

身份模型(ApplicationUser Method):

public class ApplicationUser : IdentityUser
{
    public DateTime BirthDate { get; set; }
    public string Email { get; set; }
    public String FirstName { get; set; }
}

帐户控制器(帖子:注册方法):

[HttpPost]
    [AllowAnonymous]
    [ValidateAntiForgeryToken]
    public async Task<ActionResult> Register(RegisterViewModel model)
    {
        if (ModelState.IsValid)
        {
            var user = new ApplicationUser() { UserName = model.UserName, BirthDate = model.BirthDate, Email = model.Email, FirstName = model.FirstName };
            var result = await UserManager.CreateAsync(user, model.Password);
            if (result.Succeeded)
            {
                await SignInAsync(user, isPersistent: false);
                return RedirectToAction("Index", "Home");
            }
            else
            {
                AddErrors(result);
            }
        }

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

如果您认为您知道导致错误页面的原因(我会将其保留,以便您自己查看)或者您知道我如何找出具体错误,请您告诉我。任何帮助将不胜感激。感谢。

更新1:我在登录时遇到了相同的错误pag,而不是被告知用户名不在数据库中。这是否意味着发生?

更新2:它在本地运行良好。

0 个答案:

没有答案