2011-05-09 2 views
0

Nhibernate 객체에서 드롭 다운을 채우려고하지만 올바르게 작동하는 데 문제가 있습니다. 내가드롭 다운 데이터 소스로 NHibernate IList?

<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>(); 
    } 

사용하여 채울 ... 객체를 생성하고 다음

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

} 

를 사용하여 매핑 한, 나는

를 사용하여 내 드롭 다운을 채울
 IList<Status> status = _provider.GetStatuses(); 
     ddlStatus.DataSource = status; 
     ddlStatus.DataBind(); 

그러나 대신 상태의 내 클래스 이름
CM.Core.Status에게

을 배
CM.Core.Status
CM.Core.Status
CM.Core.Status의 정확한 수를 값으로 값과 텍스트를 채 웁니다

이 상황에서 IList가 잘못된 컬렉션 유형입니까? 나는 그것을 다른 무언가로 주조해야 하는가? databind 전에 클래스 속성에 액세스하는 방법이 있습니까?

답변

3

설정해야합니다.

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

당신은 당신은 데이터 텍스트 필드와 데이터 값 필드를 지정해야

ddl.DisplayMember = "StatusName"; 
ddl.ValueMemeber = "StatusId"; 
관련 문제