0

我有一个具有“FirstName”和“LastName”属性的“Person”对象。“Person”也与“Phone”对象具有 1-n 关系。'Phone' 对象有一个 'Number' 属性。所以一个人可以有多个电话号码。

在“PersonController”上,我有一个“创建”操作,它加载一个强类型视图以显示一个表单,我可以在其中创建一个新的“人员”。但除了人的属性之外,我还希望能够输入第一个电话子对象。

这段代码给了我一个 NullReferenceException:

Html.TextBox("Number", Model.Person.Phones.SingleOrDefault().Number)

在我的操作方法中,我这样调用视图:

Dim p As New Person
Return View(p)

那么如何在单个视图上创建对象和第一个子对象呢?

4

1 回答 1

1

不是因为电话号码对象还没有设置,实际上是空的吗?

因此,当您创建一个新人时,您还需要创建一个新的电话号码对象。

像这样我(认为)我的 VB 生锈了;

Dim p as New person
Dim pp as new Phones
p.Phones.Add (pp)
return View(p)

因此,从本质上讲,当您创建一个新人时,需要创建一个新电话并将其连接到新人。

您可以通过将上述代码重构到 Person 对象的创建中来更好地做到这一点,以便始终有一个新的 Phone 对象附加到一个新的 Person 对象。

这有意义还是我不在基地?

于 2009-10-27T21:05:04.947 回答