问题是从控制器传递数据到视图时出现空引用异常
我将模型从控制器传递到视图,如下所示:
{
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)
{/....}
在控制器中,我尝试这样做,如果模型为空,则不传递模型
var order = new OrderMnagernew().GetSingleOrderField(id);
if(order!=null)
{
viewmodel.ProjectId=order.ProjectId;
return View(viewmodel);
}
return View()
问题是视图中的projectid 显示异常。
我想显示空字符串(如果为空)并显示剩余部分。
这段代码是错误的:
@Model.ProjectID==null??string.empty
if ProjectID
是可空类型,你应该这样写:
@(Model.ProjectID ?? string.empty)
Added:
Replace:
return View()
with:
return View(new Orderviewmodelnew())
because null
对象没有任何属性
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)