c# – 匿名类型出现在两个错误

前端之家收集整理的这篇文章主要介绍了c# – 匿名类型出现在两个错误前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个 linq查询,填充Page_Load上的GridView.我为字母表做了一个循环的字符.在填充LinkBut​​ton的LinkBut​​ton的.Command中,我使用查询中相同的参数运行一个非常相似的查询,并得到以下错误.

The type ‘<>f__AnonymousType2’ exists in both ‘ConcernContracts.dll’ and ‘System.Web.WebPages.Deployment.dll’

void lnkCharacter_Command(object sender,CommandEventArgs e)
{
    try
    {
        var lbtn = (LinkButton)lbl_Alphabet.FindControl("lnkCharacter" + e.CommandArgument);
        var id = lbtn.Text;

        using (var db = new dbDataContext())
        {
            var query = from n in db.tbl_Providers
                        where ((n.provider_Name.StartsWith(id)) && (n.provider_Deleted == false))
                        select new
                        {
                            n.ProviderId,n.provider_Name
                        };

            grd_Provider.DataSource = null;
            grd_Provider.DataSource = query;
            grd_Provider.DataBind();
        }
    }
    catch (SystemException ex) { }
}

LoadGrid()是一样的,但它不使用.StartsWith()条件.
你有什么想法如何解决错误

错误不会引发异常,但不会为任一查询填充网格.错误在以下行中被发现:grd_Provider.DataSource = query;

解决方法

更改网格数据源
grd_Provider.DataSource = query.ToList();
grd_Provider.DataBind();

或者创建具有两个属性Provider List和Name的List,并从输出绑定该列表
喜欢这个.

List<Entities> abc=query.ToList();
 grd_Provider.DataSource =abc;
 grd_Provider.DataBind();

猜你在找的C#相关文章