【问题标题】:Telerik RadGrid - what am I doing wrong?Telerik RadGrid - 我做错了什么?
【发布时间】:2013-05-02 04:31:28
【问题描述】:

所以当我使用自定义数据源时,我从 Telerik 的 RadGrid 中得到了这个异常,但我不知道我做错了什么。有什么线索吗?

“/”应用程序中的服务器错误。

Object reference not set to an instance of an object.

说明:

在执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。

异常详情:

System.NullReferenceException:对象引用未设置为实例 一个对象。

来源错误:

在执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪来识别有关异常起源和位置的信息。

堆栈跟踪:

[NullReferenceException: Object reference not set to an instance of an object.]

   Telerik.Web.UI.GridResolveEnumerable.GetCollectionItemType(Boolean noItemsInEnumerator, Type& collectionItemType, Object& collectionFirstObject) +101

   Telerik.Web.UI.GridResolveEnumerable.ParseProperties() +264

   Telerik.Web.UI.GridResolveEnumerable.Initialize() +29

   Telerik.Web.UI.GridResolveEnumerable.EnsureInitialized() +45

   Telerik.Web.UI.GridResolveEnumerable.get_DataTable() +36

   Telerik.Web.UI.GridEnumerableFromDataView..ctor(GridTableView owner, IEnumerable enumerable, Boolean CaseSensitive, Boolean autoGenerateColumns, GridColumnCollection presentColumns, String[] additionalField, Boolean retrieveAllFields, Boolean enableSplitHeaderText) +245

   Telerik.Web.UI.GridDataSourceHelper.CreateGridEnumerable(GridTableView owner, IEnumerable enumerable, Boolean caseSensitive, Boolean autoGenerateColumns, GridColumnCollection presentColumns, String[] additionalField, Boolean retrieveAllFields, Boolean enableSplitHeaderText) +172

   Telerik.Web.UI.GridDataSourceHelper.GetResolvedDataSource(GridTableView owner, Object dataSource, String dataMember, Boolean caseSensitive, Boolean autoGenerateColumns, GridColumnCollection presentColumns, String[] additionalField, Boolean retrieveAllFields, Boolean enableSplitHeaderText) +322

   Telerik.Web.UI.GridTableView.get_ResolvedDataSource() +257

   Telerik.Web.UI.GridTableView.CreateChildControls(IEnumerable dataSource, Boolean useDataSource) +480

   System.Web.UI.WebControls.CompositeDataBoundControl.PerformDataBinding(IEnumerable data) +67

   System.Web.UI.WebControls.DataBoundControl.OnDataSourceViewSelectCallback(IEnumerable data) +123

   System.Web.UI.DataSourceView.Select(DataSourceSelectArguments arguments, DataSourceViewSelectCallback callback) +33

   System.Web.UI.WebControls.DataBoundControl.PerformSelect() +138

   Telerik.Web.UI.GridTableView.PerformSelect() +38

   System.Web.UI.WebControls.BaseDataBoundControl.DataBind() +30

   Telerik.Web.UI.GridTableView.DataBind() +391

   Telerik.Web.UI.RadGrid.DataBind() +191

   Telerik.Web.UI.RadGrid.AutoDataBind(GridRebindReason rebindReason) +4251

   Telerik.Web.UI.RadGrid.OnLoad(EventArgs e) +201

   System.Web.UI.Control.LoadRecursive() +54

   System.Web.UI.Control.LoadRecursive() +145

   System.Web.UI.Control.LoadRecursive() +145

   System.Web.UI.Control.LoadRecursive() +145

   System.Web.UI.Control.LoadRecursive() +145

   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +772     

版本信息:Microsoft .NET Framework 版本:4.0.30319; ASP.NET 版本:4.0.30319.17929

【问题讨论】:

  • 这个异常真的很一般。您需要单步调试代码并逐行调试。请发布您的代码。

标签: c# asp.net vb.net telerik


【解决方案1】:

此错误是由于某种(可能是偶然的)递归而发生的。我建议如下:

  1. 在重绘代码中查找触发重绘的内容。
  2. 查看失败时的调用堆栈,看看它是从哪里进入这个无限递归的。

【讨论】:

  • (1) 我没有重绘任何东西,我只是使用标准的 RadGrid - 没什么特别的,但我使用的是自定义数据源。 (2) 在此堆栈跟踪中,您在哪里看到递归?
  • 事实证明你是对的。它不断地重新绑定数据源并调用“SelectCommand”方法。不知道我怎么能从堆栈跟踪中弄清楚这一点。谢谢!
猜你喜欢
  • 1970-01-01
  • 2011-06-01
  • 1970-01-01
  • 2021-04-14
  • 2021-04-19
  • 2017-03-13
  • 2017-01-18
  • 2013-06-24
  • 1970-01-01
相关资源
最近更新 更多