2009-09-09 4 views
1

Je suis le même problème que ce post mais le answer ne fonctionne pas .... Pas de surcharge pour la méthode « Pager » prend des arguments « 4 » Suis-je utiliser vieux MvcContrib ou la réponse est obsolète?Comment faire et le filtrage dans la pagination des applications MVC

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 changeant la clubid avec le menu déroulant de la valeur sélectionnée ne sont pas transmises aux pages suivantes Le lien suivant est Members/Index? Page = 2 et que je veux Membres/Index? = & page = 2

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

Aucune surcharge pour la méthode «Pager prend '4' arguments

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

Répondre

0

Je ne sais pas exactement ce que vous essayez de faire - peut-être pourriez-vous poster du code. Cela dit, les binaires MvcContrib disponibles à partir de CodePlex sont assez obsolètes. Plus précisément, il existe un modèle de grille et de téléavertissement grandement amélioré. Vous devriez prendre la dernière version de GitHub et créer votre propre copie.

+0

10X au début, je n'ai pas compris votre réponse (moi stupide ....) codeplex & 1.0.0.916 est obsolète .... voici la dernière http://github.com/mvccontrib/MvcContrib/arbre/maître – bogdanbrudiu

Questions connexes