加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – 在MVC 3模型ID属性中将ScaffoldColumn属性设置为

发布时间:2020-12-16 04:06:17 所属栏目:asp.Net 来源:网络整理
导读:我是MVC的新手,当我为代码第一种方法构建我的模型类时,每个键ID列都设置了[ScaffoldColumn(false)]属性.我这样做是因为我不希望显然在视图中显示ID,我知道解决这个问题的方法是删除包含ID字段的每个视图中UI生成的 HTML. 我在模型中使用ScaffoldColumn设置为
我是MVC的新手,当我为代码第一种方法构建我的模型类时,每个键ID列都设置了[ScaffoldColumn(false)]属性.我这样做是因为我不希望显然在视图中显示ID,我知道解决这个问题的方法是删除包含ID字段的每个视图中UI生成的 HTML.

我在模型中使用ScaffoldColumn设置为false时遇到的问题首先被注意到,当视图的Edit方法被触发时,我收到此错误:存储更新,插入或删除语句影响了意外的行数(0 ).当我在调试中运行代码时,ID属性实际上设置为零,如我的视图Edit HttpPost方法所示.

我希望有人可以详细说明我的问题,如果没有将ID发送到控制器方法(例如编辑HttpPost),那么在MVC中使用像ScaffoldColumn这样的属性是什么意思?我应该采用旧时尚方式,并删除由此属性未添加到键/外键属性时生成的MVC模板创建的每个视图中的HTML标记?

我找到的工作是,如果将此属性设置为false,则为每个HttpPost方法添加一个ID参数,然后在调用SaveChanges()之前设置相应的ID属性字段.

解决方法

好吧,你不希望它被搭建成一个可编辑的字段,但当然你确实想要它在表单中,正如你所注意到的那样.解决方案是将其手动添加为视图中的隐藏字段.像这样的东西:
@Html.HiddenFor(model => model.id)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读