0

部分ビューに 2 つの結果のみを表示し、さらに結果がある場合は [さらに表示] リンクを表示したいと考えています。すべての結果を表示する私のクエリは次のとおりです。

[ChildActionOnly]
public ActionResult GetContacts(int id)
{
    var contacts = from c in db.CustomerContact
                   where c.CustomerID == id
                   orderby c.Surname
                   select c;

    return PartialView("_GetContacts", contacts);
}

結果の数をカウントするために、2 つのクエリが必要ですか?

jquery を使用して、div を展開してより多くの結果を表示したいと考えています。

誰かが私を正しい方向に向けることができれば、それはありがたいです.

4

2 に答える 2

1

クエリが通常返す要素の量に応じて、クエリを使用して2つの要素のみを取得し、別のクエリを使用して、ユーザーが要求したときに残りの要素を表示することをお勧めします。

すべての結果が常に読み込まれないようにするために、リンク上のサーバーへのAJAX呼び出しを使用して詳細を表示できます。

ただし、クエリが通常少数の要素を返す場合は、1つのクエリを使用してすべての要素を読み込み、[もっとリンクをクリックして表示]を使用して2つ以上の要素を表示できます。

于 2012-10-01T09:48:47.263 に答える
0

あなたはこれを行うことができます:

var contacts = ....
return contacts.OrderBy(c => c.curname)
    .Skip((CurrentPage - 1) * pageSize)
    .Take(pageSize);

ここpagesizeでパラメーターを指定する必要がありcurrentPage、最初の 2 つの項目については passpageSize = 2を指定currentPage = 1し、それ以上の項目 (一度に 2 つの項目) については現在のページ = 2 などを渡します。

于 2012-10-01T09:52:28.610 に答える