我正在使用LINQ从数据库中查询数据,然后将其绑定到GridView。当我使用匿名类型时,一切正常,但现在我想重用数据(以后的过滤器),所以我创建了一个类来映射匿名类型,这里是:
public class DetailComplaint
{
public decimal Id;
public decimal Status;
public string Name;
public decimal ServiceId;
public string Service;
public string Title;
public string Customer;
public string Description;
public DateTime CreatedDate;
public decimal CreatedBy;
public string Author;
public decimal? AssignedBy;
public decimal? AssignedTo;
public string Technician;
public DateTime? AssignedDate;
public string Contact;
}
然后在查询中使用它(...选择新的DetailComplaint {//所有字段与之前相同})
但是现在当我绑定数据时,GridView会抛出一个异常,它无法找到名为“Id”的字段或属性,它在DetailComplaint中明确定义。
我该如何解决这个问题?谢谢
答案 0 :(得分:2)
您是否尝试将这些设置为属性而不是字段?某些形式的绑定仅适用于属性并忽略字段。目前还不清楚你使用的是GridView
,但这可能就是问题所在。
这里最简单的方法是使用像这样的自动属性
public class DetailComplaint
{
public decimal Id {get; set; }
public decimal Status {get; set; }
public string Name {get; set; }
public decimal ServiceId {get; set; }
public string Service {get; set; }
public string Title {get; set; }
public string Customer {get; set; }
public string Description {get; set; }
public DateTime CreatedDate {get; set; }
public decimal CreatedBy {get; set; }
public string Author {get; set; }
public decimal? AssignedBy {get; set; }
public decimal? AssignedTo {get; set; }
public string Technician {get; set; }
public DateTime? AssignedDate {get; set; }
public string Contact {get; set; }
}