Wednesday, June 15, 2011

Important milestone achieved!!- I got 300000 visitors for my blog

I have been writing this blog since last four years and I am working on hard on this to server community which I love most as much as I can. Here I got great news from www.sitemeter.com that my blog has achieved 300000 mark.  I would like to take this opportunity to thanks all my readers who has supported me all time whenever I write blogs. I got some nice appreciations from people and that’s encourage me to write more blogs.

Followings are my statistics from the sitemeter.com. Till I was writing this blog post I got 304412 visits to my blog and 368759 page views from my blog. Following are screenshots of my statistics.

Vistors

Pageviews

Pageviews

Here is another one from blogger itself that is saying that I am getting 22500 page views last moth.

GooglePageview

When I get appreciation from you guys like this then its feels great. Once this occasion I would like to tell you that if you are having passion for any technologies then please do write blogs. Because you are not going to share it you are not going to gain more knowledge.

Shout it
Share:

Maintaining Browser History for Ajax events through script manager in asp.net

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.

Reference

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

<%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true"
 CodeBehind="Default.aspx.cs" Inherits="WebApplication2._Default" %>
 <%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %>
<asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent">
</asp:Content>
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
 <asp:ScriptManager id="scriptManager" runat="server" EnableHistory="true" OnNavigate="scriptManager_Navigate">
 </asp:ScriptManager>
 <asp:UpdatePanel ID="updatePanelTab" runat="server" ChildrenAsTriggers="true">
     <ContentTemplate>
         <asp:TabContainer ID="ajxTab" runat="server" ActiveTabIndex="0"  AutoPostBack="true" OnActiveTabChanged="ajxTab_ActiveTabChanged">
 <asp:TabPanel ID="homTab" runat="server" HeaderText="home" >
                     <ContentTemplate>
                         Home
                     </ContentTemplate>
 </asp:TabPanel>
  <asp:TabPanel ID="aboutUsTab" runat="server" HeaderText="About us" >
                     <ContentTemplate>
                         About Us
                     </ContentTemplate>
 </asp:TabPanel>
  <asp:TabPanel ID="contactUsTab" runat="server" HeaderText="Contact us" >
                     <ContentTemplate>
                         Contact us
                     </ContentTemplate>
 </asp:TabPanel>
 </asp:TabContainer>
     </ContentTemplate>
 </asp:UpdatePanel>

</asp:Content>

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)
        {
            scriptManager.AddHistoryPoint("historyPoint",ajxTab.ActiveTabIndex.ToString(),ajxTab.ActiveTab.HeaderText);
        }
     }
 }
}
So code is completed now lets run the application and Check it in browser. It will be loaded like below.
WithoutHistory

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.

AfterHistory

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

Shout it
kick it on DotNetKicks.com
Share:
Thursday, June 9, 2011

Finding Saturday,Sunday between date range in C#/ASP.NET

I know this post will sound basic to some of the people. But yesterday one of my reader asked me this question. So I decided to write this blog post . So lets first create a console application which will find the Saturday,Sunday between two dates just like following.

DateTimeConsoleApplication

Once you are ready with Console application. You need to write following code in that to find and print Saturday and Sunday between particular date range.

using System;

namespace DatimeApplication
{
   class Program
   {
       static void Main(string[] args)
       {
             DateTime startDate=new DateTime(2011,3,1);
             DateTime endDate = DateTime.Now;

             TimeSpan diff = endDate - startDate;
             int days = diff.Days;
             for (var i = 0; i <= days; i++)
             {
                 var testDate = startDate.AddDays(i);
                 switch (testDate.DayOfWeek)
                 {
                     case DayOfWeek.Saturday:
                     case DayOfWeek.Sunday:
                         Console.WriteLine(testDate.ToShortDateString());
                         break;
                 }
             }
           Console.ReadLine();
       }
   }
}
As you can see in above code I am finding Saturday and Sunday between 1st March 2011 and today. So I have taken two variables called startDate and endDate. After that I have got difference between them and then via for loop I am checking that day of week is Saturday or Sunday then I am printing that. Now lets run the application and lets check browser and Here you can see below output as expected.

Output

So as you can see it is very Easy. You can find any weekday that way. Hope you liked it. Stay tuned for more..

Shout it

kick it on DotNetKicks.com
Share:

Support this blog-Buy me a coffee

Buy me a coffeeBuy me a coffee
Search This Blog
Subscribe to my blog

  

My Mvp Profile
Follow us on facebook
Blog Archive
Total Pageviews