Repeater的Container.ItemIndex总是0?

Repeater's Container.ItemIndex always 0?

我正在尝试将 Repeater 中的第一个 RadioButton 设置为已选中:

<asp:RadioButton runat="server" GroupName="ApplicationOption"
    Checked="<%# new Func<bool>(() => { 
         System.Diagnostics.Debugger.Break(); 
         return !IsPostBack && Container.ItemIndex == 0; })() %>" />    

Debugger.Break 调用导致执行在调试模式下中断,因此我可以检查这些值。每次它中断时,Container.ItemIndex 都是 0,而我希望它是 0、1 或 2。

中继器的数据源是一个包含 3 个项目的列表。我不想使用代码隐藏;即我想将所有内容都保留在标记中。

我错过了什么?

确保 Repeater 只被 DataBound 一次,并确保 DataSource 是你认为的那样。

问题在于,Repeater 不是一次具有三项数据源的 DataBound,而是三次具有 1 项数据源的 DataBound。 :/

是的,我也不知道为什么要在这里使用 Repeater。