首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在嵌套的Repeater中获取父数据源Eval()?

如何在嵌套的Repeater中获取父数据源Eval()?
EN

Stack Overflow用户
提问于 2011-10-04 22:53:59
回答 1查看 5.9K关注 0票数 2

可能重复:

Accessing parent data in nested repeater, in the HeaderTemplate

我有一个嵌套的中继器正在被数据库..。假设顶级中继器是一个OrderRow,内部中继器绑定到我的DB中的LineItem行。ASPX是这样的:

代码语言:javascript
运行
复制
<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>

现在,内部页脚上的按钮将用于添加一个新的行项.但是命令参数需要是来自外部中继器的OrderID,因此我们知道要添加到哪个顺序。显然,普通的Eval()调用在这里不能工作,因为它将内部中继器的DataRowView作为源,实际上不会,因为它在页脚中。我怎么得到这个价值?我必须在外部中继器的ItemDataBound事件中动态地设置这个值吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-10-05 01:16:37

由于调用是串行的,所以可以使用后面的代码保存最后一个订单id,然后使用它。

我的想法是。

代码语言:javascript
运行
复制
<asp:Repeater ID="rptOrder" runat="server">
    <ItemTemplate>
        <%#GetOrderID(Container.DataItem)%><br />
        <asp:Repeater ID="rptLineItems" runat="server">
            <ItemTemplate>
                <%# Eval("SomeColumn1"); %>
                <%# Eval("SomeColumn2"); %>
                <%# Eval("SomeColumn3"); %>
            </ItemTemplate>
            <FooterTemplate>
                <asp:Button ID="btnAddLine" runat="server" CommandArgument=<%=cLastOrderID%> />
            </FooterTemplate>
        </asp:Repeater>
    </ItemTemplate
</asp:Repeater>

随时待命

代码语言:javascript
运行
复制
public int cLastOrderID = -1;

protected string GetOrderID(object oItem)
{
  cLastOrderID = (int)DataBinder.Eval(oItem, "OrderID");

  return cLastOrderID.ToString();
}

这里我要做的是调用GetOrderID返回OrderID,并将其保存为全局值,然后在页脚中使用这个全局值。希望这能帮到你。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7654949

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档