1

私の ListView では、以下に示すように、aspx ページの if ステートメントで Container のプロパティを使用したいと考えています。しかし、「名前 'Container' は現在のコンテキストに存在しません」というエラーが表示されます。if ステートメントでコンテナを使用できませんか?

   <ItemTemplate>
        <tr>
          <td>
            <% if (EDIT_INDEX == (((ListViewItem)Container) as ListViewDataItem).DataItemIndex )
               {%>
            <span id="row<%#(((ListViewItem)Container) as ListViewDataItem).DataItemIndex %>"
Some Stuff
       </span>
<% } %>
4

1 に答える 1

8

Containerバインディング式でのみ使用できます。<%# .. %>三項演算子 ( ) と文字列連結を含むブロックを使用して?:、同じことを実現します。

私が使用した別の解決策は、プロパティがさまざまなブール式にバインドされているさまざまな<asp:Placeholder>コントロールにVisible要素を配置し、それらのプレースホルダー内にさまざまな表現を配置することです。何かのようなもの:

<ItemTemplate>
    <tr>
      <td>
   <asp:Placeholder runat="server" 
    Visible='<%# EDIT_INDEX == (((ListViewItem)Container) as ListViewDataItem).DataItemIndex %>'>
        <span id='row<%#(((ListViewItem)Container) as ListViewDataItem).DataItemIndex %>'>
            Some Stuff
        </span>
   </asp:Placeholder>
于 2009-06-08T12:45:35.367 に答える