在 ViewModel Asp.net MVC 中使用 PagedList

问题描述

我的目的:在一页上显示来自不同表格的数据 问题:当我想在 viewmodel 中使用 Pagelist 时,我无法在视图端调用数据。也就是说,无法访问 Model.blog 或 Model.kullaniciYazi。

我也用过但失败了:@model PagedList.IPagedList https://www.unlusoynakliyat.com/

视图模型

public class viewmodel
{
    public PagedList.IPagedList<Blog>  blog { get; set; }
    public PagedList.IPagedList<KullaniciYazi> kullaniciYazi { get; set; }
}

控制器

public ActionResult arama(string p,int sayfa=1)
    {
        viewmodel vm = new viewmodel();
        var bul = from x in db.Blog where x.Durum==true select x;
        var bul2 = from x in db.KullaniciYazi where x.YaziDurum == true select x;
        
        if (!string.IsNullOrEmpty(p) && p!=null)
        {
            if (bul.Where(x => x.Baslik.Contains(p)) !=null || bul2.Where(x => x.YaziBaslik.Contains(p)) !=null)
            {
                vm.blog = bul.Where(x => x.Baslik.Contains(p)).ToList().ToPagedList(sayfa,5);
                vm.kullaniciYazi = bul2.Where(x => x.YaziBaslik.Contains(p)).ToList().ToPagedList(sayfa,5);
               
                if (vm.blog.Count!=0 || vm.kullaniciYazi.Count!=0)
                {
                    return View(vm);
                }
                else
                {
                    ViewBag.mesaj = "aradığınız bulunamamıştır!";
                    return View();
                }
                
                
            }
            else
            {
                ViewBag.mesaj = "aradığınız bulunamamıştır!";
                return View();
            }
            
        }
        else
        {
            ViewBag.mesaj = "aradığınız bulunamamıştır!";
            return View();

        }
    }

查看

@using PagedList
@using PagedList.Mvc
@model Proje.Models.Siniflar.viewmodel

 @{
   if (Model != null)
      {
         foreach (var x in Model.blog)
         {           
                <h2>@x.Baslik</h2>
                @Html.Raw(x.metin(0,200) + " ...")

         }



         foreach (var x in Model.kullaniciYazi)
         {
               @Html.Raw(x.aciklama(0,70) + " ...")
         }
      }

 }

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)