0

.netとmvc4の使い方を学んでいるところですが、問題があります。テーブルの最初の5行(または任意の数)のみを表示する方法がわかりません。これが、現在自分の情報をビューに送信している方法です。

public ActionResult ActiveCampaigns()
{
    var campaigns = db.ActiveCampaigns.ToList();
    return View(campaigns);
}

ありがとう :)

更新:迅速な対応に感謝します!とても簡単!

db.ActiveCampaigns.Take(5).ToList()

私は高低を検索しましたが、これを見つけることができませんでした。私のgoogle-fuはオフになっているはずです。再度、感謝します!

4

3 に答える 3

4

基本的なアプローチは

 var campaigns = db.ActiveCampaigns.Take(5).ToList();

ただし、コンテキストのタイプによってdbは、これが失敗する場合があります。また、すべてのIEnumrableから派生したインターフェイスで常に使用または許可されるSkip()とは限りません。Take()その場合はエラーを読んでください。通常、2つの方法で修正できます。

 var campaigns = db.ActiveCampaigns.ToList().Take(5);  // expensive with many Campaigns

または、便利な並べ替え基準がある場合:

 var campaigns = db.ActiveCampaigns.OrderByDescending(c => c.Date).Take(5).ToList();
于 2012-11-20T14:04:04.650 に答える
2

Enumerable.Take

public ActionResult ActiveCampaigns()
{
    var campaigns = db.ActiveCampaigns.Take(5).ToList();
    return View(campaigns);
}
于 2012-11-20T14:04:04.057 に答える
1

ページングに関心があると思います。その場合は、Skip()メソッドも使用する必要があります。

var campaigns = db.ActiveCampaigns.Skip(5).Take(5).ToList();

2ページ目になります。明らかに、数式を使用して、表示するページを処理する必要があります。

var campaigns = db.ActiveCampaigns.Skip((page-1) * 5).Take(5).ToList();
于 2012-11-20T14:12:46.043 に答える