Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何将数据发送到预生成的Asp.net数据库?_C#_Asp.net Mvc_Visual Studio - Fatal编程技术网

C# 如何将数据发送到预生成的Asp.net数据库?

C# 如何将数据发送到预生成的Asp.net数据库?,c#,asp.net-mvc,visual-studio,C#,Asp.net Mvc,Visual Studio,我正在使用Visual Studio 2015。我想在已经预生成的Asp.net数据库中添加名和姓。这些列在数据库中。我已经在RegisterViewModel中添加了 public class RegisterViewModel { [Required] [Display(Name = "First Name")] public string FirstName { get; set; } [Required] [Display(Name ="Last

我正在使用Visual Studio 2015。我想在已经预生成的Asp.net数据库中添加名和姓。这些列在数据库中。我已经在RegisterViewModel中添加了

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

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

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

    [Required]
    [StringLength(100, ErrorMessage = "The {0} must be at least {2} characters long.", MinimumLength = 6)]
    [DataType(DataType.Password)]
    [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; }
}
这是我的控制器,我几乎没有修改过

[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
public async Task<ActionResult> Register(RegisterViewModel model)
{
    if (ModelState.IsValid)
    {
        //string EncodedResponse = Request.Form["g-Recaptcha-Response"];
        //bool IsCaptchaValid=(ReCaptcha.Validate(EncodedResponse)=="True" ? true: false);
        //if (IsCaptchaValid)
        //{
        var user = new ApplicationUser { UserName = model.Email, Email = model.Email };
        var result = await UserManager.CreateAsync(user, model.Password);
        user.FirstName = model.FirstName;
        user.LastName = model.LastName;
[HttpPost]
[异名]
[ValidateAntiForgeryToken]
公共异步任务寄存器(RegisterViewModel模型)
{
if(ModelState.IsValid)
{
//字符串EncodedResponse=Request.Form[“g-Recaptcha-Response”];
//bool IsCaptchaValid=(ReCaptcha.Validate(EncodedResponse)=“真”?真:假);
//if(IsCaptchaValid)
//{
var user=newapplicationuser{UserName=model.Email,Email=model.Email};
var result=await UserManager.CreateAsync(用户、模型、密码);
user.FirstName=model.FirstName;
user.LastName=model.LastName;

等等…我不确定为什么FirstName和LastName没有被发送到数据库。我认为这是一种方法,我也看到了其他方法,但我不确定。一旦我理解了这一点,并使其正常工作,我应该会很好。谢谢。

将控制器更改为这样做:

var user = new ApplicationUser { UserName = model.Email, Email = model.Email, FirstName = model.FirstName, LastName = model.LastName };
var result = await UserManager.CreateAsync(user, model.Password);

创建用户后,您将添加第一个和第二个名称。将分配移动到
UserManager.CreateAsync