Выпадающий список привязки к общему списку - PullRequest
1 голос
/ 16 марта 2012

Я бы хотел связать свой выпадающий список с общим списком.

Это кажется действительно простым, но я продолжаю получать ошибку DataBinding: 'InternalPurchasingForms.Types.Item' does not contain a property with the name 'itemID'.

Вот мой код для класса:

namespace InternalPurchasingForms.Types
{
  public class Item
  {
    public int itemID;
    public String name;
    //...
  }
}

Вот мой выпадающий код привязки данных:

    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        { 
        List<Item> allItems = DataAccessLayer.getAllItems();
        uxDropDownItemList.DataSource = allItems;
        uxDropDownItemList.DataValueField = "itemID";
        uxDropDownItemList.DataTextField = "name";
        uxDropDownItemList.DataBind();
        }
    }

Я хочу сообщить в раскрывающемся списке, что «значение» для каждой строки - это Item.itemID, а «текст» - это Item.Name, но ASP.NET говорит мне, что эти поля не существуют внутри Item. Я могу получить доступ к полям Предмета в другом месте.

Как мне сделать это правильно?

Ответы [ 2 ]

3 голосов
/ 16 марта 2012

Убедитесь, что вы используете метод получения и установки в своем классе Item для itemID и имени.

1 голос
/ 16 марта 2012

Я настраиваю свойства таким образом, и он работает нормально при связывании с выпадающим списком.

 private int _itemid= 0;
 private string _name = "";
 public string name
 {
   set { _name = value; }
   get { return _name ; }
 }
 public int itemID
 {
   set { _itemid= value; }
   get { return _itemid; }
 }
...