AJAX History Points Lost When Returning To Previous Page?
Jan 14, 2010
I am attempting to retrofit a web application that had a rudimentary, yet mostly effective navigation infrastructure that, when properly utilized, allowed navigating forward and backward through AJAX states and other pages through the use of additional <asp:Button> objects labeled "Back" to perform special code for restoring previous states. There was an elaborate stack push and pop algorithm for this. The effect was very similar to what is described in Diagram 1 (AStatex refers to an AJAX related state of the page). The reason for this is so that it takes away the reliance on the contrived Back button and so that accidentally hitting the browser's back button or hitting the Backspace key won't cause a loss of state.
I'm using asp.net AJAX and history points with the ScriptManager and it works great. My only problem is that when I make non AJAX pages I have come to love url-rewriting with nice "hackable" urls. Without SecureHistoryState my url will look like for example [URL] where "/Home/Frontpage" is the page to show. I have seen on other web-pages with AJAX (maybe not asp.net) that the url will change into for example [URL] which is a lot nicer. Or if I could have[URL]I would be very happy. I don't need the history url to contain anything else than the page path. Is this at all possible with asp.net AJAX?
I have a website which contains several ajax enabled pages. I need to maintain state in each page. I have added historypoints in each page. My back button works fine as far as I am on single page. But when I visit different page and then click back button to come to original page, only the last history state for that page is loaded and all other seem to get wiped out. What I mean is, clicking back button again takes me to previous page instead of loading same page again from history point. Is there any way to maintain history points even when I visit different pages
I am trying to set history points for a form that posts to a second page. Both the first page and second page are content pages in a master page.The form is in an update panel and consists of several textboxes, one radiobutton group of two radiobuttons and one ajax calendar control. The last two textboxes are a zipcode box and a county box. The county box is populated from a database table when the user fills in the zipcode in a textbox and tabs out or clicks in the next textbox.
I wasn't sure where to post this type of question so here you go. The title says it all really I'm using the Microsoft.web.preview dll so that we can provide history support for the Ajax controls used in a .net 2.0 project. This works in IE6 but fails to function correctly in IE8 it appears to add additional history points when you attempt to navigate backwards through history.
Enter the page > Make a change using Ajax (add history point) > press back button you would expect to go back to initial page state but another two history points have been inserted between your initial page request and new your manually added history point. there is no where in the code that is adding these additional history points by accident. Remember it works perfectly under IE6. What are my options do I have to upgrade to 3.5 .net to make use of the history functionality built into the scriptmanager?
I am using a web service to pass back search results. To do this I am using ToolkitScriptManager with a ServiceReference to my web service and calling the web service up with javascript. The javascript call looks something like this:
If the request is successful the "OnSuccessGetData" function is fired and the results are inserted into a DIV tag. Because the resulting search results can be large I wrote the service to only pass back the first 20 results on the first trip. After that I make calls again to the service to return the next 5 results and continue to do this until all the results are loaded. This all works wonderful. You can see it in action at www.lsbio.com and use the search term "human mouse". My problem is that when the user clicks on a product and then hits the 'Back' button the search results have to be fetched again from the webservice.
Is there a way to keep the search results in the DIV tag to remain as part of the page so when the user navigates away from the search page and uses the 'Back' button to navigate back the search results are still there without having to hit the webservice again?
If I didn't make myself clear enough on what I am trying to do, go ahead and test the site www.lsbio.com, use the search terms human mouse, click on a product and then hit the back button.
Is there a way to return to the previous view without having to record all the parameters that were used to get to the view in question. Consider this situation. You have a search screen with input parameters, you press search and get results displayed on the page. You click on one item to get a detailed look which redirects you to a new view. Does MVC have the ability to get the previous query string that contains the search parameters?
How to maintain Accordian history and user navigates to next page and trys to comeback to same page (where the accordian is). Its not actually a different page, but I am using asp multi view and Accordian in a view.
I'm using a wizard control with 4 steps, when I use the previous button to navigate back to the previous step the page reloads but at the bottom of the page.Instead of showning the whole of the page, the user views the footer of the site and the previous button and next button.I'm sure there is a very simple answer to this but I just can't figure out how to get the page to reload to the top.
I'm trying to prevent a "flicker" effect that is occurring on my ASP.NET page which occurs when a user navigates to the page via the browser back button after having navigated away from it. The reason for the flicker is that I'm using an Update Panel which has some content in there on the initial page-load. As a result, when the page is loaded via a back button that initial content is shown very briefly before it is updated with the correct History-aware data.
In order to overcome this I am intending on having the updatepanel hidden (display: none) on inital page load and then show it as long as we don't have any history to deal with. The problem is that I can't find out what to check to determine if there's any history. I can see that the Sys.Application has a _history member but when I'm checking it on page init it is null each time.Does anyone know what I should be checking to determine if there's history to deal with for a page load client-side? And at what point to do it?
I am having problem while using onclick="javascript:history.back();" with Aspnet. In the first page i filled some data and click search button it show some results, i click on particular result for its details which navigate to the 2nd page but when i click on custom back button it refresh the page and all data set to initial values,when i use onclick="javascript:history.back();" I get nothing but the page displays "webpage has expired."
I am developing a web application in ASP.NET3.5 with C#. I also using Telerik RadAjax Control. When user click the menu then open the page with a new tab(Like web Browser).I want to create, when user back any previous tab(page) the will be show the previous data without loading 2nd time( like browser tab). Is it Possible ?
1. I have couple of checkboxes and some text fields outside the updatepanel.
2. Based on the checkbox selection, I will be hiding/showing the fields to user using javscript.
3. I have a upload control in the same page which is placed under the updatepanel. When I upload the file, I will be reading the content of the file and I'm trying to load it into the controls which are outside the updatepanel. As I know the controls won't updated until unless it has been added under the updatepanel.
4. I moved all the controls outside the udpatepanel (checkboxes and textboxes) and placed it inside the updatepanel so that when the file is uploaded I can read the file and assign to the controls.
After this, I was able to assign the values to the control. However, the problem is, the state of the page (javascript hide and show) has not been retained during the postback. For example, if i have 2 checkboxes and 2 textboxes, if i click firstone, it should show the first checkbox. If I click the second checkbox, it will show the second textbox. By default, when the fresh load happens, first textbox will be shown. When I click the second checkbox (its showing the second textbox) and do the postback by uploading the file, the state gets lost and when the page load completes, it's showing the first textbox instead of showing the second textbox.
In my aspx page, i am calling a .cs file for data access, which also have a try -catch block. and now if any exception comes i want to show the modal popup of previous page.
I was just typing on an old site of mine that requires the constant contact method that uses threading and an update panel to prevent users from being logged out since despite setting the timeout period in web.config to what mathematically should be millions of minutes people still seem to get logged out after like 5 minutes. I tried the web service method, but it was ineffective.
The constant contact with an update panel accomplishes its primary objective well, however when a user clicks on their keyboards back button at the wrong time they get redirected to the previous page and if they click the forward button in their browser the page contains none of their typed data.
Is there a way to override whatever causes the backspace button to do this?
Looking for the best technique on handling or at least some documentation showing an example.
Starting Page
Gridview control withing an update panel (also various controls used for filtering NOT IN UPDATE PANEL)
Databinding does not happen during page load.
Databinding is initiated when update panel trigger (asp:Button object) is clicked
Hyperlink column is added to returned records
Hyperlink posts to a separate page for detail for record which the hyperlink was clicked.
Second Page
While navigating via the browser back button to previous page (which contained the update panel and gridview) only the (various controls used for filtering) have retained state. The gridview is not shown (which is how the page loads initially when starting) How can I retain the state of the Gridview and add a step in the browser history all together?
<asp:Chart ID="ChartAlertes" runat="server" Width="500px"> <Titles> <asp:Title Text="Nombre d'alertes et leurs status en fonction des filtres renseignés" BorderColor="Black" Alignment="TopCenter"> </asp:Title> </Titles>
[code]...
I display 2 Points (2 columns) in the Chart Control and I change the color of the each Points with :
But sometimes, I have only 1 Point to display or nothing at all on the Chart. So I'd like to check If there are some Points before to put the color of each Point.
For example :
if (ChartAlertes.Series[0].Empty == false) { //... }
When we click our back button the page only returns to the previous state (un checking the check boxes one by one after each click). We would like it to go back to the previous page and remember the history of the page.
I have an aspx page that is getting an Object Expected javascript error on submit, but when you break into the error the breakpoint is somewhere in the middle of the __VIEWSTATE input html element.A javascript stack dump shows just "{anonymous}(null)".What does this mean and how does one go about debugging further?
Observing this strange behaviour in Firefox when a history point is added using ScriptManager. Firefox retains the history point in a URL even if Redirect the browser to a new URL.teps to recreate:1. Save the code below as an aspx page in a website and browse to it.2. Click on the "AddHistoryPoint" button. It just adds a history point to the browser URL. (#&&key1=value1 gets added to URL)3. Now click on "Redirect to Google" button. The browser redirects to [URL]) is retained in the URL bar.This happens only in FF (checked in v3.5 and v3.6) browser. This odd behaviour in FF causes lot ot trouble when redirecting to other pages in the same site that change their state based on the state info present in URL.
i have a master page that has a an accordion and inside the accordion is a cscading dropdownlist and then a button... Basically you select the values from the dropdowns and the click the button to change the content form from default.aspx to history.aspx. This works fine the first time I do it with the exception that cascadiing ddl all reset and then if i populate again and clcik the button again I get the following error(below)... I know I can set enableEventValidation = false, but wondered why this is occuring and what effect setting it to false would have? The second part of the question would be how do I maintain the ddl values when the page changes from default to History.sapx? I am using the following for the button.
<asp:Button ID="btnNewRecord" runat="server" Text="New" PostBackUrl ="~/History.aspx" /> Event validation is enabled using <pages enableEventValidation="true"/> in configuration or <%@ Page EnableEventValidation="true" %> in a page.
For security purposes, this feature verifies that arguments to postback or callback events originate from the server control that originally rendered them. If the data is valid and expected, use the ClientScriptManager.RegisterForEventValidation method in order to register the postback or callback data for validation.
I am using a web service to pass back search results. To do this I am using ToolkitScriptManager with a ServiceReference to my web service and calling the web service up with javascript. The javascript call looks something like this:WebService.GetResults("search term", OnSuccessGetData, OnFail);