我收到错误对象引用没有设置为对象的实例我已经尝试过多次但是不断收到错误,错误发生在这行代码上
@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))
我的视图包含2个模型
public class relist_profile
{
public relisting relisting { get; set; }
public profile profile { get; set; }
}
我的控制器是
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 });
}
发生的是当 var个人资料与(s.registrationID!= relistings.RegistrationID)不匹配时,它会抛出错误,但如果有一个PROFILE,它匹配(TRUE)然后一切都很完美。 我该如何解决这个问题
答案 0 :(得分:0)
如果registrationID
没有匹配,Enumerable.FirstOrDefault会返回null
。因此,profiles
中的public ActionResult detail(int id)
为空,然后null
将传递到视图中。
Model.profile.photo
为空时,您无法访问Model.profile
。尝试添加空检查:
@if(Model.profile != null &&
!string.IsNullOrWhiteSpace(Model.profile.photo))
{
//...
}
else {
<p>This user does not have a profile</p>
}