所以我有两个列表视图;一个嵌套在另一个里面。
父对象绑定到包含MaxPrice,MinPrice和SuggestedProducts等字段的对象集合。
嵌套的一个绑定到父项的SuggestedProducts集合。
如何在嵌套列表视图中引用MaxPrice和MinPrice?它甚至可能吗?
如果您需要任何澄清,请给我留言,我会更新我的问题。
谢谢!
编辑:这是一个ASP.NET ListView
答案 0 :(得分:6)
我遇到了同样的问题,我找到了另一个我想分享的解决方案。
来自嵌套ItemDataBound
子项的ListView
事件,你可以从父母那里得到这样的引用:
ListViewDataItem CurrentParentItem = (ListViewDataItem)e.Item.Parent.Parent.Parent;
ParentObject parentObject = CurrentParentItem.DataItem as ParentObject
//Then you can access to parentObject.MaxPrice & parentObject.MinPrice
希望这可以帮助有同样问题的人
答案 1 :(得分:1)
如果您的SuggestedProduct类有一个返回其父类X的引用(因此您有一个双向数据模型:X has a collection of SuggestedProducts and SuggestedProduct has an object reference to X
),您可以提供像MinPrice { get {return parentX.MinPrice;} }
这样的SuggestedProduct属性(也许还可以设置) )然后在嵌套的ListView中使用Eval("MinPrice")
(也许还有Bind)。
就像一个想法,以防你的类模型的修改是一个真实而简单的选择。
答案 2 :(得分:1)
这是另一个黑客: http://bytes.com/topic/asp-net/answers/536803-finding-parent-control-value-nested-datalist-c
答案 3 :(得分:1)
如果您已在父级中设置了DataKeyNames,则可以像这样访问它
((ListView)Container.Parent.Parent.Parent.Parent).DataKeys[((ListViewDataItem)Container.Parent.Parent.Parent).DataItemIndex][0]
答案 4 :(得分:0)
行;我已经有了一个解决方案,但是如果有人能想出一个更好的解决方案,我会稍微公开一下。
基本上,我正在使用MinPrice和MaxPrice值并将它们转储到嵌套ListView之外的HiddenField中。
然后,在嵌套的内部,我正在向上钻取(Container.Parent),找到HiddenField,然后提取它的值。