我很难尝试在DetailsView EditTemplateField中绑定属性。这是我的数据结构:
Class1{
public int idClass { get; set; }
public Class2 classObject { get; set; }
}
Class2 {
public int idClass2 { get; set;}
}
Class1是与下拉列表关联的ObjectDataSource DataObjectTypeName。 我正在尝试将Dropdownlist Value绑定到idClass2,如下所示:
Bind("classObject.idClass2");
答案 0 :(得分:1)
你做不到。 AFAIK只能使用嵌套对象的Eval(单向绑定)。无论如何,你可以做的是用一个新属性修改第一个类:
Class1{
public int idClass { get; set; }
public Class2 classObject { get; set; }
public int idClass2 {
get { return classObject.idClass2; }
set { classObject.idClass2 = value; }
}
}
并绑定它:Bind(idClass2)
答案 1 :(得分:0)
是否必须将idClass2放在一个单独的类中?如果这是Class2中唯一的属性,为什么不将属性添加到Class1?
即使你
否则我认为你需要提取对象Class2然后像这样绑定它
var _classObject = class1.classObject;
Bind("_classObject.idClass2");
答案 2 :(得分:0)
你可以制作一个“普通”对象
Class1{
public Class2 class2 { get; set; }
public int Var { get; set; }
public int InnerVar { get { return class2.Var; } }
}
Class2{
public int Var { get; set; }
}
然后您可以使用Class1 InnerVar访问Class2中的Var。
答案 3 :(得分:0)
当您创建classObject
对象时,您还应该创建其中所有类的对象。通过这种方式,您可以访问classObject.idClass2
,如果您不使idClass2
成为对象,您将获得Null Exception。