2009-09-09 22 views
1

我有同样的问题,因为这postanswer不起作用.... 的方法,没有超载“寻呼机”需要“4”的论点我用老MVCContrib 难道或答案已弃用?怎么做分页和筛选在MVC应用程序

我的代码如下所示: 在控制器

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

     } 

鉴于

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

如果我筛选结果更改与下拉列表中clubid选择的值不会传递到下一个页面...

下一页的链接是会员/索引?页面= 2,我想成员/索引?clubid = 1 & page = 2

我试图与 <%= Html.Pager(ViewData.Model.PageSize,ViewData.Model.PageNumber,ViewData.Model.TotalItemCount,新的{类别名=计算机[ “clubid”]})%> 但我得到的编译错误

的方法,没有超载 '寻呼机' 需要 '4' 参数

我检查,我有最新的版本OG mvccontrib(1.0.0.916)

回答

0

不知道你到底想要做什么 - 也许你可以发布一些代码。

也就是说,CodePlex中提供的MvcContrib二进制文件相当过时。具体而言,网格和分页模型有很大的改进。你应该从GitHub获取最新版本并构建自己的副本。

+0

10X起初我并不理解你的答案(我愚蠢....)codeplex&1.0.0.916已过时.... 这里是最新的 http://github.com/mvccontrib/MvcContrib /树/主 – bogdanbrudiu 2009-09-10 16:09:18

相关问题