我有一个问题,我需要你的意见。我有一个带有 MultiView 的控件,每个视图将是控件输出的不同渲染,大约有 10 个不同的视图。在每个视图中,我将有一个重复几行的中继器,这个中继器对于所有视图都是相同的,并且由于 MultiView 只允许在任何时候显示 1 个视图,我虽然有相同 ID 的中继器,所以我不必进行 10 个绑定并使用完全相同的代码创建 10 个 OnItemDataBound 事件,但是 ASP.NET 不允许我拥有具有相同 ID 的转发器(对于这种情况,它应该比那个更聪明)。我正在使用框架的 C# 和 v4。
这是多视图代码:
<asp:MultiView id="MultiView" runat="server">
<asp:View id="h400" runat="server">
<div class="latest_Wide">
<h3>Wide</h3>
<asp:Repeater id="rptLatest" runat="server" OnItemDataBound="rptLatest_OnItemDataBound">
<ItemTemplate>
<p>• <asp:Literal id="litPostTitle1" runat="server" /></p>
</ItemTemplate>
</asp:Repeater>
</div>
</asp:View>
<asp:View id="h200" runat="server">
<div class="latest_Narrow">
<h3>Narrow</h3>
<asp:Repeater id="rptLatest" runat="server" OnItemDataBound="rptLatest_OnItemDataBound">
<ItemTemplate>
<p>• <asp:Literal id="litPostTitle2" runat="server" /></p>
</ItemTemplate>
</asp:Repeater>
</div>
</asp:View>
...
</asp:MultiView>
我怎么解决这个问题。请记住,我不想使用完全相同的代码进行 10 个转发器绑定并拥有 10 个 OnItemDataBound 事件,因为您建议为转发器提供不同的 ID。