We use cookies to give you the best experience on our website. If you continue to browse, then you agree to our privacy policy and cookie policy. Image for the cookie policy date

ViewStateMode

I am trying to enable ASP.NET ViewState maintenance for grid control but with no luck. No matter what i do, grid looses it's data after postback - on button click. I do not want to rebind grid after each postback.
Please help me how to maintain Grid ViewState.

ASPX

<asp:Button ID="cmd" runat="server" Text="test" OnClick="cmd_Click" />
<asp:Label ID="lbl" runat="server" />

<ej:Grid ID="gvList" runat="server" OnServerRecordClick="gvList_ServerRecordClick" SkinID="List" ViewStateMode="Enabled" AllowPaging="true">
<Columns>
<ej:Column HeaderText="Id" Field="id" IsPrimaryKey="True" TextAlign="Center" Width="50"></ej:Column>
<ej:Column HeaderText="Name" Field="name"></ej:Column>
<ej:Column HeaderText="Description" Field="description"></ej:Column>
</Columns>
</ej:Grid>

Code Behind

protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
BindList();
}

private void BindList()
{
gvList.DataSource = DAL.GetData();
gvList.DataBind();
}

protected void cmd_Click(object sender, EventArgs e)
{
lbl.Text = "grid viewstate test";
}

Regards, Egi


6 Replies

BM Balaji Marimuthu Syncfusion Team May 19, 2015 12:12 PM UTC

Hi Egi,

Thanks for using Syncfusion Products.

We have analyzed your reported issue and we suggest you to use the EnablePersistence property in the Grid. Please find the below code snippet.

<asp:Content runat="server" ID="BodyContent" ContentPlaceHolderID="MainContent">

<asp:Button ID="cmd" runat="server" Text="test" OnClick="cmd_Click" />

<asp:Label ID="lbl" runat="server" />


<ej:Grid ID="Grid" runat="server" AllowPaging="true" EnablePersistence="True">


. . . . . .


</ej:Grid>
</asp:Content>


If we set the EnablePersistence property as true, it will maintain the grid model state and no need to rebind the dataSource for each postback. Please refer the below code snippet.


protected void Page_Load(object sender, EventArgs e)

{

if (!IsPostBack)

BindList();

}




Please refer the sample for further details:
Sample119171.zip

Please let us know if you have any queries.

Regards,
Balaji Marimuthu


Egi Žaberl May 19, 2015 02:09 PM UTC

Hi Balaji,

thank you for your answer and attached sample. When i run this sample on my dev machine grid is not rebinded on button click grid says "No records to display". My dev machine is Win 7 Pro, VS 2013 Community + integrated IIS and different browsers (latest Chrome, IE 8, 11, latest FF).

What to do now?

