【问题标题】:GridView cannot find field in defined type, but anonymous type?GridView找不到定义类型的字段,但匿名类型?
【发布时间】:2011-04-01 03:40:13
【问题描述】:

我正在使用 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;
}

然后在查询中使用(...select new DetailComplaint { //所有字段都和之前一样})

但是现在当我绑定数据时,GridView 会抛出一个异常,它找不到名为“Id”的字段或属性,该字段或属性在 DetailComplaint 中明确定义。

我该如何解决这个问题?谢谢

【问题讨论】:

    标签: c# .net linq entity-framework gridview


    【解决方案1】:

    您是否尝试过将这些设置为属性而不是字段?某些形式的绑定仅适用于属性并忽略字段。目前尚不清楚您使用的是哪个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; }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-03-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-05
      相关资源
      最近更新 更多