PageListPaper Html助手抛出错误“安全关键类型'System.Web.Mvc.MvcHtmlString'失败”

时间:2015-04-02 05:31:56

标签: c# asp.net-mvc-4

查看下面列出的文件

     @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));
    }
}

当我使用上面的代码跟随错误抛出

  

其他信息:尝试使用安全透明方法   &#39; PagedList.Mvc.HtmlHelper.PagedListPager(System.Web.Mvc.HtmlHelper,   PagedList.IPagedList,System.Func`2)&#39;访问   安全关键类型&#39; System.Web.Mvc.MvcHtmlString&#39;失败。

     

Assembly&#39; PagedList.Mvc,Version = 3.18.0.0,Culture = neutral,   公钥= abbb863e9397c5e1&#39;标有   AllowPartiallyTrustedCallersAttribute,并使用2级安全性   透明度模型。 2级透明度导致所有方法   AllowPartiallyTrustedCallers程序集变得安全透明   默认情况下,这可能是此异常的原因。

期待解决方案。提前谢谢。

1 个答案:

答案 0 :(得分:0)

您必须安装最新的PagedList.Mvc版本4.5.0,如果您安装了PagedList.MVC,它会自动将您的PagedList版本1.15更新为1.17.0 尝试下方命令

PM> Install-Package PagedList.Mvc