将属性绑定到自定义控件

本文关键字:自定义控件 绑定 属性 | 更新日期: 2023-09-27 18:30:43

>我正在使用一个自定义控件库,并且我添加了一个名为 DataCodeField 的属性,该属性的作用与从ComboBox继承的控件的DataTextField几乎相同。

    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事件才能执行此操作,但我似乎找不到从哪里开始。任何帮助将不胜感激。我的最终目标是在组合框数据绑定后访问这样的年龄。

或者,有没有办法访问绑定数据源,然后根据 selectedIndex 从该对象访问年龄?

将属性绑定到自定义控件

如果将

数据源保存在视图状态中,则可以使用以下方法访问所选年龄;

var age = People[ddlTest.SelectedIndex].Age;