0

2 つの手順でサーバーからデータを取得しています。

まず、テーブルからランダムに 25 レコードを取得し、そのレコードをユーザーに表示します。ボタンを追加しました。ユーザーがそのボタンをクリックすると、データベースから次の 25 レコードを表示する必要がありますが、これらのレコードに既に表示されている人が含まれていないことを確認する必要があります。C#でこれを行う方法

最初の25レコードを取得するコードは次のとおりです

var records = context.couponservice.Query().Take(25).ToList();

前もって感謝します 。

4

4 に答える 4

1

.Skip(pageSize * numberOfPages)の前に使用.Take(pageSize)して、表示したくないレコード/ページをスキップできます。

于 2013-02-06T12:03:51.457 に答える
1

どうですか

int position = 25; // Increase this for each page
var nextRecords = context.couponservice.Query().Skip(position).Take(25).ToList();
于 2013-02-06T12:04:42.967 に答える
0

これを試して

for(i=0;i<noOfPages;i++)
{
   var records = context.couponservice.Query().Skip(i * 25).Take(25).ToList();
}

これにより、毎回新しいレコードが得られます。

于 2013-02-06T12:07:01.960 に答える
0

すでに取得したアイテムを追跡します。たとえば、ID をリストなどに保存します。次に、ID がリストにないソースからアイテムのみを収集します。その結果から、ランダムに 25 個のアイテムを選択できます。

例えば:

//Your datasource
var source = new Dictionary<int, string>
{
    {1, "One"},
    {2, "Two"},
    {3, "Three"},
    {4, "Four"},
    {5, "Five"},
    {6, "Six"},
    {7, "Seven"},
    {8, "Eight"},
    {9, "Nine"},
    {10, "Ten"}
};

//The ID's of already fetched items
var taken = new List<int> { 2, 7, 3, 6 };

//Subset: all items that haven't been taken yet:
var temp = source.Where(s => taken.Contains(s.Key) == false);

「temp」からランダムな要素を選択し、それらのアイテムの ID をリスト「taken」に追加できます。

于 2013-02-06T12:40:51.463 に答える