Asp.net 使用Eval绑定dropdownlist

Asp.net 使用Eval绑定dropdownlist,asp.net,drop-down-menu,eval,Asp.net,Drop Down Menu,Eval,我有一个dropdownlist,它通过实体对象获取数据,但带有导航。但是我尝试这样做时出错了,有人能帮我吗。 您可以在实体对象中创建如下属性: public string PositionName { get { return Position.Name; } } 然后将EvalPosition.Name替换为EvalPositionName 希望这

我有一个dropdownlist,它通过实体对象获取数据,但带有导航。但是我尝试这样做时出错了,有人能帮我吗。

您可以在实体对象中创建如下属性:

        public string PositionName
        {
           get
           {
               return Position.Name;
           }
        }
然后将EvalPosition.Name替换为EvalPositionName


希望这有帮助

我也有同样的问题,我设法创建了一个从DropDownList派生的简单控件。 我还实现了一个ItemDataBound事件,它也可以提供帮助

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