错误绑定到DropDownList

时间:2012-05-30 14:49:38

标签: c# asp.net

我有一个查询CRM 2011的方法,然后将结果绑定到DropDownList,这是我的代码:

    public void CheckRsmPopulateAccounts()
    {

            string rsmFirstName = _currentUser.FirstName;
            string rsmLastName = _currentUser.LastName;

            ddlCustomer.DataSource = (from r in gServiceContext.CreateQuery("opportunity")
                             join c in gServiceContext.CreateQuery("account") on ((EntityReference)r["accountid"]).Id equals c["accountid"]
                             join u in gServiceContext.CreateQuery("systemuser") on ((EntityReference)r["ownerid"]).Id equals u["systemuserid"]
                             where u["firstname"].Equals(rsmFirstName) && u["lastname"].Equals(rsmLastName)
                             select new
                             {
                                 AccountId = !r.Contains("accountid") ? string.Empty : r["accountid"],
                                 Account = !c.Contains("name") ? string.Empty : r["name"]
                             });

            ddlCustomer.DataValueField = "AccountId";
            ddlCustomer.DataTextField = "Account";
            ddlCustomer.DataBind();


    }

但由于某种原因,它一直给我一个Exception has been thrown by the target of an invocation.错误,它看起来像DataBind命令。我似乎无法弄清楚这个问题,错误看起来如此通用。知道是什么导致了这个吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

select new {}创建一个匿名类型。您无法通过匿名类型对象进行枚举。

在你的linq

的末尾添加.ToList()

另请检查您的Linq实际上是否返回了某些内容,并确保您没有任何回列的列null