Asp.net mvc MVC寄存器方法已损坏

Asp.net mvc MVC寄存器方法已损坏,asp.net-mvc,controller,asp.net-identity,Asp.net Mvc,Controller,Asp.net Identity,我正在做一个基本的MVC项目,基本上是开箱即用的,有一些小的改进。因此,我定制了一点用户属性,但没有太多。。。然而,从那时起,它似乎不再起作用了。我以前也做过同样的事情,没有出错。知道我哪里出错了吗 标识模型: // You can add profile data for the user by adding more properties to your ApplicationUser class, please visit https://go.microsoft.com/fwli

我正在做一个基本的MVC项目,基本上是开箱即用的,有一些小的改进。因此,我定制了一点用户属性,但没有太多。。。然而,从那时起,它似乎不再起作用了。我以前也做过同样的事情,没有出错。知道我哪里出错了吗

标识模型:

    // You can add profile data for the user by adding more properties to your ApplicationUser class, please visit https://go.microsoft.com/fwlink/?LinkID=317594 to learn more.
public class ApplicationUser : IdentityUser
{
    //public string                               UserName                            { get; set; }
    public string                               FirstName                           { get; set; }
    public string                               LastName                            { get; set; }
    public string                               Gender                              { get; set; }
    public string                               DateOfBirth                         { get; set; }
    //public string                               Email                               { get; set; }
    public string                               PhoneNumberPrefix                   { get; set; }
    public string                               PhoneNumberSuffix                   { get; set; }
    //public string                               PhoneNumber                         { get; set; }
    public bool                                 PhoneNumberVerified                 { get; set; }
    public string                               BillingAddress                      { get; set; }
    public bool                                 BillingAddressIsShippingAddress     { get; set; }
    public string                               ShippingAddress                     { get; set; }
    public string                               VATNumber                           { get; set; }
    public string                               PreferredLanguage                   { get; set; }
    public DateTime                             RegisteredDateTime                  { get; set; }
    public string                               RegisteredLatitude                  { get; set; }
    public string                               RegisteredLongitude                 { get; set; }
    public string                               RegisteredLocation                  { get; set; }
    public async Task<ClaimsIdentity> GenerateUserIdentityAsync(UserManager<ApplicationUser> manager)
    {
        // Note the authenticationType must match the one defined in CookieAuthenticationOptions.AuthenticationType
        var userIdentity = await manager.CreateIdentityAsync(this, DefaultAuthenticationTypes.ApplicationCookie);
        // Add custom user claims here
        return userIdentity;
    }
}

public class UserDbContext : IdentityDbContext<ApplicationUser>
{
    public UserDbContext()
        : base("DefaultConnection", throwIfV1Schema: false)
    {
    }
    public static UserDbContext Create()
    {
        return new UserDbContext();
    }
}
//您可以通过向ApplicationUser类添加更多属性来为用户添加配置文件数据,请访问https://go.microsoft.com/fwlink/?LinkID=317594 了解更多。
公共类应用程序用户:IdentityUser
{
//公共字符串用户名{get;set;}
公共字符串名{get;set;}
公共字符串LastName{get;set;}
公共字符串{get;set;}
公共字符串DateOfBirth{get;set;}
//公共字符串电子邮件{get;set;}
公共字符串PhoneNumberPrefix{get;set;}
公共字符串PhoneNumberSuffix{get;set;}
//公共字符串PhoneNumber{get;set;}
公共bool phonenumberified{get;set;}
公共字符串BillingAddress{get;set;}
public bool billingaddress shippingaddress{get;set;}
公共字符串ShippingAddress{get;set;}
公共字符串编号{get;set;}
公共字符串首选语言{get;set;}
公共日期时间寄存器DDateTime{get;set;}
公共字符串registeredlatude{get;set;}
公共字符串寄存器长度{get;set;}
公共字符串注册表位置{get;set;}
公共异步任务GenerateUserIdentityAsync(UserManager klickst.);
ViewBag.Message=“Fast geschafft!您已经通过电子邮件发送了一封电子邮件,告知您的应用程序和内容输出信息。”;
//跟踪用户活动:post方法包括活动名称和时间戳以及位置
var SUCCESS=新用户活动
{
UserID=UserID,
ActivityName=“注册成功”,
ActivityTimeStampUTC=nowUTC,
ActivityLatitude=model.RegisteredLatitude,
Activity经度=model.RegisteredLongitute,
ActivityLocation=model.RegisteredLocation
};
DATADB.UserActivityList.Add(成功);
SaveChanges();
返回视图(“注册后”);
}
加法器(结果);
}
var FAILURE=新用户活动
{
UserID=UserID,
ActivityName=“注册失败”,
ActivityTimeStampUTC=nowUTC,
ActivityLatitude=model.RegisteredLatitude,
Activity经度=model.RegisteredLongitute,
ActivityLocation=model.RegisteredLocation
};
DATADB.UserActivityList.Add(失败);
SaveChanges();
//重新填充下拉列表
ViewBag.gender=DATADB.GenderList.Select(m=>newselectListItem()
{
Text=m.性别,
值=m.性别
}).ToList();
ViewBag.countryCode=DATADB.CountryCodeList.Select(m=>new SelectListItem()
{
Text=m.CountryCode,
值=m.CountryCode
}).ToList();
ViewBag.preferredLanguage=DATADB.LanguageList.Select(m=>new SelectListItem()
{
Text=m.语言,
Value=m.语言
}).ToList();
返回视图(模型);
}

