C# 访问嵌套ListView中的父数据项

C# 访问嵌套ListView中的父数据项,c#,asp.net,data-binding,listview,nested,C#,Asp.net,Data Binding,Listview,Nested,所以我有两个列表视图;一个嵌套在另一个里面 父对象正绑定到包含诸如MaxPrice、MinPrice和SuggestedProducts等字段的对象集合 嵌套产品正绑定到父项的SuggestedProducts集合 如何在嵌套的listview中引用MaxPrice和MinPrice?有可能吗 如果您需要任何澄清,请给我留言,我会更新我的问题 谢谢 编辑:这是一个ASP.NET列表视图确定;我已经有了一个解决方案,但我会把这个问题暂时搁置,以防有人能想出一个更好的解决方案 基本上,我获取MinP

所以我有两个列表视图;一个嵌套在另一个里面

父对象正绑定到包含诸如MaxPrice、MinPrice和SuggestedProducts等字段的对象集合

嵌套产品正绑定到父项的SuggestedProducts集合

如何在嵌套的listview中引用MaxPrice和MinPrice?有可能吗

如果您需要任何澄清,请给我留言,我会更新我的问题

谢谢


编辑:这是一个ASP.NET列表视图

确定;我已经有了一个解决方案,但我会把这个问题暂时搁置,以防有人能想出一个更好的解决方案

基本上,我获取MinPrice和MaxPrice值,并将它们转储到嵌套ListView外部的HiddenField中


然后,在嵌套类中,我向上钻取(Container.Parent),找到HiddenField,然后提取其值。

如果您的SuggestedProduct类将有一个对其父类X的引用(所以你有一个双向数据模型:
X有一个SuggestedProducts集合,SuggestedProduct有一个对X的对象引用
)你可以给SuggestedProduct属性,比如
MinPrice{get{return parentX.MinPrice;}}
(也可以设置),然后使用
Eval(“MinPrice”)
(也可以绑定)在嵌套的ListView中

就像一个想法,以防修改您的类模型是一个真实而简单的选择。

这里有另一个技巧:

我刚刚遇到了同样的问题,我找到了另一个解决方案,希望与大家分享

从嵌套的子
ListView
上的
ItemDataBound
事件中,您可以通过执行以下操作从父级获取引用:

ListViewDataItem CurrentParentItem = (ListViewDataItem)e.Item.Parent.Parent.Parent;
ParentObject parentObject = CurrentParentItem.DataItem as ParentObject
//Then you can access to parentObject.MaxPrice & parentObject.MinPrice

希望这能帮助有同样问题的人

如果您在家长中设置了DataKeyName,那么您可以这样访问它

((ListView)Container.Parent.Parent.Parent.Parent).DataKeys[((ListViewDataItem)Container.Parent.Parent.Parent).DataItemIndex][0]

哪个
ListView
:ASP.NET、WinForms、WPF…?很好的观点,但实际的数据模型有点复杂。我实际上绑定到的是一个自定义对象,它是严格为数据绑定而创建的(即,我获取一整组其他信息,然后将其组装到要绑定的对象中)。不幸的是,我没有办法回到这一点上。我不确定投票被否决的原因,但这可能是最好的解决方案。我正在用中继器处理类似的问题,但同样的逻辑适用。我同意。我在寻找类似的解决方案,第一线帮助我找到了解决方案。我想有些人希望得到副本/paste和其他任何事情都是不可能的:PDE确实让我走上了正确的道路。(就我而言,
.parent
太多了。谢谢。(6年后……仍在使用WebForms)