I am getting an error of Object reference not set to an instance of an object I have tried multiple things but keep getting that error, the error is occuring on this line of code
@if(!string.IsNullOrWhiteSpace(Model.profile.photo))
{
@Html.DisplayFor(x => x.profile.firstname) @Html.DisplayFor(x => x.profile.lastname)
}
else {
<p>This user does not have a profile</p>
}
@if(!string.IsNullOrWhiteSpace(Model.profile.photo))
I have a view that contains 2 models as
public class relist_profile
{
public relisting relisting { get; set; }
public profile profile { get; set; }
}
and my controller is
public ActionResult detail(int id)
{
relisting relistings = db.relistings.Find(id);
var profiles = (from s in db.profiles where s.registrationID == relistings.RegistrationID select s).FirstOrDefault();
return View(new relist_profile {profile = profiles, relisting = relistings });
}
what is occuring is that when the var profiles doesn’t match up (s.registrationID != relistings.RegistrationID) then it throws the error but if there is a PROFILE and it matches(TRUE) then everything works perfectly.
How can I resolve this issue
When there is no match by
registrationID, Enumerable.FirstOrDefault returnsnull. Soprofilesinpublic ActionResult detail(int id)is null then andnullis consequently passed into the view.You cannot access
Model.profile.photo, whenModel.profileis null. Try to add null check: