[英]Bind a property to a custom control
我有一个正在使用的自定义控件库,并且我添加了一个名为DataCodeField
的属性,该属性与 DataTextField 的行为几乎相同,用于从DataTextField
继承的ComboBox
。
DummyData data1 = new DummyData(12, "Jon", 1);
DummyData data2 = new DummyData(15, "Bill", 2);
DummyData data3 = new DummyData(23, "Ted", 1);
var people = new List<DummyData>{data1, data2, data3};
ddlTest.DataSource = people;
ddlTest.DataTextField = "Name";
ddlTest.DataCodeField = "Age";
ddlTest.DataValueField = "Id";
ddlTest.DataBind();
var id = ddlTest.SelectedValue;
var index = ddlTest.SelectedIndex;
var name = ddlTest.SelectedItem;
var age = ??
当我将它绑定到新的DataCodeField
时,我需要找到人的年龄。 我知道我必须覆盖OnDataBinding
事件才能执行此操作,但我似乎无法找到从哪里开始。 任何帮助,将不胜感激。 我的最终目标是在 combobox 数据绑定后访问这样的年龄。
或者,有没有办法访问绑定的数据源,然后根据 selectedIndex 从 object 访问年龄?
如果将数据源保存在视图状态中,则可以使用访问所选年龄;
var age = People[ddlTest.SelectedIndex].Age;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.