asp.net-core - 不更新身份证
问题描述
我是asp.net 的新手,我有一个问题。我创建了一个简单的表单来发送短信,但是我的 id 始终保持为空。你能告诉我我做错了什么吗?我在另一个页面中使用了完全相同的表单,并且效果很好。
@model MessagingWebApplication.ViewModel.MessageViewModel
@{ ViewBag.Title = "New";
Layout = "~/Views/Shared/_Layout.cshtml";
}
<h2>New Sms</h2>
@using (Html.BeginForm("MessageStatus", "Message"))
{
@Html.ValidationSummary()
<div class="form-group">
@Html.LabelFor(m => m.Message.Reciever)
@Html.TextBoxFor(m => m.Message.Reciever, new { @class = "form-control" })
@Html.ValidationMessageFor(m => m.Message.Reciever)
</div>
<div class="form-group">
@Html.LabelFor(m => m.Message.Sender)
@Html.TextBoxFor(m => m.Message.Sender, new { @class = "form-control" })
@Html.ValidationMessageFor(m => m.Message.Sender)
</div>
<div class="form-group">
@Html.LabelFor(m => m.Message.Body)
@Html.TextBoxFor(m => m.Message.Body, new { @class = "form-control" })
@Html.ValidationMessageFor(m => m.Message.Body)
</div>
@Html.HiddenFor(m => m.Message.Id)
@Html.AntiForgeryToken()
<button type="submit" class="btn btn-primary">Send</button>
}
My model
public class Message
{
[Key]
public int Id { get; set; }
[Required]
public string Sender { get; set; }
[Required]
public string Reciever { get; set; }
[Required]
public string Body { get; set; }
}
用于发送的方法
public ActionResult Send(Message message)
{
var viewModel = new MessageViewModel
{
Message = new Message()
};
_context.Add(message);
_context.SaveChanges();
_messageSender.Send(message);
return View("MessageStatus", viewModel);
}
_context.SaveChanges();
我在这里SqlException: Cannot insert the value NULL into column 'Id', table 'MyDatabase.dbo.Messages'; column does not allow nulls. INSERT fails.
解决方案
我的问题是我在更新数据库时失败了,所以我只是按照如何从头开始删除和重新创建现有的 EF Code First 数据库
推荐阅读
- python - 贪心算法的汽车加油问题(使列表索引超出范围)
- javascript - 关于使用 axios 的基本 URL
- postgresql - Kubernetes Pod 无法使用 Hasura 映像连接到本地 postgres 服务器
- python - 如何自动从任何浏览器(如 chrome、opera 等)获取 url 到 Python 中的变量?
- arrays - 项目附加到一个视图控制器中的数组但不在另一个视图控制器中
- processmaker - 现有的 processmaker 应用程序是否完全兼容 processmaker 4?
- r - 值 [[3L]](cond) 中的错误:缺少所需的包
- jupyter-lab - 如何在 Jupyer 实验室的 MLFlow 服务器上记录源名称和版本
- html - 从文件名更改的网站下载 Excel 文件
- c++ - 无法使用 Mingw 编译 win32 C++