Como fazer paginação e filtragem em aplicações MVC
-
05-07-2019 - |
Pergunta
Estou tendo o mesmo problema que esta pós , mas o resposta faz não funciona.... Sem sobrecarga para o método 'Pager' leva '4' argumentos Estou usando MVCContrib velho ou a resposta é obsoleto?
meu código parecido com este: no controlador
public ActionResult Index(int? clubid,int? page)
{
List<aspnet_Users> memberList = new List<aspnet_Users>();
IEnumerable enumerable;
if (!clubid.HasValue)
{
enumerable = aspnet_Users.Find(User.Identity.Name).Club != null ? aspnet_Users.FindAllByClubId(aspnet_Users.Find(User.Identity.Name).Club.Id) : aspnet_Users.FindAll();
}
else
{
if (clubid == 0)
{
enumerable = aspnet_Users.FindAll();
}
else
{
enumerable = aspnet_Users.FindAllByClubId(clubid.Value);
}
}
ViewData["clubid"] = clubid;
foreach (aspnet_Users member in enumerable)
{
memberList.Add(member);
}
return View(memberList.AsPagination(page ?? 1, 10));
}
na vista ??p>
<h2>Index</h2>
<% using (Html.BeginForm()) {
ArrayList clubs=new ArrayList();
clubs.Add(new Club(0, "Toate"));
clubs.AddRange(Club.FindAll());
%>
<%= Html.DropDownList("ClubId", new SelectList(clubs, "Id", "Name", (Model == null ? 0 : aspnet_Users.Find(Page.User.Identity.Name).Club != null ? aspnet_Users.Find(Page.User.Identity.Name).Club.Id : 0)))%>
<input type="submit" value="Filtreaza" />
<% } %>
<table>
<tr>
<th>Action</th>
<th>
UserName
</th>
<th>
Club
</th>
.....
<%=Html.Encode(item.Male?"Male":"Female")%>
</td>
<td>
<%=Html.Encode(item.BirthDay.HasValue?item.BirthDay.Value.ToString(ConfigurationManager.AppSettings["DateFormat"], CultureInfo.InvariantCulture):"")%>
</td>
</tr>
<% }%>
</table> <%= Html.Pager(Model)%>
se eu filtrar o resultado alterando o ClubID com o pendente o valor selecionado não é passado para as próximas páginas ...
o próximo link página é Membros / Index? Page = 2 e quero Membros / Index? ClubID = 1 & page = 2
Eu tentei com <% = Html.Pager (ViewData.Model.PageSize, ViewData.Model.PageNumber, ViewData.Model.TotalItemCount, new {categoryname = ViewData [ "ClubID"]})%> mas eu recebo erros de compilação
Sem sobrecarga para o método 'Pager' leva '4' argumentos
Eu verifiquei e tenho a Bonfanti última versão og (1.0.0.916)
Solução
Não sei o que exatamente você está tentando fazer -. Talvez você poderia postar algum código
Dito isso, os binários MVCContrib disponíveis a partir CodePlex são bastante desatualizado. Especificamente, há um modelo de grade e paginação muito melhor. Você deve agarrar o mais tardar a partir GitHub e construir a sua própria cópia.