繁体   English   中英

使用通用类型&#39;PagedList.StaticPagedList <T> &#39;需要1个类型参数

[英]Using the generic type 'PagedList.StaticPagedList<T>' requires 1 type arguments

我正在使用Asp.net MVC处理用户角色。 我在“管理”部分上工作时陷入困境。 我在上面提到了一个问题,第二个问题是类似的,即使用通用类型'System.Collections.Generic.List'需要1个类型参数

这是我的代码。

public ActionResult Index(string searchStringUserNameOrEmail, string currentFilter, int? page)
        {
            try
            {
                int intPage = 1;
                int intPageSize = 5;
                int intTotalPageCount = 0;
                if (searchStringUserNameOrEmail != null)
                {
                    intPage = 1;
                }
                else
                {
                    if (currentFilter != null)
                    {
                        searchStringUserNameOrEmail = currentFilter;
                        intPage = page ?? 1;
                    }
                    else
                    {
                        searchStringUserNameOrEmail = "";
                        intPage = page ?? 1;
                    }
                }
                ViewBag.CurrentFilter = searchStringUserNameOrEmail;
                List col_UserDTO = new List();
                int intSkip = (intPage - 1) * intPageSize;
                intTotalPageCount = UserManager.Users
                    .Where(x => x.UserName.Contains(searchStringUserNameOrEmail))
                    .Count();
                var result = UserManager.Users
                    .Where(x => x.UserName.Contains(searchStringUserNameOrEmail))
                    .OrderBy(x => x.UserName)
                    .Skip(intSkip)
                    .Take(intPageSize)
                    .ToList();
                foreach (var item in result)
                {
                    ExpandedUserDTO objUserDTO = new ExpandedUserDTO();
                    objUserDTO.UserName = item.UserName;
                    objUserDTO.Email = item.Email;
                    objUserDTO.LockoutEndDateUtc = item.LockoutEndDateUtc;
                    col_UserDTO.Add(objUserDTO);
                }
                // Set the number of pages
// Error appears here
                var _UserDTOAsIPagedList =
                    new StaticPagedList
                    (
                        col_UserDTO, intPage, intPageSize, intTotalPageCount
                        );
                return View(_UserDTOAsIPagedList);
            }
            catch (Exception ex)
            {
                ModelState.AddModelError(string.Empty, "Error: " + ex);
                List col_UserDTO = new List(); // Error appears here
                return View(col_UserDTO.ToPagedList(1, 25));
            }
        }
        #endregion

`

StaticPagedList是通用的。 您需要提供集合的类型(对于col_UserDTO),在您的情况下为List

var _UserDTOAsIPagedList =
   new StaticPagedList<List<ExpandedUserDTO>>
      (
         col_UserDTO, intPage, intPageSize, intTotalPageCount
      );

请参阅http://www.programering.com/a/MTN2gDNwATM.html

您可能需要将List col_UserDTO引用更改为List<ExpandedUserDTO> col_UserDTO

改用这个

var _UserDTOAsIPagedList =
   new StaticPagedList<ExpandedUserDTO>
      (
        col_UserDTO, intPage, intPageSize, intTotalPageCount
      );

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM