ASP.NET C# Web サイトを構築しています。作成したオブジェクトのリストにバインドするドロップダウン リストがあります。ドロップダウン リストをバインドするコードは次のようになります。
protected void PopulateDropdownWithObjects(DropDownList dropdownlist, List<myObject>() myObjects)
{
dropdownlist.DataValueField = "ID";
dropdownlist.DataTextField = "Name";
dropdownlist.DataSource = myObjects; // my code fails here
dropdownlist.DataBind();
}
ただし、メソッド内の 3 行目に到達すると、例外がスローされます。
DataBinding: 'myObject' does not contain a property with the name 'ID'.
ただし、デバッグ中に myObject.ID の値を明確に確認できます。イミディエイト ウィンドウでアクセスできます。パブリックであり、null ではありません。スペルは正しく、大文字と小文字を区別しています。
public class myObject
{
public int ID; // see? "ID" is right here!
public string Name;
public myObject(
int id,
string name
)
{
this.ID = id;
this.Name = name;
}
}
このエラーの原因となるものは他にありますか?