2013-0805

MVC ERROR: The ID field is required.错误原因及解决办法

作者: momy 分类: 编程开发 0 Comment »
摘要:我们在用mvc开发的时候新增数据提交表单时,ModelState.IsValid 提示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值,这个是标准。

标签: MVC ModelState.IsValid 阅读: 24455
上一篇: bootstrap tooltip不显示 - 13639次
下一篇: 微信公众号接口:40016 invalid button size - 63779次

向右滑动解锁留言