4

Repeater の SeparatorTemplate で Eval または同様の構文を使用することは可能ですか?

次のように、区切りテンプレートの最後の項目の情報を表示したいと思います。

<table>
    <asp:Repeater>
        <ItemTemplate>
            <tr>
                <td><%# Eval("DepartureDateTime") %></td>
                <td><%# Eval("ArrivalDateTime") %></td>
            </tr>
        </ItemTemplate>
        <SeparatorTemplate>
            <tr>
                <td colspan="2">Change planes in <%# Eval("ArrivalAirport") %></td>
            </tr>
        </SeparatorTemplate>
    <asp:Repeater>
<table>

次のようなものが生成されることを期待しています。

<table>
    <asp:Repeater>
            <tr>
                <td>2009/01/24 10:32:00</td>
                <td>2009/01/25 13:22:00</td>
            </tr>
            <tr>
                <td colspan="2">Change planes in London International Airport</td>
            </tr>
            <tr>
                <td>2009/01/25 17:10:00</td>
                <td>2009/01/25 22:42:00</td>
            </tr>
    <asp:Repeater>
<table>

しかし、 SeparatorTemplate は Eval() 呼び出しを無視しているようです。<%# DataBinder.Eval(Container.DataItem, "ArrivalAirport")%> のような以前の構文も使用してみましたが、結果は同じでした。

前のアイテムの情報を SeparatorTemplate に表示することはできますか? そうでない場合は、このコードを生成する別の方法を提案できますか?

ありがとう

4

2 に答える 2

0

ねえ、リピーターの最後のアイテムを識別する方法で解決して、そこでセパレーターを生成しないようにします。

<table>
    <asp:Repeater>
        <ItemTemplate>
            <tr>
                <td><%# Eval("DepartureDateTime") %></td>
                <td><%# Eval("ArrivalDateTime") %></td>
            </tr>
            <% if (<<<isn't the last item>>) { %>
            <tr>
                <td colspan="2">Change planes in <%# Eval("ArrivalAirport") %></td>
            </tr>
            <% } %>
        </ItemTemplate>
    <asp:Repeater>
<table>

ありがとう

于 2009-01-21T16:43:08.970 に答える