我是编程的新手,虽然我检查了空值,但我仍然继续收到此错误...我无法弄清楚为什么它仍然给我这个错误。 这是我在ProjectDetailsViewModel中的代码:
public List<string> SelectedServices
{
get
{
var services =
Project.Services?.Select(x => x.ProjServiceCode).ToList();
var service = Project.ProjectPricings.Where(x=>x.ProjectId == Project.Id && !string.IsNullOrWhiteSpace(x.ServiceCode))
.Select(x => x.ServiceCode)
.ToList();
var serviceList = new List<string>();
if (services != null) serviceList.AddRange(services);
serviceList.AddRange(service);
return serviceList ;
}
}
在这里我在视图中使用它:
<tr class="control-oddrow">
<td class="control-label">
<label class="dcl-control-label required">Addt'l Services:</label>
</td>
<td class="spacer-column"></td>
<td class="control-input">
@{ var services = Model.SelectedServices ?? new List<string>() ; }
@Html.ListBoxFor(m => services, new MultiSelectList(Model.ProjectServices, "ServiceCode", "ServiceCode", services))
</td>
</tr>
每次我想得到一个项目的详细信息,该服务为null,它会抛出此错误。我真的很感激一些帮助。提前谢谢。
答案 0 :(得分:0)
我通过添加以下内容解决了这个问题: 如果(Project.ProjectPricings!= NULL)
这是我工作后的整个功能:
public List<string> SelectedServices
{
get
{
var service=new List<string>();
var services =
Project.Services?.Select(x => x.ProjServiceCode).ToList();
if(Project.ProjectPricings!=null)
service = Project.ProjectPricings.Where(x=>x.ProjectId == Project.Id && !string.IsNullOrWhiteSpace(x.ServiceCode))
.Select(x => x.ServiceCode)
.ToList();
var serviceList = new List<string>();
if (services != null) serviceList.AddRange(services);
serviceList.AddRange(service);
return serviceList ;
}
}