User Id :    Password :      New Member   Forgot Password  
Maintaining Browser History for Ajax events through script manager in
Description Maintaining Browser History for Ajax events through script manager in   No. of Views     2483
  Rating     0
Author Jalpesh Vadgama   Posted On     15 Jun 2011
Tags ASP.NET,Ajax    

Sample Code   Download Code


In one of our project we have requirement of maintaining history of Ajax events. After doing some search on the web I have found one interesting capabilities of Script Manager control. I have found that there is one property called “EnableHistory” which will enable history for all the Ajax Event for which you have created the History Point. So Let’s first take a simple example with Ajax Tab and we are maintaining history of tab Navigation. To add the Ajax tab we first need the AjaxToolKit. So I have download the AjaxToolKit and Added Reference to my project like below.



Once I have done with adding reference I have written some HTML code to create Three tab and Also added a script manager like following which Enable history =”true” property and Navigate event. Like following.


<asp:ScriptManager ID="scriptManager" runat="server" EnableHistory="true" OnNavigate="scriptManager_Navigate">

    <asp:UpdatePanel ID="updatePanelTab" runat="server" ChildrenAsTriggers="true">
            <asp:TabContainer ID="ajxTab" runat="server" ActiveTabIndex="0" AutoPostBack="true"
                <asp:TabPanel ID="homTab" runat="server" HeaderText="home">
                <asp:TabPanel ID="aboutUsTab" runat="server" HeaderText="About us">
                          About Us
                <asp:TabPanel ID="contactUsTab" runat="server" HeaderText="Contact us">
                          Contact us


Here in the above Code I have created Three tabs Home,About us and Contact us and I have putted that in update panel and Also I have enabled “Autopostback” to true so whenever tab will be changed it will post back the page. So now let us do the server side part. Here I have written code in two events. First one is from the script manager navigate event which will fire when we navigate pages thorough browser history and another one is the ActiveTabChanged event which will fire when we change Tab. In Script manager navigate I have written code to select tab based on the state from navigate event. In ActiveTabchanged event I have written code to create navigation history point which will register that in browser history. Following is the code for that.


using System;
using System.Web.UI;

namespace WebApplication2
  public partial class _Default : System.Web.UI.Page
      protected void scriptManager_Navigate(object sender, HistoryEventArgs e)
          string state = e.State["historyPoint"];
          ajxTab.ActiveTabIndex = Convert.ToInt32(state);

      protected void ajxTab_ActiveTabChanged(object sender, EventArgs e)
         if(scriptManager.IsInAsyncPostBack && !scriptManager.IsNavigating)


So code is completed now lets run the application and Check it in browser. It will be loaded like below.



Now once you browse page with some tab you can see history is enabled in browser and you can go back and forward with browser navigations like following.



So that’s it. Isn’t that cool? Stay tuned for more.. Hope you liked it. Till that Happy programming.


About Author

About Author I am jalpesh vadgama an Microsoft MVP for Visual C# and BrainBench Certified ASP.NET Developer having more then 5 years of experience in .NET Technology.Please feel free to contact me for any queries via posting comments on my blog I will try to reply as early as possible. Please also visit my blog at Jalpesh Vadgama
No Photo
Country India
Company N/A
Home Page

Rate this article

Rating options from poor, fair, good, very good to excelent.  


Write your comment here.
Verification Code