我正在寫一個.Net核心項目,我試圖實現一個用戶註冊過程。我在Visual Studio 2017中使用了由Microsoft提供的「基本」模板。註冊一個用戶到.Net核心項目
我已經陷入了用戶註冊的問題。我已經創建與我需要完成註冊的信息的相當可觀的形式:
RegisterViewModel:
public class RegisterViewModel
{
public string Email { get; set; }
public string Password { get; set; }
public string ConfirmPassword { get; set; }
public bool Admin { get; set; }
public bool Manager { get; set; }
public int CustomerID { get; set; }
public string First_Name { get; set; }
public string Last_Name { get; set; }
public string Mobile { get; set; }
public DateTime? Date_Of_Birth { get; set; }
public string Gender { get; set; }
public string Status { get; set; }
public Customer Customer { get; set; }
}
我已經離開了一些從上述不重要線,因爲這是不的一部分我的問題。顯示我的表單的部分按預期工作,但當我嘗試運行我的[HttpPost]
部分時,我偶然發現問題。
public async Task<IActionResult> Register(RegisterViewModel model, string returnUrl = null)
{
ViewData["ReturnUrl"] = returnUrl;
if (ModelState.IsValid)
{
var user = new ApplicationUser { UserName = model.Email, Email = model.Email };
var result = await _userManager.CreateAsync(user, model.Password);
if (result.Succeeded)
{
//do something else here if user was created.
}
}
}
我的數據庫是一個關係型數據庫(有外鍵),這意味着,當我嘗試添加User
通過這個過程,並且用戶不具有CustomerID
(增加或沒有設置)的「用戶」索引的顯示不起作用(中斷)。
在用戶上方的寄存器代碼在我的數據庫中創建但是,沒有一個從我的形式填充字段是輸入到我的數據庫。所有客戶ID(這是一個外鍵)中最糟糕的是沒有被插入,即使它駐留在模型中。
如何從這個寄存器方法傳遞我需要的這些變量?