Repeater的Container.ItemIndex总是0?

时间:2017-01-20 12:12:27

标签: asp.net data-binding repeater

我试图将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个项目的列表。我不想使用Code-Behind;即我想保留标记中的所有内容。

我错过了什么?

1 个答案:

答案 0 :(得分:0)

确保Repeater只有一次DataBound,并确保DataSource符合您的想象。

问题是,如果DataSource有三个项目,则Repeater不是DataBound,而是DataBound三次,DataSource为1项。 :/

是的,我不确定为什么甚至在这里使用了中继器。