2010-05-19 1 views
0

У меня есть раскрывающийся список, который получает данные через объекты сущности, но с навигацией. Но я получаю ошибку, пытаясь это сделать, может кто-нибудь мне помочь.
<asp:DropDownList ID="ddlVacancy" DataValueField="ID" DataTextField='<%# Eval("Position.Name") %>' runat="server" Width="200px"/> Использование Eval для привязки выпадающего списка

ответ

0

Вы можете создать свойство в вашем объекта сущности, как это:

 public string PositionName 
     { 
      get 
      { 
       return Position.Name; 
      } 
     } 

, а затем заменить Eval ("Position.Name") с Eval ("PositionName")

надеюсь, что это поможет

0

У меня была такая же проблема, и мне удалось создать простой элемент управления, который происходит из DropDownList. Я также внедрил EventDataBound Event, которое также может помочь.

public class RTIDropDownList : DropDownList 
{ 
    public delegate void ItemDataBoundDelegate(ListItem item, object dataRow); 
    [Description("ItemDataBound Event")] 
    public event ItemDataBoundDelegate ItemDataBound; 

    protected override void PerformDataBinding(IEnumerable dataSource) 
    { 
     if (dataSource != null) 
     { 
      if (!AppendDataBoundItems) 
       this.Items.Clear(); 

      IEnumerator e = dataSource.GetEnumerator(); 

      while (e.MoveNext()) 
      { 
       object row = e.Current; 

       var item = new ListItem(DataBinder.Eval(row, DataTextField, DataTextFormatString).ToString(), DataBinder.Eval(row, DataValueField).ToString()); 

       this.Items.Add(item); 

       if (ItemDataBound != null) // 
        ItemDataBound(item, row); 
      } 
     } 
    } 
}