MVC ERROR: The ID field is required.错误原因及解决办法
我们在用mvc开发的时候新增数据提交表单时,ModelState.IsValid 提示The ID field is required.
我们先看下Model设计:
[Key] [Editable(false,AllowInitialValue=true)] [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)] public int ID { get; set; }
解说下,这里我们使用自动增长主键,切不允许编辑属性控制自动生成表单,没任何问题,既然ID是自动增长不需要我们去赋值,还报这个错误。
我们看下我们创建表单,问题根源找到了
我们提交表单里边有:
@Html.HiddenFor(model => model.ID)
编辑里边有这条是必须的,保证Model能找到,但是我们创建的时候是不需要的,删除这句,OK 问题解决。
网上有另一种解决方法:
public ActionResult Create([Bind(Exclude="id")]SiteColumn sitecolumn)
[Bind(Exclude=
"id"
)]
绑定Model的时候排除ID,我还是建议删除添加的时候删除隐藏ID值,这个是标准。
最近评论