[英]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.