将应用程序从MVC3升级到MVC4后,telerik扩展网格抛出空引用错误

时间:2017-07-07 11:08:22

标签: asp.net-mvc asp.net-mvc-4 telerik-grid

我已将MVC3应用程序升级到MVC4应用程序并将目标框架更改为4.0。没有构建错误。但是在运行时,系统无法加载存在telerik扩展网格的页面。

我确实得到以下错误

  

GridBuilder中的索引超出范围异常

所以,我已将telerik扩展网格更改为kendo网格,但确实低于错误。

  

在   System.ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument   参数,ExceptionResource资源)at   System.Collections.ObjectModel.Collection 1.set_Item(Int32 index, T value) at System.Web.Mvc.ControllerContext.get_RequestContext()
at Kendo.Mvc.UI.NavigatableExtensions.GenerateUrl(INavigatable navigatable, ViewContext viewContext, IUrlGenerator urlGenerator)
at Kendo.Mvc.UI.Fluent.CrudOperationBuilderBase
1.SetUrl()at   Kendo.Mvc.UI.Fluent.CrudOperationBuilderBase 1.Action(String actionName, String controllerName, Object routeValues) at Kendo.Mvc.UI.Fluent.CrudOperationBuilderBase 1.Action(字符串   actionName,String controllerName)

1 个答案:

答案 0 :(得分:0)

ASP.Net MVC的Telerik扩展仅支持MVC版本1,2和3。

[http://docs.telerik.com/help/aspnet-mvc/getting-started-installation-instructions.html#Installing][1]

当您将遗留应用程序从MVC3升级到MVC4时,需要通过修改root web.config文件告诉编译器使用版本3编译第三方DLL(如telerik扩展)。

<dependentAssembly>
    <assemblyIdentity name="System.Web.Mvc" 
         publicKeyToken="31bf3856ad364e35" />
    <bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="4.0.0.0"/>
  </dependentAssembly>