问题是在将数据从控制器传递到视图时获得空引用异常
我将模型传递给控制器的视图,如下所示:
{ ViewBag.PartId = id; var viewmodel= new Orderviewmodelnew(); var order = new OrderMnagernew().GetSingleOrderField(id); viewmodel.ProjectId=order.ProjectId; return View(viewmodel); }
在视图中我有这样的代码
@model DreamTrade.Web.BL.ViewModels.OrderViewModelnew Home>Project @Model.ProjectID==null??//projected is of type guid Customer :@(Model.CreatedBy??string.empty) Project :@Model.ProjectID @Model.ProjectDetail CreatedBy:@Model.CreatedBy Creation Date:@Model.CreationDate CompletedBy :@Model.ModifiedBy Completion Date:@Model.LastModified @Model.Image @Html.Action("OrderIndex","Ordernew",new { PartId = Guid.Parse("C0497A40-2ADE-4B23-BA9F-1694F087C3D0") })
我试过这样的事
@if(Model.ProjectId==Null) {/....}
在控制器中,我尝试这样做,如果它是null,则不传递模型
var order = new OrderMnagernew().GetSingleOrderField(id); if(order!=null) { viewmodel.ProjectId=order.ProjectId; return View(viewmodel); } return View()
视图中的projectid的问题显示异常.
我想显示空字符串,如果它为null并显示剩余部分..
解决方法
这段代码错了:
@Model.ProjectID==null??string.empty
如果ProjectID是可空类型,你应该写:
@(Model.ProjectID ?? string.empty)
添加:
更换:
return View()
有:
return View(new Orderviewmodelnew())
因为null对象没有任何属性