2014-12-27 53 views
0

我有一个Telerik RadScheduler的绑定错误,我需要帮助。错误是如何在Asp.Net中解决Telerik RadScheduler中的这个错误?

DataBinding: 'Calender.Model.RadSchedulerData' does not contain a property with the name 'ID'. 

我想知道是什么问题?我做了很多搜索,但我没有得到正确的答案。请任何人知道这个错误,请告诉我,谢谢。

protected void Page_Load(object sender, EventArgs e) 
{ 
     List<RadSchedulerData> lstrsd = new List<RadSchedulerData>(); 
     NewCalenderDBEntities1 Context = new NewCalenderDBEntities1(); 
     int UserID = int.Parse(Request.QueryString["UserID"]); 
     //int UserID = 1; 
     Session["UserID"] = UserID; 
     var Data = (from r in Context.Users 
        where r.ID == UserID 
        select new { AppointmentTbl = r.Appointments }).ToList(); 

     var D = (from r in Context.Appointments 
       where r.RoleId == 1 
        select new RadSchedulerData { Subject = r.Subject, StartDate = r.Start, EndDate = r.End }).ToList(); 
     lstrsd.AddRange(D); 
     foreach (var item in Data) 
     { 
      foreach (var i in item.AppointmentTbl) 
      { 

        var DD = Context.Appointments.Where(w => w.RoleId == 2 && w.ID == i.ID).Select(s => new RadSchedulerData 
        { 
         Subject = s.Subject, 
         StartDate = s.Start, 
         EndDate = s.End 
        }).ToList(); 
        lstrsd.AddRange(DD); 

        var AllSharedData = Context.Appointments.Where(w => w.RoleId == 3 && w.ID == i.ID).Select(s => new RadSchedulerData 
        { 
         Subject = s.Subject, 
         StartDate = s.Start, 
         EndDate = s.End 
        }).ToList(); 
        lstrsd.AddRange(AllSharedData); 



      } 
     } 



     RadScheduler1.EnableCustomAttributeEditing = true; 
     RadScheduler1.DataKeyField = "ID"; 
     RadScheduler1.DataSource = lstrsd; 
     RadScheduler1.DataBind(); 


    } 
+0

请任何人知道答案请回复在此先感谢 – 2014-12-27 19:15:14

回答

0

如果你仔细看了一遍错误消息,你可能会看到自己的问题:“ID“Calender.Model.RadSchedulerData”不包含与名称的属性:

数据绑定”。

它只是意味着控制正试图获取有关RadSchedulerData类物业ID的值,它不能找到它。这可能意味着它不存在或者它不公开。

控制正在努力读书,对类特定属性的原因是因为在代码示例中,RadSchedulerDataSource属性设置为一个List<RadSchedulerData>及其DataKeyField属性ID

要解决的绑定错误,你要么

  1. RadSchedulerData类创建(和填充)的ID财产
  2. 使ID财产公开在RadSchedulerData
  3. RadScheduler.DataKeyField不同存在的属性名称RadSchedulerData
  4. RadScheduler.DataSource属性更改为其他对象类型的列表,该对象类型具有ID财产。