Ich verwende die neueste RC2-Version von MVC3.
Ich habe ein Webgrid und es ist mir schreckliche Probleme, insbesondere mit dem Paging und Sortieren. Mir wurde gesagt, dass das Paging jetzt effizienter sein soll und nicht die ganze Tabelle zurückziehen soll, sondern nur die Zeilen, die für die gerade angezeigte Seite benötigt werden. Das funktioniert nicht so, wie ich gehofft hatte (sehr langsam), und so habe ich es auf die einfachste Form gebracht und den Profiler hochgefahren.
Ich habe dieses ActionResult:
public ActionResult TestGrid()
{
return View(ents.Decisions);
}
Und diese Ansicht:
@model IEnumerable<DecisionPanel.Web.Models.DataModel.Decision>
@{
ViewBag.Title = "TestGrid";
var usersGrid = new WebGrid(source: Model, rowsPerPage: 50);
}
<h2>TestGrid</h2>
@usersGrid.GetHtml(
tableStyle: "grid",
headerStyle: "header",
alternatingRowStyle: "alt",
rowStyle: "row",
columns: usersGrid.Columns(
usersGrid.Column("UserID", "User Id"),
usersGrid.Column("HasAgreed", "Has Agreed?"),
usersGrid.Column("Comment"),
usersGrid.Column("DateResponded", "Date of Response", format: @<text>@item.DateResponded.ToString("dd MMM yyy (HH:mm.ss)")</text>)
)
)
Das Aufrufen der Seite führt dazu, dass der Profiler dies ausführt - 11 Mal :
SELECT
[Extent1].[ID] AS [ID],
[Extent1].[UserID] AS [UserID],
[Extent1].[HasAgreed] AS [HasAgreed],
[Extent1].[Comment] AS [Comment],
[Extent1].[DateResponded] AS [DateResponded]
FROM [dbo].[DecisionResults] AS [Extent1]
Ich habe noch einige andere Probleme, aber wenn ich nicht einmal das hinbekomme, überlege ich, das Webgrid aufzugeben.
Ich weiß, dass es noch früh ist, da es erst seit einer Woche auf dem Markt ist, aber hat schon jemand die Paging-Funktion genutzt?