This is source of postback page after button click:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>
Home Page
</title><link rel='nofollow' href="favicon.ico" rel="shortcut icon" type="image/x-icon" /><link rel='nofollow' href="Content/ej/ej.widgets.core.min.css" rel="stylesheet" /><link rel='nofollow' href="Content/ej/flat-lime/ej.theme.min.css" rel="stylesheet" />
<script src="Scripts/jquery-1.10.2.min.js"></script>
<script src="Scripts/jsviews.min.js"></script>
<script src="Scripts/jsrender.min.js"></script>
<script src="Scripts/jquery.easing-1.3.min.js"></script>
<script src="Scripts/jquery.globalize.min.js"></script>
<script src="Scripts/ej.web.all.min.js"></script>
<script src="Scripts/ej.webform.min.js"></script>
<script type="text/javascript">
ej.Grid.prototype._ignoreOnPersist.push("allowGrouping");
</script>
<meta name="viewport" content="width=device-width" /></head>
<body>
<form method="post" action="Default" onsubmit="javascript:return WebForm_OnSubmit();" id="ctl01">
<div class="aspNetHidden">
<input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="" />
<input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="" />
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="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" />
</div>
<script type="text/javascript">
//<![CDATA[
var theForm = document.forms['ctl01'];
if (!theForm) {
theForm = document.ctl01;
}
function __doPostBack(eventTarget, eventArgument) {
if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
theForm.__EVENTTARGET.value = eventTarget;
theForm.__EVENTARGUMENT.value = eventArgument;
theForm.submit();
}
}
//]]>
</script>
<script src="/WebResource.axd?d=pynGkmcFUV13He1Qd6_TZNPQHxEHNrAEszBnR0vjF1Whbh-qaMTLxu66SSlpvdReehkzmpoW3P_HTccJNF73LA2&amp;t=635634486620000000" type="text/javascript"></script>
<script src="Scripts/WebForms/MsAjax/MicrosoftAjax.js" type="text/javascript"></script>
<script type="text/javascript">
//<![CDATA[
if (typeof(Sys) === 'undefined') throw new Error('ASP.NET Ajax client-side framework failed to load.');
//]]>
</script>
<script src="Scripts/WebForms/MsAjax/MicrosoftAjaxWebForms.js" type="text/javascript"></script>
<script type="text/javascript">
//<![CDATA[
function WebForm_OnSubmit() {
typeof EJ_ClientSideOnPostBack == 'function' && EJ_ClientSideOnPostBack();
return true;
}
//]]>
</script>
<script type="text/javascript">
//<![CDATA[
Sys.WebForms.PageRequestManager._initialize('ctl00$ctl09', 'ctl01', [], [], [], 90, 'ctl00');
//]]>
</script>
<input type="submit" name="ctl00$MainContent$cmd" value="test" id="MainContent_cmd" />
<span id="MainContent_lbl">grid viewstate test</span>
<div id="MainContent_Grid"></div><span id="MainContent_Grid"></span>
<div class="aspNetHidden">
<input type="hidden" name="__VIEWSTATEGENERATOR" id="__VIEWSTATEGENERATOR" value="CA0B0334" />
<input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="sxQwiUv8DOEE3zc73MYwGEByK043JIOWoXVOmYBqxT2hx8c/hkMHTKIJ00RSoGmVDLi8NbBf7hFuesNO8nz9DD423zDvK3UZ7Qfb8wtJqFIHUhJR2/gwz7b04tdLQJht" />
</div>
<script type="text/javascript">
//<![CDATA[
$("#MainContent_Grid").ejGrid({allowPaging:true,query:{"queries":[],"_key":"","_fKey":"","_expands":[],"_sortedColumns":[],"_groupedColumns":[],"_subQuery":null,"_isChild":false,"_params":[]},exportToExcelAction:"ExportToExcel",exportToWordAction:"ExportToWord",exportToPdfAction:"ExportToPdf",cssClass:"",enablePersistence:true,columns:[{field:"EmployeeID",headerText:"Employee ID",textAlign:"right",isPrimaryKey:true,width:75,type:"number"},{field:"FirstName",headerText:"First Name",width:80,type:"string"},{field:"LastName",headerText:"Last Name",width:75,type:"string"},{field:"Number",headerText:"Age",textAlign:"right",width:75,type:"number"},{field:"Country",headerText:"Country",width:110,type:"string"}],pageSettings:{currentPage:0,locale:"en-US"},filterSettings:{filterType:"Excel",filterBarMode:"onenter"},scrollSettings:{width:"auto"},toolbarSettings:{showToolbar:true,toolbarItems:["add","edit","delete","update","cancel"]},editSettings:{allowEditing:true,allowAdding:true,allowDeleting:true,formPosition:"topRight"},"clientId":"MainContent_Grid","uniqueId":"ctl00$MainContent$Grid"});
//]]>
</script>
</form>
<!-- Visual Studio Browser Link -->
<script type="application/json" id="__browserLink_initializationData">
{"appName":"Chrome","requestId":"9db61fa6e76c4851a5106778f5bdea20"}
</script>
<script type="text/javascript" src="http://localhost:65025/75fc2db5f17f48aea4c02d97f4d770a3/browserLink" async="async"></script>
<!-- End Browser Link -->
</body>
</html>

Regards, Egi


BM Balaji Marimuthu Syncfusion Team May 20, 2015 01:20 PM UTC

Hi Egi,

We are sorry about the inconvenience caused.

We have missed to include the code, which is necessary for the requirement. So please include the below code snippet in your application.


