0

我已经从控制器传递了值

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)

在我的子视图(列表用户)中:

@ViewData["TotalPages"]

我无法获得 Viewdata totalpages 的值。为什么会这样?它总是返回零。

4

1 回答 1

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

这是更优雅的解决方案。

于 2012-10-22T11:33:38.017 回答