对不起,我忘了提到实际的错误-主要是因为我不确定哪里出了问题..但我注意到结果是。成功部分表示“错误”-但我不确定原因。定义
不再工作了
?另外,格式化-我的思维混乱-我解决了它..我必须设置userID=model.Email,它可以工作很好。
// POST: /Account/Register
    [HttpPost]
    [AllowAnonymous]
    [ValidateAntiForgeryToken]
    public async Task<ActionResult> Register(RegisterViewModel model)
    {
        // define variables
        var userID                                              = User.Identity.GetUserId();
        DateTime nowUTC                                         = DateTime.Now.ToUniversalTime();
        DateTime nowLocal                                       = DateTime.Now.ToLocalTime();
        // check model state and submit form
        if (ModelState.IsValid)
        {
            var user                                            = new ApplicationUser
            {
                UserName                                        = model.UserName,
                FirstName                                       = model.FirstName,
                LastName                                        = model.LastName,
                Gender                                          = model.Gender,
                DateOfBirth                                     = model.DateOfBirth,
                Email                                           = model.Email,
                PhoneNumberPrefix                               = model.PhoneNumberPrefix,
                PhoneNumberSuffix                               = model.PhoneNumberSuffix,
                PhoneNumber                                     = model.PhoneNumberPrefix + model.PhoneNumberSuffix,
                BillingAddress                                  = model.BillingAddress,
                VATNumber                                       = "MwSt-Nummer",
                PreferredLanguage                               = model.PreferredLanguage,
                RegisteredDateTime                              = nowUTC,
                RegisteredLatitude                              = model.RegisteredLatitude,
                RegisteredLongitude                             = model.RegisteredLongitude,
                RegisteredLocation                              = model.RegisteredLocation
            };
            // send confirmation email
            var result                                          = await UserManager.CreateAsync(user, model.Password);
            if (result.Succeeded)
            {
                string code                                     = await UserManager.GenerateEmailConfirmationTokenAsync(user.Id);
                var callbackUrl                                 = Url.Action("ConfirmEmail", "Account", new
                {
                    userId                                      = user.Id,
                    code                                        /*= code*/
                }, protocol: Request.Url.Scheme);
                await UserManager.SendEmailAsync(user.Id, "Bestätige Dein Konto", "Bitte bestätige Dein Konto indem Du <a href=\"" + callbackUrl + "\">hier</a> klickst.");
                ViewBag.Message                                 = "Fast geschafft! Du hast eine Email mit weiteApplicationDbContextren Instruktionen erhalten um die Anmeldung abzuschliessen.";
                // track user activity: post method includes activity name and timestamp along with location
                var SUCCESS                                     = new UserActivities
                {
                    UserID                                      = userID,
                    ActivityName                                = "Register_Success",
                    ActivityTimeStampUTC                        = nowUTC,
                    ActivityLatitude                            = model.RegisteredLatitude,
                    ActivityLongitude                           = model.RegisteredLongitude,
                    ActivityLocation                            = model.RegisteredLocation
                };
                DATADB.UserActivityList.Add(SUCCESS);
                DATADB.SaveChanges();
                return View("PostRegistration");
            }
            AddErrors(result);
        }
        var FAILURE                                             = new UserActivities
        {
            UserID                                              = userID,
            ActivityName                                        = "Register_Failure",
            ActivityTimeStampUTC                                = nowUTC,
            ActivityLatitude                                    = model.RegisteredLatitude,
            ActivityLongitude                                   = model.RegisteredLongitude,
            ActivityLocation                                    = model.RegisteredLocation
        };
        DATADB.UserActivityList.Add(FAILURE);
        DATADB.SaveChanges();
        // repopulate dropdownlists
        ViewBag.gender                                          = DATADB.GenderList.Select(m => new SelectListItem()
        {
            Text                                                = m.Gender,
            Value                                               = m.Gender
        }).ToList();
        ViewBag.countryCode                                     = DATADB.CountryCodeList.Select(m => new SelectListItem()
        {
            Text                                                = m.CountryCode,
            Value                                               = m.CountryCode
        }).ToList();
        ViewBag.preferredLanguage                               = DATADB.LanguageList.Select(m => new SelectListItem()
        {
            Text                                                = m.Language,
            Value                                               = m.Language
        }).ToList();
        return View(model);
    }