如何为许多中继器使用一个数据源

时间:2015-04-21 12:20:38

标签: c# vb.net vba

首先让我说在.NET开发方面我是一个新手。

我正在使用订单确认页面,许多不同的服务想要了解基本相同的信息;订单号,项目数,总价值等......

他们还希望我为每个订购的产品调用javascript函数或包含html标记。

我目前正在使用asp:Repeater工作正常。但是它们都使用相同的DataSource。令人沮丧的是,我不能这样做:

// in codebehind
rep_items.DataSource = CustomerOrder.Items
rep_items.DataBind()

然后在我所有不同的中继器上使用rep_items:

// .aspx page
<!-- Google Analytics -->
<asp:Repeater ID="rep_items" runat="server">
    <ItemTemplate>
        _gaq.push("<%=productID%>");
    </ItemTemplate>
</asp:Repeater>

<!-- Another Service -->
<asp:Repeater ID="rep_items" runat="server">
    <ItemTemplate>
        anotherService.trackOrder("<%=productID%>");
    </ItemTemplate>
</asp:Repeater>

我要做的是:

// Code behind

rep_googleAnalytics.DataSource = CustomerOrder.Items
rep_googleAnalytics.DataBind()
rep_AnotherService.DataSource = CustomerOrder.Items // Same datasource as above
rep_AnotherService.DataBind()
// As more services are added this gets longer

// .aspx page
<!-- Google Analytics -->
<asp:Repeater ID="rep_googleAnalytics" runat="server">
    <ItemTemplate>
        _gaq.push("<%=productID%>");
    </ItemTemplate>
</asp:Repeater>

<!-- Another Service -->
<asp:Repeater ID="rep_anotherService" runat="server">
    <ItemTemplate>
        anotherService.trackOrder("<%=productID%>");
    </ItemTemplate>
</asp:Repeater>

如您所见,我必须将相同的数据源绑定到不同的对象。我是否可以为需要相同数据的每项服务使用相同的数据源但不同?

0 个答案:

没有答案