我正在尝试使用 formview 来插入一个新的实体对象(称为客户),客户引用了另一个名为 Address 的实体。如何在同一个表单视图中填写它们?
谢谢。
我正在尝试使用 formview 来插入一个新的实体对象(称为客户),客户引用了另一个名为 Address 的实体。如何在同一个表单视图中填写它们?
谢谢。
在仔细研究之后,似乎问题出在 EntityDataSourceView 的 ConvertProperties 方法中。使用反射器我发现问题出在这条线上:
PropertyDescriptor pd = propertyDescriptors.Find(str, false);
(此代码行采用插入的属性名称,并将其转换为描述符)
当 str = "Address.Address1" 函数返回 null。
我查看了 propertyDescriptors.properties,似乎 Address.Address1 不存在。只有 Address.ID 和 Address 存在。
我查看了 propertyDescriptors 的数量,似乎没有办法改变它。或者换句话说,似乎没有解决问题的办法。
真可惜。
其实是有解决办法的。将两个对象压平为一个。创建一个包含两个对象的所有字段的 CustomerViewModel 对象。然后在数据绑定时绑定到 CustomerViewModel。