2017-07-12 14 views
0

mvcで並べ替えとページングのデモを検索しています。デモがうまくいきました。デフォルトのページサイズを5に指定しました。コードの一部: -mvcのドロップダウンリストを使用して

コントローラのアクション: -

public ActionResult Index(string searchBy,string search,int? Page,string sortBy) 
    { 

     ViewBag.SortNameParameter = string.IsNullOrEmpty(sortBy) ? "Name desc" : ""; 
     ViewBag.SortGenderParameter = sortBy == "Gender" ? "Gender desc" : "Gender"; 

     var employees = db.Employees.AsQueryable(); 

     if(searchBy == "Gender") 
     { 
      employees = employees.Where(x => x.EmpGender == search || search == null); 
     } 
     else 
     { 
      employees = employees.Where(x => x.EmpName.StartsWith(search) || search == null); 
     } 

     switch(sortBy) 
     { 
      case "Name desc": 
        employees = employees.OrderByDescending(x=>x.EmpName); 
        break; 

      case "Gender desc": 
        employees = employees.OrderByDescending(x=>x.EmpGender); 
        break; 

      //case "Gender ": 
      //employees = employees.OrderByDescending(x=>x.EmpGender); 
      //break; 

      default: 
      employees = employees.OrderByDescending(x=>x.EmpName); 
      break; 

     } 

     return View(employees.ToPagedList(Page ?? 1, 5)); 

    } 

、私は以下のようにビューで最後にpagedlistpagerを追加しました: - ちょうどDDとしてページサイズを送信

@Html.PagedListPager(Model, Page => Url.Action("Index", new { Page, searchBy = Request.QueryString["searchBy"], search = Request.QueryString["search"], sortBy = Request["sortBy"] }), 
new PagedListRenderOptions() { Display = PagedListDisplayMode.IfNeeded, DisplayPageCountAndCurrentLocation = true, DisplayItemSliceAndTotal = true }) 

答えて

0

こんにちはその非常に単純jqueryを使ったdd変更イベントの値。最後に、コントローラのアクションメソッドで、ToPagedList()メソッドへの着信パラメータを補完します。 EXのために

:この記事は参考になりますdropdownchangeイベントのために

public ActionResult Index(string searchBy,string search,int? Page,string sortBy,int ddpagesize) 
    { 

     ViewBag.SortNameParameter = string.IsNullOrEmpty(sortBy) ? "Name desc" : ""; 
     ViewBag.SortGenderParameter = sortBy == "Gender" ? "Gender desc" : "Gender"; 

     var employees = db.Employees.AsQueryable(); 

     if(searchBy == "Gender") 
     { 
      employees = employees.Where(x => x.EmpGender == search || search == null); 
     } 
     else 
     { 
      employees = employees.Where(x => x.EmpName.StartsWith(search) || search == null); 
     } 

     switch(sortBy) 
     { 
      case "Name desc": 
        employees = employees.OrderByDescending(x=>x.EmpName); 
        break; 

      case "Gender desc": 
        employees = employees.OrderByDescending(x=>x.EmpGender); 
        break; 

      //case "Gender ": 
      //employees = employees.OrderByDescending(x=>x.EmpGender); 
      //break; 

      default: 
      employees = employees.OrderByDescending(x=>x.EmpName); 
      break; 

     } 

     return View(employees.ToPagedList(Page ?? 1, ddpagesize)); 

    } 

http://www.c-sharpcorner.com/blogs/drop-down-list-selected-index-changed-event-in-mvc

おかげ

カルティク

+0

あなたがPlzをすることができますがようDD値としてページサイズを渡す方法を示してまあ? mvcの初心者私はそれを試したが結果を得ていない – learner1

関連する問題