提问人: 提问时间:6/24/2016 更新时间:6/24/2016 访问量:351
ASP.NET MVC 4 - 如果视图不包含 editorfor for id,则模型 ID 为 null
ASP.NET MVC 4 - model id is null if view doesn't contain editorfor for id
问:
类 User.cs,属性user_id。如果我从视图中删除 user_id 的 EditorFor,则在编辑视图将结果发布回控制器后,user_id为 null。
如果我没有将 EditorFor 放在此字段的视图中user_id如何在加载编辑视图后保留该值?在这种情况下,“编辑”操作将返回空引用错误。我想在加载视图之前以某种方式存储user_id值,然后无论在视图中输入了什么,我都想从以前保存的位置恢复此user_id值,并按此 ID 更新数据库记录。
问题是 MVC 不想在 View 中看到除 EditorFor 之外的任何内容。
不接受 DisplayFor、TextBoxFor,结果中均为 null。HiddenFor 不是选择,因为它仍将 id 加载到页面中。EditorFor 不能设置为只读。所以我想完全删除它,但以某种方式将user_id保留在模型中。
编辑
看起来 TempData 不是一个安全的地方。可以通过创建一个具有一些附加属性的派生类来完成,其中 id 可以保留一段时间吗?对课程的 Idk 太多了
答:
1赞
Andrew Kilburn
6/24/2016
#1
如果不希望它出现在视图中,请使用 TempData 在操作之间传递它。我看不到你的代码,所以我不能给你看。
评论
0赞
Andrew Kilburn
6/24/2016
@SteveGreene更新
评论