<asp:Content runat="server" ID="BodyContent" ContentPlaceHolderID="MainContent">

<asp:Button ID="cmd" runat="server" Text="test" OnClick="cmd_Click" />

<asp:Label ID="lbl" runat="server" />


<ej:Grid ID="Grid" runat="server" AllowPaging="true" EnablePersistence="True">


. . . . . .


</ej:Grid>


<script type="text/javascript">

var index = $.inArray("dataSource", ej.Grid.prototype._ignoreOnPersist);

ej.Grid.prototype._ignoreOnPersist.splice(index, 1);

</script>
</asp:Content>


For your convenience, we have attached the sample in the following link:
Sample: Sample.zip

Please let us know if you have any queries.

Regards,
Balaji Marimuthu


Egi Žaberl May 21, 2015 07:00 AM UTC

Thank you! Now, grid is maintaining it's state on a button click.

Maybe it would be nice to include this sample in your on-line documentation. And also for other controls, not just grid.

Regards, Egi


Egi Žaberl May 21, 2015 07:41 AM UTC

After additional testing i have found out that grid is now maintaining it's state regardless changing data source. I have changed GetRecords method so it returns less data ( .. for (int i = 1; i < 5; i++) ..), added BindList() action to cmd_click, but on the page/grid there is no effect after click on a button. Grid still shows data and all it's selections from previous data source so grid is not rebinded. 
This persistence is not what ViewState supposed to be. Is there any other option that i have missed?

protected void Page_Load(object sender, EventArgs e)
{
   if (!IsPostBack)
      BindList();
}

private void BindList()
{
    Grid.DataSource = emp.GetRecords();
    Grid.DataBind();
}

protected void cmd_Click(object sender, EventArgs e)
{
    lbl.Text = "grid viewstate test";
    BindList();
}


BM Balaji Marimuthu Syncfusion Team May 22, 2015 04:45 PM UTC

Hi Egi,

Query:# This persistence is not what ViewState supposed to be. Is there any other option that i have missed?

We have considered this requirement “Need to support for ViewState to maintain dataSource in Grid” as a usability issue and a support incident has been created under your account to track the status of this requirement. Please log on to our support website to check for further updates.

https://www.syncfusion.com/account/login?ReturnUrl=/support/directtrac/incidents


Also, we suggest you to use the below workaround solution to achieve your requirement. Could you please find the below code snippet:

EmployeeDetails emp = new EmployeeDetails();


protected void Page_Load(object sender, EventArgs e)

{

if (!IsPostBack)

BindList();

}


private void BindList()

{

Grid.DataSource = emp.GetRecords();

Grid.DataBind();

}

private void BindList1()

{

Grid.DataSource = emp.GetRecords1();

Grid.DataBind();

}

protected void cmd_Click(object sender, EventArgs e)

{

lbl.Text = "grid viewstate test";

Grid.EnablePersistence = false;

BindList1();
}



If we disabled the enablepersistence property by setting as false, we can rebind the dataSource to Grid. So could you please try using the above method and for your convenience we have attached the sample:
Sample: Sample-119171.zip


Query:#2 Maybe it would be nice to include this sample in your on-line documentation. And also for other controls, not just grid.


Thanks for your suggestions. Please find the below response.


1. Mobile controls
We have logged an UG improvement task to update document for enablePersistence features of our Mobile Controls.
This will be completed and refreshed in online by our upcoming Essential Studio 2015 Volume 2 release which is expected to be roll out on June 26th, 2015.
2. Maps and tree map control
We have logged an UG task for enablePersistence features in Maps and tree map control. It will be available in our upcoming Volume 2 release.
3. Schedule
We have considered your requirement and have created the “ UG documentation task for the ViewState details ” with High priority and we will update it in our online location as soon as possible.
4. Chart
We have already created the task for documentation of viewstatemode. It will be available in our upcoming Volume 2 release.
5. Grid Control
We have logged the Documentation task for ViewState property to maintain datasource in Grid.


Please let us know if you have any queries.


Regards,

Balaji Marimuthu


Loader.
Live Chat Icon For mobile
Up arrow icon