データベーステーブルの代わりにxmlファイルを読み込んで、この方法でページネーションを行っています
XDocument document = XDocument.Load(xmlFilePath);
var query = from r in document.Descendants("orders")
select new
{
OrderID = r.Element("OrderID").Value,
CustomerID = r.Element("CustomerID").Value,
EmployeeID = r.Element("EmployeeID").Value
};
query = query.OrderBy(sortColumn + " " + OrderDirection);
query = query.Skip(lowerPageBoundary - 1 * rowsPerPage).Take(rowsPerPage);
しかし問題は、 MSDNリンクlowerPageBoundary
から取得した別のクラスによるコントローラーの値ですhttps://msdn.microsoft.com/en-us/library/ms171624.aspx?f=255&MSPPError=-2147217396
私はMSDNが提供したのと同じコードに従っていますが、私のページネーションルーチンは以下のコードと互換性がなく、機能していません.
query = query.Skip(lowerPageBoundary - 1 * rowsPerPage).Take(rowsPerPage);
最初の時間lowerPageBoundary
は 0 なので、スキップの値は 0 で、テイクの値は 16 で、同じ行が 2 回目に実行されると、lowerPageBoundary
16-16=0になります。
だから、私がここで与えたMSDNリンクを見て、値を制御しているキャッシュクラスを見て、lowerPageBoundary
LINQスキップをカスタマイズしてMSDNコードシナリオを取る方法を提案してください。
ありがとう