我想将我的下拉列表绑定到通用列表。
看起来很简单,但我不断收到错误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,而“text”是Item.Name,但是ASP.NET告诉我这些字段在Item中不存在。我可以在其他地方访问Item的字段。
我该如何正确地做到这一点?
答案 0 :(得分:3)
确保在Item类中使用getter和setter作为itemID和name。
答案 1 :(得分:1)
我以这种方式设置属性,并且在使用下拉列表绑定时工作正常。
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; }
}