2011-05-09 27 views
0

我試圖填充從Nhibernate對象下拉,但有問題得到它正常工作。我創建了對象,並使用以下NHibernate IList作爲下拉數據源?

public class Status 
{ 
    public virtual int StatusId { get; set; } 
    public virtual string StatusName { get; set; } 

} 

映射它...

<class name="CM.Core.Status, CM.Core" table="refStatus"> 
    <id name="StatusId" column="statusId" type="Int32"> 
    <generator class="native"></generator> 
    </id> 
<property name="StatusName" column="status" type="string"/> 
</class> 

我然後使用

public IList<Status> GetStatuses() 
    { 
     return _session.CreateQuery("select s from Status s") 
      .List<Status>(); 
    } 

最後填充它,我用填充

我的下拉
 IList<Status> status = _provider.GetStatuses(); 
     ddlStatus.DataSource = status; 
     ddlStatus.DataBind(); 

但是,它填充值和文本我的同班同學的名字,而不是狀態值的時間
CM.Core.Status
CM.Core.Status
CM.Core.Status正確的號碼
CM.Core.Status

IList是否在這種情況下使用了不正確的集合類型?我應該把它作爲不同的東西嗎?有沒有辦法在數據綁定之前訪問類屬性?

回答

3

你需要指定數據文本字段和數據值的字段。

ddlStatus.DataTextField = "StatusName"; 
    ddlStatus.DataValueField = "StatusId"; 
2

您需要設置

ddl.DisplayMember = "StatusName"; 
ddl.ValueMemeber = "StatusId";