Asp.net MVC、Razor & Entity Framework:Childobject lost id/relation



我正在使用一个表单从用户那里获取一些数据。当前用户数据作为只读字段和其他一些字段加载到表单中,以供用户输入。我的模型是这样的:

Mainobject
-Field1
-Field2
...
-Userdataobject
    -Name
    -Street
...

表单中的文本字段已绑定到模型。用户数据从数据库加载

Userdataobject userobj = (from c in _context.Userdataobejct where c.Id == someid select c).Single();
Mainobject.Userdataobject = userobj;

如果我将表格提交给这样的行动

[HttpPost]
public ActionResult SomeAction(Mainobject obj)
...

子对象Userdataobject包含数据,但id丢失了???问题是,如果我将mainobject添加到datacontext并保存它,那么Userdataobject将被创建为一个新项。

您的视图中可能没有id的输入,因此不会传输id。在表单中使用HiddeFor可以创建一个不可见的输入元素,该元素将随表单投递一起发送。

最新更新