C# 如何将一个数据源用于多个中继器

C# 如何将一个数据源用于多个中继器,c#,vb.net,vba,C#,Vb.net,Vba,首先,我要说的是,在.NET开发方面,我是一个新手 我正在使用一个订单确认页面,许多不同的服务都希望知道基本相同的信息;订单号、项目数量、总价值等 他们还希望我为订购的每个产品调用javascript函数或包含html标记 我目前正在使用asp:Repeaters做这件事,它工作得很好。但是,它们都使用相同的数据源。令人沮丧的是,我不能只做: // in codebehind rep_items.DataSource = CustomerOrder.Items rep_items.DataBin

首先,我要说的是,在.NET开发方面,我是一个新手

我正在使用一个订单确认页面,许多不同的服务都希望知道基本相同的信息;订单号、项目数量、总价值等

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

我目前正在使用asp:Repeaters做这件事,它工作得很好。但是,它们都使用相同的数据源。令人沮丧的是,我不能只做:

// in codebehind
rep_items.DataSource = CustomerOrder.Items
rep_items.DataBind()
然后在所有不同的中继器上使用rep_项:

// .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>
/.aspx页面
_gaq.push(“”);
另一项服务。trackOrder(“”);
我要做的是:

// 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>
//代码隐藏
rep_googleAnalytics.DataSource=CustomerOrder.Items
rep_googleAnalytics.DataBind()
rep_AnotherService.DataSource=CustomerOrder.Items//与上述数据源相同
rep_AnotherService.DataBind()
//随着更多的服务被添加,这会变得更长
//.aspx页
_gaq.push(“”);
另一项服务。trackOrder(“”);

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

什么是相同的数据源但为每个服务使用不同的数据源?没有得到你想要的东西这很难解释,但基本上,谷歌认证的商店想知道每一个购买的产品。我们的搜索软件也是如此,我们的电子邮件服务提供商也是如此,谷歌分析也是如此。所有这些服务都有不同的API,但它们都使用相同的数据源。我不想为每项服务都做
rep_googleAnalytics.DataSource=CustomerOrder.Items
。好的,您的所有服务都返回相同的响应,我是说与orderNumber相同的名称?基本上是的。他们都想知道购买产品的相同信息。我应该澄清我所说的“服务”是什么意思。这些通常是第三方Javascript API。我认为不可能。如果您可以创建一个函数并从该函数中分配转发器数据源,那么它将不会复制您的代码。