Question

J'ai le même problème que celui-ci post mais la réponse fait pas travailler .... Pas de surcharge pour la méthode 'Pager' prend les arguments '4' Est-ce que j'utilise MVCContrib ou la réponse est obsolète?

mon code ressemble à ceci: dans le contrôleur

 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));

        }

en vue

 <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)%>

si je filtre le résultat en changeant le clubid avec la liste déroulante, la valeur sélectionnée n'est pas transmise aux pages suivantes ...

le lien de page suivant est Membres / Index? page = 2 et je veux Membres / Index? clubid = 1 & et; page = 2

j'ai essayé avec <% = Html.Pager (ViewData.Model.PageSize, ViewData.Model.PageNumber, ViewData.Model.TotalItemCount, new {categoryname = ViewData [" clubid "]})% > mais je reçois des erreurs de compilation

  

Pas de surcharge pour la méthode 'Pager'   '4' arguments

J'ai vérifié et j'ai la dernière version de og mvccontrib (1.0.0.916)

Était-ce utile?

La solution

Vous ne savez pas exactement ce que vous essayez de faire - vous pourriez peut-être poster du code.

Cela dit, les fichiers binaires MvcContrib disponibles auprès de CodePlex sont plutôt obsolètes. Plus précisément, il existe un modèle de grille et de pagination très amélioré. Vous devriez récupérer la dernière version de GitHub et créer votre propre copie.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top