我有一个填充了一些数据的 RadGrid。我有一个按钮,它将通过服务器端回调导出到 Excel。服务器端代码如下。以及下面的错误。有什么建议么?
RadGrid1.Rebind();
RadGrid1.ExportSettings.IgnorePaging = true;
RadGrid1.MasterTableView.ExportToExcel();
错误是:
查询结果不能多次枚举。说明:执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。
异常详细信息:System.InvalidOperationException:查询结果不能多次枚举。
源错误:
在执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪来识别有关异常起源和位置的信息。
堆栈跟踪:
[InvalidOperationException: 查询结果不能枚举多次。] System.Data.Linq.SqlClient.OneTimeEnumerable
1.GetEnumerator() +884205 System.Data.Linq.SqlClient.SingleResult
1.GetEnumerator() +76 System.Linq.Buffer1..ctor(IEnumerable
1 来源)+302 System.Linq.d__0.MoveNext() +164 System.Linq.WhereSelectEnumerableIterator`2.MoveNext() +163 Telerik.Web.UI.GridResolveEnumerable.GetCollectionItemType(Boolean noItemsInEnumerator, Type&collectionItemType, Object&collectionFirstObject) +330 Telerik.Web.UI.GridResolveEnumerable.ParseProperties() +120 Telerik.Web.UI.GridResolveEnumerable.Initialize() +16 Telerik.Web.UI.GridResolveEnumerable.EnsureInitialized() +28 Telerik.Web.UI.GridEnumerableFromDataView..ctor( GridTableView 所有者,IEnumerable 可枚举,Boolean CaseSensitive,Boolean autoGenerateColumns,GridColumnCollection presentColumns,String[] additionalField,Boolean retrieveAllFields)+242 Telerik.Web.UI.GridDataSourceHelper.CreateGridEnumerable(GridTableView 所有者,IEnumerable 可枚举,布尔 caseSensitive,Boolean autoGenerateColumns, GridColumnCollection presentColumns, String[] additionalField, Boolean retrieveAllFields) +223 Telerik.Web.UI.GridDataSourceHelper.GetResolvedDataSource(GridTableView owner, Object dataSource, String dataMember, Boolean caseSensitive, Boolean autoGenerateColumns, GridColumnCollection presentColumns, String[] additionalField, Boolean retrieveAllFields) +595 Telerik.Web.UI.GridTableView.get_ResolvedDataSource() +243 Telerik.Web.UI.GridTableView.CreateChildControls(IEnumerable dataSource, Boolean useDataSource) +42 System.Web.UI.WebControls.CompositeDataBoundControl.PerformDataBinding(IEnumerable data) +72 System.Web.UI.WebControls.DataBoundControl.OnDataSourceViewSelectCallback(IEnumerable 数据) +147 System.Web.UI.WebControls.DataBoundControl.PerformSelect() +261 Telerik.Web.UI。GridTableView.PerformSelect() +9 Telerik.Web.UI.GridTableView.DataBind() +363 Telerik.Web.UI.RadGrid.DataBind() +73 Telerik.Web.UI.RadGrid.AutoDataBind(GridRebindReason rebindReason) +2488 Telerik. Web.UI.RadGrid.RebindForExport() +119 Telerik.Web.UI.Grid.Export.TableViewExporter.PrepareForExport() +315 System.EventHandler.Invoke(Object sender, EventArgs e) +0 System.Web.UI.Control。 OnPreRender(EventArgs e)+11056782 System.Web.UI.Control.PreRenderRecursiveInternal()+108 System.Web.UI.Page.ProcessRequestMain(布尔includeStagesBeforeAsyncPoint,布尔includeStagesAfterAsyncPoint)+3394RadGrid.RebindForExport() +119 Telerik.Web.UI.Grid.Export.TableViewExporter.PrepareForExport() +315 System.EventHandler.Invoke(Object sender, EventArgs e) +0 System.Web.UI.Control.OnPreRender(EventArgs e ) +11056782 System.Web.UI.Control.PreRenderRecursiveInternal() +108 System.Web.UI.Page.ProcessRequestMain(布尔includeStagesBeforeAsyncPoint,布尔includeStagesAfterAsyncPoint)+3394RadGrid.RebindForExport() +119 Telerik.Web.UI.Grid.Export.TableViewExporter.PrepareForExport() +315 System.EventHandler.Invoke(Object sender, EventArgs e) +0 System.Web.UI.Control.OnPreRender(EventArgs e ) +11056782 System.Web.UI.Control.PreRenderRecursiveInternal() +108 System.Web.UI.Page.ProcessRequestMain(布尔includeStagesBeforeAsyncPoint,布尔includeStagesAfterAsyncPoint)+3394