3
可能重複:
Accessing parent data in nested repeater, in the HeaderTemplate如何獲取嵌套Repeater內的父數據源Eval()?
我有一個嵌套的中繼器是數據綁定...讓我們說頂層中繼器是一個OrderRow和內部中繼必將從LINEITEM我行D B。 ASPX是這樣的:
<asp:Repeater ID="rptOrder" runat="server">
<ItemTemplate>
<%# Eval("OrderID") %>:<br/>
<asp:Repeater ID="rptLineItems" runat="server">
<ItemTemplate>
<%# Eval("SomeColumn1"); %>
<%# Eval("SomeColumn2"); %>
<%# Eval("SomeColumn3"); %>
</ItemTemplate>
<FooterTemplate>
<asp:Button ID="btnAddLine" runat="server" CommandArgument=<%# ???? %> />
</FooterTemplate>
</asp:Repeater>
</ItemTemplate
</asp:Repeater>
現在在內部頁腳按鈕將被用於添加一個新的行項目......但命令參數需要從外中繼器將訂單,所以我們知道哪些爲了添加到。很明顯,常規的Eval()調用在這裏不起作用,因爲它將內部中繼器的DataRowView作爲源[實際上,它不會,因爲它在頁腳中]。我如何得到這個值?我將不得不在外部中繼器的ItemDataBound事件中動態設置它嗎?
謝謝。用一個全局變量完成與此非常類似的事情。只覺得有點哈克。 – Bryan
@Bryan它不hacky,只是看看這個控制是如何深入的,它是一個正常的保存最後一個變量,然後使用它。沒有什麼hacky。 – Aristos