私はASP.NETコアプロジェクトでモデルを作成しました。モデルには「Id」プロパティがあります。モデルをデータベースに保存する場合、モデルのIDはnullと表示されます。ここでは、コードは次のようになります。ASP.NETコア - モデルのID /キーに値がありません
[HttpPost]
[ValidateAntiForgeryToken]
public async Task<IActionResult> SaveMessage(MessageViewModel model, string returnUrl = null)
{
ViewData["ReturnUrl"] = returnUrl;
if (ModelState.IsValid)
{
var message = new MessageModel
{
SenderName = await _userManager.GetUserNameAsync(await _userManager.GetUserAsync(User)),
Title = model.Title,
Email = model.Email,
Message = model.Message,
SavedDate = DateTime.Now,
Sent = false
};
var userMessage = new UserMessage
{
ApplicationUser = await _userManager.GetUserAsync(User),
MessageModel = message
};
_context.MessageModel.Add(message);
_context.UserMessage.Add(userMessage);
await _context.SaveChangesAsync();
return RedirectToAction(nameof(HomeController.Home), "Home");
}
return RedirectToAction(nameof(MessageController.EditMessage), "Message", model);
}
そして、ここではモデルです:
public class MessageModel
{
public string Id { get; set; }
public string SenderName { get; set; }
public string Title { get; set; }
public string Email { get; set; }
public string Message { get; set; }
public DateTime SavedDate { get; set; }
public bool Sent { get; set; }
public List<UserMessage> UserMessages { get; set; }
}
私はIDに値を与えることができますどのように? ありがとうございました!
該当するモデルコードを投稿し、エラーの原因となるモデルを教えてください。 –
Idがモデルにない場合。たとえば、hidden @@ Html.Hidden()の入力を使用して、ビューの値を提供する必要があることを意味します。 –