We have RadGrids on several pages which all work in the same way and all show the same problem.
They all have EnableHeaderContextFilterMenu set to true and they all only work every other time the users try to filter using this method. When other commands on the header centext menus are called the Page_Load and Page_Init are only called once, However when filtering these sections are called twice, with different values for Page.IsPostBack and RadAjaxManager1.IsAjaxRequest
Let me go through a sequence of events:
User Navigates to the Page
Page_Load gets called
Page.IsPostBack = False
RadAjaxManager1.IsAjaxRequest = False
So far this is exactly what I would expect
Now Lets try to filter the grid
Filter Request = qty Greater Than 2000
Page_Load
Page.IsPostBack = False
RadAjaxManager1.IsAjaxRequest = False
Page_Load
Page.IsPostBack = True
RadAjaxManager1.IsAjaxRequest = True
So the Grid is now filtered correctly but the AjaxLoadingPanel did not appear whilst it was working on the server side, and Page_Load is called twice.
So lets change the filter now to be Less than 2000 rather than Greater than.
Filter Request = qty Less Than 2000 - AjaxLoadingPanel is Activated
Page_Load
Page.IsPostBack = True
RadAjaxManager1.IsAjaxRequest = False
Page_Load
Page.IsPostBack = True
RadAjaxManager1.IsAjaxRequest = True
Notice the different value of IsPostBack the first time Page_Load is called now. This time theAjaxLoadingPanel is shown but the Page actually performs a full Postback and the contents of the grid are left as they were showing the values Greater than 2000.
Does anyone have a clue as to what might be causing this strange behaviour?
They all have EnableHeaderContextFilterMenu set to true and they all only work every other time the users try to filter using this method. When other commands on the header centext menus are called the Page_Load and Page_Init are only called once, However when filtering these sections are called twice, with different values for Page.IsPostBack and RadAjaxManager1.IsAjaxRequest
Let me go through a sequence of events:
User Navigates to the Page
Page_Load gets called
Page.IsPostBack = False
RadAjaxManager1.IsAjaxRequest = False
So far this is exactly what I would expect
Now Lets try to filter the grid
Filter Request = qty Greater Than 2000
Page_Load
Page.IsPostBack = False
RadAjaxManager1.IsAjaxRequest = False
Page_Load
Page.IsPostBack = True
RadAjaxManager1.IsAjaxRequest = True
So the Grid is now filtered correctly but the AjaxLoadingPanel did not appear whilst it was working on the server side, and Page_Load is called twice.
So lets change the filter now to be Less than 2000 rather than Greater than.
Filter Request = qty Less Than 2000 - AjaxLoadingPanel is Activated
Page_Load
Page.IsPostBack = True
RadAjaxManager1.IsAjaxRequest = False
Page_Load
Page.IsPostBack = True
RadAjaxManager1.IsAjaxRequest = True
Notice the different value of IsPostBack the first time Page_Load is called now. This time theAjaxLoadingPanel is shown but the Page actually performs a full Postback and the contents of the grid are left as they were showing the values Greater than 2000.
Does anyone have a clue as to what might be causing this strange behaviour?