我有一个radcombobox,我试图将选定的值绑定到我从数据库中的表中拉回来的数据。RadComboBox绑定选定的值
<telerik:RadComboBox ID="cboRole" runat="server" DataValueField="UserType.ID" DataTextField="UserType.Value" Text='<%# Bind("UserType") %>' DataSourceID="odsCertifications" >
</telerik:RadComboBox>
这里是我的数据
public partial class Certification
{
public Certification()
{
this.Courses = new HashSet<CertificationCourse>();
}
public int ID { get; set; }
public string Title { get; set; }
public string Description { get; set; }
public int Duration { get; set; }
public Nullable<System.DateTime> Expiration { get; set; }
public bool IsActive { get; set; }
public string CreatedBy { get; set; }
public System.DateTime CreatedOn { get; set; }
public string UpdatedBy { get; set; }
public Nullable<System.DateTime> UpdatedOn { get; set; }
public Nullable<int> UserTypeID { get; set; }
public virtual ICollection<CertificationCourse> Courses { get; set; }
public virtual SystemCode UserType { get; set; }
}
的UserType
具有的属性值和ID赖以我想绑定的DataTextFields
和DataValueFields
。但是,当我尝试以这种方式绑定时,我收到了JavaScript异常。 javascript消息如果省略,所以我无法完全看到确切的错误消息。
这里是铬JS调试器告诉我发生的事情:
Uncaught Sys.WebForms.PageRequestManagerServerErrorException:
Sys.WebForms.PageRequestManagerServerErrorException: Object of type
System.Data.Entity.DynamicProxies.Certification_D985D293565CB0BFD87FA8F8F44D70ACF4130D6E138A82D6E486544C53D7FE10 does ...<omitted>...y.
<asp:ObjectDataSource runat="server" ID="odsCertifications" SelectMethod="GetActiveCertifications" TypeName="SitefinityWebApp.Controllers.CertificationController"></asp:ObjectDataSource>
public List<Certification> GetActiveCertifications()
{
using (var db = new Entities())
{
try
{
return db.Certifications.Include("UserType").Where(x => x.IsActive == true).OrderBy(x => x.Title).ToList();
}
catch (Exception ex)
{
ExceptionManager.LogException(this, ex);
return null;
}
}
}