Добрый день всем,Ссылка на объект не указывает на экземпляр 0f объекта
у меня возникают проблемы с показом данных, которые не всегда существует.
<div class="display-label">client</div>
<div class="display-field">
@Model.Contact.client.nomCompteClient
</div>
<div class="display-label">civilite</div>
<div class="display-field">
@Model.Contact.civilite
</div>
В этом коде, если @ Model.Contact.client.nomCompteClient не установлен, я получаю следующее сообщение об ошибке: Ссылка на объект не указывает на экземпляр объекта. Но, если все остальные данные пустые, нет проблем, ничего не отображается. Я не понимаю, что я сделал, чтобы установить «nomCompteClient» обязательно.
вот мой контроллер:
Function Details(id As Integer) As ActionResult
Dim contact As contact = db.contact.Single(Function(c) c.idContact = id)
Dim meetings = (From d In db.meeting
Where d.FK_meet_contact = id
Select d).ToList()
Dim opportunites = (From e In db.opportunite
From f In db.transmission_opportunite
Where f.FK_trans_cont = id And f.FK_trans_opp = e.idOpportunite
Select e).ToList()
Dim interviews = (From g In db.interview
Where g.FK_int_contact = id
Select g).ToList()
Dim model = New ContactDetails With {
.Contact = contact,
.Meetings = meetings,
.Interviews = interviews,
.Opportunites = opportunites
}
Return View(model)
End Function
Вот модель я использовал
Public Class ContactDetails
Public Property Contact As contact
Public Property Meetings As IEnumerable(Of meeting)
Public Property Interviews As IEnumerable(Of interview)
Public Property Opportunites As IEnumerable(Of opportunite)
End Class
Извините, если мой английский отстой, я не носителем английского языка.
редактировать: Я не имею права отвечать, так что я буду править с «решения» Я нашел
я наконец установил ее так:
<div class="display-field">
@If Model.Contact.FK_contact_client Then
@Model.Contact.client.nomCompteClient
End If
</div>
FK_contact_client является FK, что относится к клиенту, с которым работает контакт.
Не было ли лучшей возможности?
Думаю, я не смог понять себя, потому что не уверен, что вы поняли, что я пытался объяснить. Вид, который я показал, должен отображать информацию о контакте. Этот контакт может работать для клиента, но также может не работать ни на одного клиента. Таким образом, если клиентский объект не установлен, то контакт отсутствует. Как только у вас есть мнение, что «забывает» отображать это свойство? –
@patxy, вы спрашиваете, почему вы получаете ошибку здесь '@ Model.Contact.client.nomCompteClient', но не здесь' @ Model.Contact.civilite'. Причина в том, что свойство 'client' равно null, и в первом случае вы пытаетесь вызвать на нем некоторое подзадачу, тогда как во втором вы не используете это свойство' client' вообще. –
Ok thx, я отредактировал свой вопрос с помощью решения (мне не разрешили отвечать на мой вопрос -_-). –