subsonic 3.0.0.3 MVC2, как работает пейджинг Model.HasPreviousPage не работает
Привет, я хотел бы иметь хороший пейджинг для моего дозвукового проекта, я в порядке с кодом позади, однако я не могу найти какую-либо информацию о пейджинге со стороны просмотра вещей???
я пытался
Model.HasPreviousPage
но этого больше не существует, поэтому у меня нет идей о том, с чего начать, есть ли какое-то скрытое руководство по этому материалу где-то и activerecord, поскольку мне действительно не нравится приходить и спрашивать, и я предпочел бы что-то, что я мог бы прочитать и поиск, но для самых современных вещей.
все, что я нахожу, кажется, для старых версий MVC или для старых версий дозвуковой или, что еще хуже, сочетание обоих.
очень признателен
1 ответ
Хорошо, это то, что я сделал со своей собственной спиной, я был бы признателен за некоторые мнения, если это целесообразно и приемлемо, пожалуйста:
код позади (контроллер)
public ActionResult Index(int? page)
{
if (!validateInt(page.ToString()))
page = 0;
page = page - 1;
if (page < 0)
page = 0;
const int pagesize = 9;
IQueryable<material> myMaterial = material.All().Where(x => x.category == "Granite").OrderBy(x => x.id);
var mycount = material.All().Where(x => x.category == "Granite").OrderBy(x => x.id).Count();
ViewData["numpages"] = mycount / 9;
ViewData["curpage"] = page;
return View(new PagedList<material>(myMaterial, page ?? 0, pagesize));
}
HTML
showing page <%=Convert.ToInt32(ViewData["curpage"]) + 1 %> of <%=ViewData["numpages"] %><br />
<%
for (int i = 1; i <= Convert.ToInt32(ViewData["numpages"]); i++)
{
%>
<span><b><%= Html.ActionLink(i.ToString(),"Index","granite",new{page=i},null) %></b></span>
<%
}
%>
промежуток просто базовый, но если это хороший способ, то я просто украсить свои пролеты???
Я не могу получить это на странице, хотя, независимо от того, что я, кажется, получить те же 9 результатов, я немного запутался сейчас!!!
Спасибо