我已经从控制器传递了值
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 :(得分:2)
在这种情况下,不要使用View Data,您应该创建viewModel:
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; }
}
这是更优雅的解决方案。
答案 1 :(得分:0)
嘿,我认为此链接可以帮助您找到您真正想要的内容 When to use ViewBag, ViewData, or TempData in Mvc3