结合ASP.NET动态数据外键显示的多个字段

时间:2010-09-30 18:43:40

标签: c# asp.net dynamic-data

我有两张桌子(人物和位置)

在动态数据网站中,添加位置信息时,我需要从下拉框中选择一个通过FK填充的人。该下拉框默认为“人物”中标题为“fname”的名字的字段,因此它看起来像“吉姆”或“史蒂夫”。

我正在尝试让该下拉框显示它引用的人的全名,该名称将组合字段fname和lname。

我会在字段模板中执行此操作吗?元数据?我有点坚持这个。

如果我查看FieldTemplate for ForeignKey_Edit,我会看到:

 protected void Page_Load(object sender, EventArgs e)
    {
        if (DropDownList1.Items.Count == 0)
        {
            if (Mode == DataBoundControlMode.Insert || !Column.IsRequired)
            {
                DropDownList1.Items.Add(new ListItem("[Not Set]", ""));
            }
            PopulateListControl(DropDownList1);
        }

        SetUpValidator(RequiredFieldValidator1);
        SetUpValidator(DynamicValidator1);
    }

似乎我应该能够创建类似于“PopulateListControl”的东西并使用它,但我不知道这个方法甚至存在于何处。

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

找到它。我需要覆盖我的类的ToString()方法以返回属性的组合。

[MetadataType(typeof(PersonMetaData))]
public partial class Person
{
    public override string ToString()
    {
        return lname.ToString() + ", " + fname.ToString();
    }

}