簡體   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