Я использую последнюю версию RC2 MVC3.
У меня есть сетка, и она доставляет мне ужасные проблемы, особенно с разбивкой по страницам и сортировкой.
Мне сказали, что подкачка теперь должна быть более эффективной, и она не должна вытягивать всю таблицу, а только строки, необходимые для просматриваемой страницы. Это не сработало, как я надеялся (очень медленно), поэтому оно приняло его в простейшем виде и загрузило профилировщик.
У меня есть этот ActionResult:
public ActionResult TestGrid()
{
return View(ents.Decisions);
}
И этот вид:
@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>)
)
)
Попадание на страницу вызывает запуск этого профиля на профилировщике - 11 раз :
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]
У меня есть некоторые другие проблемы, но если я даже не могу заставить это работать, я рассматриваю отказ от веб-сетки.
Я знаю, что это были первые дни, когда он был меньше недели, но разве кто-нибудь еще испытывал радость от пейджинга?