繁体   English   中英

实施pagedlist MVC后,没有数据返回到视图页面

[英]No data returning back to view page after implementing pagedlist MVC

我正在根据登录的用户显示数据。在此应用程序中,我在数据库中添加了一些联系信息。 以前,我能够显示所有数据。 现在,问题是我在表中实现了PagedList,并且在返回数据时,我无法返回已登录用户的数据。所有联系人均已出现。 这是我的代码。

public ActionResult Index(ContactModel contact, string sortOrder, string CurrentSort, int? page)
    {
        var currentUserId = User.Identity.GetUserId();
        contact.UserId = currentUserId;

        int pageSize = 5;
        int pageIndex = 1;
        pageIndex = page.HasValue ? Convert.ToInt32(page) : 1;

        ViewBag.CurrentSort = sortOrder;

        sortOrder = String.IsNullOrEmpty(sortOrder) ? "ContactID" : sortOrder;

        IPagedList<ContactModel> cnt = null;
        switch (sortOrder)
        {
            case "ContactID":
                if (sortOrder.Equals(CurrentSort))
                    cnt = db.Contact.OrderByDescending
                            (m => m.ContactID).ToPagedList(pageIndex, pageSize);
                else
                    cnt = db.Contact.OrderBy
                            (m => m.ContactID).ToPagedList(pageIndex, pageSize);
                break;

            case "Contact_Name":
                if (sortOrder.Equals(CurrentSort))
                    cnt = db.Contact.OrderByDescending
                            (m => m.Name).ToPagedList(pageIndex, pageSize);
                else
                    cnt = db.Contact.OrderBy
                            (m => m.Name).ToPagedList(pageIndex, pageSize);
                break;

            case "Email":
                if (sortOrder.Equals(CurrentSort))
                    cnt = db.Contact.OrderByDescending
                            (m => m.Email).ToPagedList(pageIndex, pageSize);
                else
                    cnt = db.Contact.OrderBy
                            (m => m.Email).ToPagedList(pageIndex, pageSize);
                break;

            case "Default":
                cnt = db.Contact.OrderBy
                        (m => m.ContactID).ToPagedList(pageIndex, pageSize);
                break;
        }
        var contactData = db.Contact.Where(x => x.UserId == currentUserId);
        return View(cnt);

    }

如何获得使用PagedList登录的用户的数据? 帮助将不胜感激。

在您的代码中, cnt仅是有序列表,而where子句应用于contactData 您应该在cnt何处应用,并返回contactData 如下

var contactData = cnt.Where(x => x.UserId == currentUserId);
return View(contactData);

这应该可以解决您的问题。

暂无
暂无

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

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