2013-05-07 59 views
0

我很難試圖綁定DetailsView EditTemplateField中的一個屬性。這裏是我的數據結構:ASP.NET C# - 在另一個對象內的對象屬性上的數據綁定

Class1{ 
public int idClass { get; set; } 
public Class2 classObject { get; set; } 

} 

Class2 { 
public int idClass2 { get; set;} 
} 

Class1是與下拉列表關聯的ObjectDataSource DataObjectTypeName。 我想要一個下拉列表值綁定到idClass2這樣的:

Bind("classObject.idClass2"); 

回答

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)

0

是絕對有必要有idClass2在一個單獨的類?如果這是Class2中的唯一屬性,那麼爲什麼不將該屬性添加到Class1?

即使你

否則,我認爲你需要提取對象的Class2,然後綁定它像這樣

var _classObject = class1.classObject; 
Bind("_classObject.idClass2"); 
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。

0

當你創建一個對象classObject時,你還應該創建所有類的對象。通過這種方式,你可以訪問classObject.idClass2,如果你不做idClass2的對象,你會得到空例外。

相關問題