Entity framework ASP.NET MVC 4-如果视图不';不包含id的编辑器

Entity framework ASP.NET MVC 4-如果视图不';不包含id的编辑器,entity-framework,asp.net-mvc-4,nullreferenceexception,editorfor,Entity Framework,Asp.net Mvc 4,Nullreferenceexception,Editorfor,类User.cs,属性User\u id。如果我从视图中删除EditorFor User\u id,则在编辑视图将结果发布回控制器后,User\u id为null 如果我没有将EditorFor放入此字段的视图中,那么在加载编辑视图后如何保持user_id值?在这种情况下,编辑操作返回空引用错误。我想在加载视图之前以某种方式存储user_id值,然后不管在视图中输入了什么,我想从以前保存的位置恢复此user_id值,并用此id更新数据库记录 问题是MVC不希望在视图中看到除EditorFor之外

类User.cs,属性User\u id。如果我从视图中删除EditorFor User\u id,则在编辑视图将结果发布回控制器后,User\u id为null

如果我没有将EditorFor放入此字段的视图中,那么在加载编辑视图后如何保持user_id值?在这种情况下,编辑操作返回空引用错误。我想在加载视图之前以某种方式存储user_id值,然后不管在视图中输入了什么,我想从以前保存的位置恢复此user_id值,并用此id更新数据库记录

问题是MVC不希望在视图中看到除EditorFor之外的任何内容

不接受DisplayFor、TextBoxFor,结果中全部为空。HiddenFor不是选择,因为它仍然将id加载到页面。EditorFor无法设置为只读。所以我想删除它,但在模型中保留用户id

编辑


看来TempData不是一个安全的地方。是否可以通过创建一个具有一些附加属性的派生类来完成,在这些属性中,id可以保留一段时间?Idk关于类的内容太多了

如果您不希望它出现在视图中,请使用TempData在操作之间传递它。我看不到您的代码,因此无法向您显示。

不接受DisplayFor、TextBosFor、HiddenFor等,结果均为空。您能对此进行扩展吗?你是说你已经以相同的形式放置了一个HiddenFor,但是它的值在随后的点击中没有被解析吗?这就是HiddenFor的意图。显示您的模型和视图,然后将其存储在TempData@SWA否-查看此处编辑:使用TempData表单在view@SteveGreene更新