2012-01-11 6 views
0

ローテータコントロールに条件付きでHTML divを追加します。私は、次のコードを使用していますが、それは私が間違っているところ私を導いてくださいDataBinder.Eval(Container.DataItem, "COL_ID")条件付きでdivを追加すると、現在のコンテキストに名前コンテナが存在しません

<telerik:RadRotator ID="rtrList" runat="server" Width="830px" Height="100px" 
       FrameDuration="10" RotatorType="ButtonsOver" ScrollDuration="450" WrapFrames="true" 
       ItemWidth="100" ItemHeight="80" > 
       <ItemTemplate> 
        <asp:HiddenField ID="hdfId" runat="server" Value='<%# Eval("COL_ID") %>' /> 

        <div id="div" runat="server" title='<%# Eval("NAME") %>' class="widget_item"> 

         <span> 
          <%# Eval("TITLE") %> 
         </span> 
        </div> 

       <%if (Convert.ToInt32(DataBinder.Eval(Container.DataItem, "COL_ID")) % 2 == 0) 

        {%> 

        <div></div> 

       <%} %>  

       </ItemTemplate> 


      </telerik:RadRotator> 

で「名前のコンテナが現在のコンテキスト内に存在しない」と言います。初めてDataBinder.Eval & Container.DataItemを使用しています。

よろしく、

カッシュ

答えて

0

エラーはこのデータ項目がコントロールにバインドされたアイテムに存在しないことを意味します。

たとえば、テーブルにバインドしていた場合、テーブルには "Col_ID"というカラムが必要です。そうしないと、エラーが発生します。

コントロールをデータソースにバインドするコードを追加できますか?

+0

。 rtrList.DataSource = list; デザイン時にエラーが発生します – Kash

+0

あなたのリストをどのように設定していますか? – OpenR

+0

listは、Databaseから読み込まれるDataTableです。 – Kash

0

利用代わり場合の構文:DataSourceプロパティを使用して結合

<%# (Convert.ToInt32(DataBinder.Eval(Container.DataItem, "COL_ID")) % 2 == 0) ? "<div></div>" : "" %> 
関連する問題