Просмотреть файл, указанный ниже
@using PagedList;
@using PagedList.Mvc;
@model IPagedList<MVCDemo.Models.Employee>
<table>
<tr>
<th>
@Html.DisplayNameFor(model => model.First().Name)
</th>
<th>
@Html.DisplayNameFor(model => model.First().Gender)
</th>
<th>
@Html.DisplayNameFor(model => model.First().Email)
</th>
<th>Action</th>
</tr>
</table>
@Html.PagedListPager(Model, page => Url.Action("Index", new { page, searchBy = Request.QueryString["searchBy"], search = Request.QueryString["search"] }))
Метод действия контроллера Показывает здесь
public ActionResult Index(string searchBy, string search, int? page)
{
if (searchBy == "Gender")
{
return View(db.Employees.Where(x => x.Gender == search || search == null).ToList().ToPagedList(page ?? 1, 3));
}
else
{
return View(db.Employees.Where(x => x.Name.StartsWith(search) || search == null).ToList().ToPagedList(page ?? 1, 3));
}
}
Когда я использую код выше следующего кода ошибки
Дополнительная информация: попытка прозрачного метода безопасности "PagedList.Mvc.HtmlHelper.PagedListPager(System.Web.Mvc.HtmlHelper, PagedList.IPagedList, System.Func'2)" для доступа к критическому критическому типу "System.Web.Mvc.MvcHtmlString" не смогли.
Assembly 'PagedList.Mvc, Version = 3.18.0.0, Culture = neutral, PublicKeyToken = abbb863e9397c5e1' отмечен атрибутом AllowPartiallyTrustedCallersAttribute и использует модель прозрачности безопасности уровня 2. Прозрачность уровня 2 приводит к тому, что все методы в сборках AllowPartiallyTrustedCallers становятся прозрачными по умолчанию, что может быть причиной этого исключения.
Ожидание решения. Заранее спасибо.
Вы должны установить последнюю версию PagedList.Mvc версии 4.5.0, а если вы установили PagedList.MVC, то автоматически обновите версию PagedList версии 1.15 до версии 1.17.0. Попробуйте выполнить команду ниже.
PM> Install-Package PagedList.Mvc