Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 我需要一个下拉列表来显示活动案例的列表,但当返回多个案例时,我会不断收到错误_C#_Asp.net_Linq_Nullreferenceexception - Fatal编程技术网

C# 我需要一个下拉列表来显示活动案例的列表,但当返回多个案例时,我会不断收到错误

C# 我需要一个下拉列表来显示活动案例的列表,但当返回多个案例时,我会不断收到错误,c#,asp.net,linq,nullreferenceexception,C#,Asp.net,Linq,Nullreferenceexception,我需要一个下拉列表来显示当前的一组活动案例,但每当它返回多个案例时,我就会收到一个错误。代码如下所示: masterCaseList.DataSource = MasterCasesBLL.GetAllMasterCases(false) .Where(x => x.MainContact.MainContact == true) .Select(x => new { MainContact = x.MainContact.MainContactLabel, inde

我需要一个下拉列表来显示当前的一组活动案例,但每当它返回多个案例时,我就会收到一个错误。代码如下所示:

masterCaseList.DataSource = MasterCasesBLL.GetAllMasterCases(false)
    .Where(x => x.MainContact.MainContact == true)
    .Select(x => new { MainContact = x.MainContact.MainContactLabel, index = x.ID })
    .ToList();

masterCaseList.DataValueField = "index";
masterCaseList.DataTextField = "MainContact";
masterCaseList.DataBind();
我得到的错误是:

System.NullReferenceException:对象引用未设置为 对象的实例。在PCM_UI.manageReferrals.b__2(案例到x)中 c:\Users\Public\Documents\PathFinder案例 Manager\PCM.UI\pages\manageReferrals.aspx.cs:第33行 System.Linq.Enumerable.WhereSelectListIterator
2.MoveNext()位于
系统.Collections.Generic.List
1..ctor(IEnumerable
1 collection)位于
System.Linq.Enumerable.ToList[TSource](IEnumerable
1 source)位于 PCM_UI.manageReferrals.Page_加载(对象发送方,事件参数e) c:\Users\Public\Documents\PathFinder案例 Manager\PCM.UI\pages\manageReferrals.aspx.cs:第33行


您应该尝试在查询中添加以下内容:

masterCaseList.DataSource = MasterCasesBLL.GetAllMasterCases(false)
    .Where(x => x.MainContact != null && x.MainContact.MainContact == true)
    .Select(x => new { MainContact = x.MainContact.MainContactLabel, index = x.ID })
    .ToList();

当ToList方法强制迭代时,您似乎有一个空引用。

可否
x.MainContact
为空?如果是这样,
x.MainContact.MainContact
将出错。它本不应该返回空值,但出于某种原因,我猜它是.OMG!成功了!非常感谢你!现在我已经有了所有活动案例的列表,我可以继续工作了。在过去的几天里,我被困在这里将近10个小时。再次感谢!但奇怪的是,它返回的值为空。从中获取信息的表中没有任何空数据。但是,哦,好吧,我现在不抱怨它的工作。谢谢很高兴能帮助@ChrisHansen,那么你能标记为正确答案吗?=)这是你贴的东西旁边的复选标记吗??这是我第一次来这里,所以我是个新手哈哈。是的,是的,tnx…=)您可以尝试在不使用Select扩展名的情况下,仅引入一个单独的查询,查询MainContact为null的记录。这可能是GetAllMasterCases方法的一个问题。