This is a migrated thread and some comments may be shown as answers.

[Solved] RadGrid and System.OutOfMemoryException

1 Answer 572 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Jignesh
Top achievements
Rank 1
Jignesh asked on 26 Feb 2013, 05:33 PM
We are using Telerik ASP.Net AJAX RadGrid and it has 1500+ Records to display.
We are not providing Grid Pagination as customers do not want the Grid to have Pagination.
On Production Servers,we are getting the below mentioned error.
The below mentioned error is from Event Logs.

1) Exception Information
*********************************************
Exception Type: System.OutOfMemoryException
Message: Exception of type 'System.OutOfMemoryException' was thrown.
Data: System.Collections.ListDictionaryInternal
TargetSite: System.Web.UI.StateBag get_ViewState()
HelpLink: NULL
Source: System.Web

StackTrace Information
*********************************************
   at System.Web.UI.Control.get_ViewState()
   at System.Web.UI.WebControls.Label.set_Text(String value)
   at ASP.inventory_physicalinventorycapture_aspx.__DataBinding__control53(Object sender, EventArgs e)
   at System.Web.UI.Control.OnDataBinding(EventArgs e)
   at System.Web.UI.Control.DataBind(Boolean raiseOnDataBinding)
   at System.Web.UI.Control.DataBind()
   at System.Web.UI.Control.DataBindChildren()
   at System.Web.UI.Control.DataBind(Boolean raiseOnDataBinding)
   at System.Web.UI.Control.DataBind()
   at System.Web.UI.Control.DataBindChildren()
   at System.Web.UI.Control.DataBind(Boolean raiseOnDataBinding)
   at System.Web.UI.Control.DataBind()
   at Telerik.Web.UI.GridItem.SetupItem(Boolean dataBind, Object dataItem, GridColumn[] columns, ControlCollection rows)
   at Telerik.Web.UI.GridItemBuilder.InitializeItem(Int32 dataSourceIndex, String& nextItemHierarchicalIndex, Boolean& itemIsInEditMode)
   at Telerik.Web.UI.GridItemBuilder.CreateItems(GridGroupingContext group)
   at Telerik.Web.UI.GridItemBuilder.CreateGroupSubItems(GridGroupingContext group, GridEnumerableBase enumerable)
   at Telerik.Web.UI.GridItemBuilder.HandleGrouping(GridGroupingContext group, GridEnumerableBase enumerable, Boolean& isGroup, Boolean& isGroupFooter)
   at Telerik.Web.UI.GridItemBuilder.CreateItems(GridGroupingContext group)
   at Telerik.Web.UI.GridItemBuilder.CreateGroupSubItems(GridGroupingContext group, GridEnumerableBase enumerable)
   at Telerik.Web.UI.GridItemBuilder.HandleGrouping(GridGroupingContext group, GridEnumerableBase enumerable, Boolean& isGroup, Boolean& isGroupFooter)
   at Telerik.Web.UI.GridItemBuilder.CreateItems(GridGroupingContext group)
   at Telerik.Web.UI.GridTableView.CreateItems(IEnumerator enumerator, GridColumn[] columns, ControlCollection controls)
   at Telerik.Web.UI.GridTableView.CreateControlHierarchy(Boolean useDataSource)
   at Telerik.Web.UI.GridTableView.CreateChildControls(IEnumerable dataSource, Boolean useDataSource)
   at System.Web.UI.WebControls.CompositeDataBoundControl.PerformDataBinding(IEnumerable data)
   at System.Web.UI.WebControls.DataBoundControl.OnDataSourceViewSelectCallback(IEnumerable data)
   at System.Web.UI.DataSourceView.Select(DataSourceSelectArguments arguments, DataSourceViewSelectCallback callback)
   at System.Web.UI.WebControls.DataBoundControl.PerformSelect()
   at Telerik.Web.UI.GridTableView.PerformSelect()
   at System.Web.UI.WebControls.BaseDataBoundControl.DataBind()
   at Telerik.Web.UI.GridTableView.DataBind()
   at Telerik.Web.UI.RadGrid.DataBind()
   at ApplicationLayer.Webpages.PhysicalInventoryCapture.loadPage()
   at ApplicationLayer.Webpages.PhysicalInventoryCapture.saveIncompleteButton_Click(Object sender, EventArgs e)
   at System.Web.UI.WebControls.Button.OnClick(EventArgs e)
   at System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument)
   at System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument)
   at System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument)
   at System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData)
   at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

On our local environment,a grid with 758 records is generating ViewState size of 0.42 MB.
I am using the RadGrid.ViewStateSize Property to get the size of ViewState.

So,is this error due to large amount of Viewstate that is been generated?.
Shall I disable the Viewstate on the Grid and re-design the Grid?
Please can you provide me any pointers?

Regards
Jignesh




1 Answer, 1 is accepted

Sort by
0
Jayesh Goyani
Top achievements
Rank 2
answered on 26 Feb 2013, 07:25 PM
Hello,

To resolved this issue i suggest to you, Please Use Clientside Binding.
//OR
You can also disable View State but before that please read/check Optimizing ViewState usage Document  / ViewState Optimization Demo in Radgrid.

Thanks,
Jayesh Goyani
Tags
Grid
Asked by
Jignesh
Top achievements
Rank 1
Answers by
Jayesh Goyani
Top achievements
Rank 2
Share this question
or