我刚刚开始学习ASP.NET MVC并遵循ASP.NET MVC教程。
我正在使用Visual Studio Express 2013 RC for Web并认为这可能是我遇到问题的原因,因为分页教程是使用VS2012编写的。
一切都很好;但是当我向其中一个页面添加分页时,使用教程中添加PagedList.mvc的所有指令,一切都编译得很好;当我到达特定页面时,收到此错误消息:
Attempt by security transparent method
'PagedList.Mvc.HtmlHelper.PagedListPager(System.Web.Mvc.HtmlHelper, PagedList.IPagedList, System.Func
2)访问安全关键类型'System.Web.Mvc.MvcHtmlString' failed.
Assembly 'PagedList.Mvc, Version=4.3.0.0, Culture=neutral,
enter code here PublicKeyToken=abbb863e9397c5e1' is marked with the AllowPartiallyTrustedCallersAttribute, and uses the level 2 security transparency model. Level 2 transparency causes all methods in AllowPartiallyTrustedCallers assemblies to become security transparent by default, which may be the cause of this exception.
任何人都可以说明为什么会出现这种情况?非常感谢提前和再见...
答案 0 :(得分:5)
对我而言,页面在Html.ActionLink
助手上以同样的方式死亡:
尝试安全透明方法 ' Microsoft.Web.Mvc.LinkExtensions.ActionLink(System.Web.Mvc.HtmlHelper, System.Linq.Expressions.Expression
1<System.Action
1&gt;中 System.String,System.Object)&#39;访问安全关键类型 &#39; System.Web.Mvc.MvcHtmlString&#39;失败。
解决方案是执行以下操作:
Uninstall-Package Mvc4Futures
然后:
Install-Package Microsoft.AspNet.Mvc.Futures -Version 5.0.0
https://www.nuget.org/packages/Microsoft.AspNet.Mvc.Futures/5.0.0
答案 1 :(得分:1)
看起来这个问题是由MVC 5的具体细节引起的。
答案 2 :(得分:1)
我有同样的问题,然后我更新到PagedList.Mvc.4.5.0.0并且它的工作