2017-01-20 5 views
0

私がチェックしてリピーターに最初のRadioButtonを設定しようとしている:リピーターのContainer.ItemIndexは常に0ですか?

<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になるはずです。

リピーターのDataSourceは3つの項目のリストです。私はコードビハインドを使用したくありません。つまり、マークアップのすべてを保持したいと考えています。

私には何が欠けていますか?

答えて

0

リピータがDataBoundのみになっていることを確認し、データソースがあなたの考えであることを確認してください。

問題は、Repeaterが3つのDataSourceで1回DataBoundではなく、1つのDataSourceで3回DataBoundであることでした。 :/

はい、リピーターがここでも使用された理由はわかりません。

+0

また、Repeater自体がDataBound DataListの内部にあり、そのItemIndexは必要な実際のItemIndexです。 _that_を取得するには、 '(Container.NamingContainer.NamingContainer as DataListItem).ItemIndex'を使用します。 –

関連する問題