問題がありますので、ご意見をお聞かせください。MultiViewを備えたコントロールがあり、各ビューはコントロールの出力に対して異なるレンダリングになり、約10の異なるビューになります。各ビュー内には、数行を繰り返すリピーターがあります。このリピーターはすべてのビューで同じです。MultiViewでは一度に1つのビューしか表示できないため、同じIDのリピーターがあります。 、したがって、10個のバインディングを作成し、まったく同じコードを含む10個のOnItemDataBoundイベントを作成する必要はありませんが、ASP.NETでは同じIDのリピーターを使用できません(この場合よりも賢いはずです) )。フレームワークのC#とv4を使用しています。
MultiViewコードは次のとおりです。
<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>
どうすればこの問題を解決できますか。リピーターに異なるIDを与えることを提案した場合に備えて、10個のリピーターバインディングを作成し、まったく同じコードで10個のOnItemDataBoundイベントを作成したくないことを忘れないでください。