2012-10-22 45 views
0

我從控制器爲什麼我的動態viewdata沒有在我的分部視圖中列出?

public ActionResult Index(int? Page, string sortcol="ID", string sortorder="ASC", string firstname = "", string lastname = "", string emailaddress = "") 
{ 
    int TotalPages = 0; 

     var userlist = ur.GetUsersList(firstname, lastname, emailaddress, Page ?? 1, PageSize,out TotalPages, sortcol, sortorder); 

     ViewBag.PageIndex = 1; 

     ViewData["TotalPages"] = TotalPages.ToString(); 

     if (Request.IsAjaxRequest()) 
     { 
      return PartialView("ListUsers", userlist); 
     } 
     return View(userlist); 
    } 

在我父視圖傳遞的值:

@Html.Partial("ListUsers", Model, ViewData) 

在我子視圖(listusers):

@ViewData["TotalPages"] 

我不能得到的值Viewdata的總頁數。爲什麼這樣? 它總是返回零。

+0

你調試和verfied什麼是你GetUsersList方法返回的總頁數是什麼? – VJAI

+0

是的,我確實檢查過它是返回給我的TotalPages。 – Rusty

回答

2

在這種情況下不使用查看數據,您應該創建視圖模型:

var model = new UsersViewModel 
{ 
    Users = userList; 
    TotalPages =TotalPages.ToString(); 
} 

,並在年底:

return View(model); 

模型類:

public class UsersViewModel 
{ 
    public IEnumerable<User> Users{ get; set; } 
    public int TotalPages{ get; set; } 
} 

這是多少更優雅的解決方案

相關問題