【发布时间】:2012-05-08 05:30:15
【问题描述】:
我是 MVC 新手,当我为代码优先方法构建模型类时,每个键 ID 列都设置了属性 [ScaffoldColumn(false)]。我这样做是因为我不想让 ID 明显显示在视图中,而且我知道解决此问题的方法是删除每个包含 ID 字段的视图中 UI 生成的 HTML。
我在模型中使用 ScaffoldColumn 设置为 false 时遇到的问题是在触发视图的 Edit 方法时首先注意到的,我收到此错误:存储更新、插入或删除语句受影响意外的行数 (0)。当我在调试中运行代码时,ID 属性实际上设置为零,如我的视图 Edit HttpPost 方法所示。
我希望有人能详细说明的问题是,如果没有将 ID 发送到控制器方法(例如在本例中为 Edit HttpPost),那么在 MVC 中拥有像 ScaffoldColumn 这样的属性有什么意义? ?我是否应该以旧的方式进行此操作,并删除当该属性未添加到键/外键属性时生成的 MVC 寺庙创建的每个视图中的 HTML 标记?
如果将此属性设置为false,我发现的解决方法是为每个HttpPost 方法添加一个ID 参数,而不是在调用SaveChanges() 之前设置适当的ID 属性字段。
【问题讨论】:
-
本篇博主讲解ScaffoldColumn的使用方法。如果你更像我这样的视觉专家,你会喜欢这篇文章的。它有屏幕截图、视频和所有内容。 20fingers2brains.blogspot.se/2013/03/…
标签: asp.net-mvc asp.net-mvc-3 scaffolding