0

私は私の質問に対する答えを見つけることができませんでしたが、私はあなたが私を助けることができると思います:)

ASP.NET Web サイトにリピーターがあり、最新の 3 つのエントリのみを表示したいと考えています。私はそれが可能であることを知っていますが、私はそれを機能させることができません.. :(

私のリピーターはこんな感じ

    <asp:Repeater ID="Repeater1" runat="server" DataSourceID="Sql_letter">
    <ItemTemplate>
        <p><%# Eval("Wishlist_Letter_FirstName") %> fra <%# Eval("Wishlist_Letter_City") %></p>

        <p>Har skrevet til Julemanden</p>

        <asp:TextBox ID="r" runat="server" Text='<%# Eval("Wishlist_Letter_Message")%>' TextMode="MultiLine" CssClass="txt_message" BackColor="Transparent" BorderWidth="0" BorderStyle="None" ReadOnly="True"></asp:TextBox>

        <br /> <br />
    </ItemTemplate>
</asp:Repeater>

そして私のSqlDataSource

<asp:SqlDataSource ID="Sql_letter" runat="server" 
     ConnectionString="<%$ ConnectionStrings:sqlconnection %>" 
     SelectCommand="SELECT * FROM [Wishlist_Letter]">
</asp:SqlDataSource>
4

2 に答える 2

5

選択コマンドを次のようなものに変更できませんでしたか

SELECT TOP 3 * FROM [Wishlist_Letter] ORDER BY EntryDate DESC

EntryDate上記のクエリで、上位 3 位に入るかどうかを示す決定的なフィールドはどこですか?

于 2012-12-20T08:38:53.713 に答える
3

は次のSelectCommandようなものでなければなりません

SELECT TOP 3 * FROM [Wishlist_Letter] ORDER BY [Timestamp] DESC

Timestampただし、テーブルにフィールドまたは同等のものを用意する必要があります。ms sql には、最新の 3 つのエントリを返すことを保証する自然な順序付けはありません。

あなたの場合、それはあるべきです

SELECT TOP 3 * FROM [Wishlist_Letter] ORDER BY [ID] DESC
于 2012-12-20T08:39:25.793 に答える