Solving Calendar Extender Problem in Modal Popup Extender

September 13, 2010 3 comments

Calendar Extender control when placed inside modal popup extender will not be seen in front. To solve this issue, we have the following solution

<cc1:CalendarExtender ID="CalendarExtender1" TargetControlID="Textbox1"
 PopupPosition="Right" runat="server" <strong>OnClientShown="CalendarShown"></strong> </cc1:CalendarExtender>
function calendarShown(sender, args)
    { = 10005;

Truncate Strings At Complete Words without chopping words half way In C#,

August 30, 2010 1 comment

There is always a common need to display n number of characters of a string and then….
But it regular practice we lose the characters displaying incomplete word.
For Eg. This is an example of long string
Now what happens when we use substring(..), the result will be
This is an example o…
It left the word “of” incomplete, chopping off the words in half way. To avoid below are the solutions to it.

public static string TruncateWithoutChopping(this string strText, int intLength)
    if (strText == null || strText.Length < intLength)
        return strText;
    int intNextSpace = strText.LastIndexOf(" ", intLength);
    return string.Format("{0}...", strText.Substring(0, (intNextSpace > 0) ? intNextSpace: strText).Trim());

Another Extension method is as follows:

public static string TruncateWithoutChopping (this string strText, int intLength)
      throw new ArgumentNullException(s);
    var words = strText.Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
    var sbText = new StringBuilder();

    foreach (var word in words.Where(word => (sbText.ToString().Length + word.Length) <= intLength))
      sbText.Append(word + " ");
    return sbText.ToString().TrimEnd(' ') + "...";

Using Jquery From CDN – Google/Microsoft Host

August 23, 2010 Leave a comment

CDN (Content Delivery Network) serves Jquery libraries to your users directly from host may be Google or Microsoft. The reasons are pretty obvious, Decreased Latency, Increased parallelism, Better Caching. For this better avoid hosting your own copies of Jquery.

It can be used like this:

<script src=""></script>

Detailed Articles are as follows:

1)      Using Google CDN

2)      Using Microsoft CDN

3)      CDN and local copy both

Using Jquery Intellisense in Visual Studio

August 16, 2010 Leave a comment

1) Using Jquery Intellisense in Page

<script src=”” type=”text/javascript”&gt;

<script src=”” type=”text/javascript”&gt;

You can get the latest version from here:

2) Using Jquery Intellisense in External Javscript files

1)      Download Latest Jquery files and its related vsdoc file.

For ex:

Jquery Files:  jquery-1.3.2.js

Vsdoc File:  Jquery-1.3.2-vsdoc.js

2)   Include both files in your project directory

3)   Open your external javascript file in which you want intellisense

Drag the   Jquery-1.3.2-vsdoc.js file on the first line at top of external file.

It will be displayed as below:

/// <reference path=”jquery-1.3.2-vsdoc2.js” />

That’s it you can now use intellisense in that file. To test whether it is working or not you can type $( and you should be presented with documentation.

Note: jQuery and the documentation file need to be named the same with the exception that the documentation file end with -vsdoc.js

Using Jquery Tabs with

Age Calculation from Date of Birth Using Javascript/Jquery

August 2, 2010 3 comments

Many times we want to allow users to enter site only if they are of 18 years of age, or while registering we ask DOB and we need to calculate their age if they are eligible or not. Here is the javascript function to calculate age based on DOB.

Method 1:

<script type="text/javascript">
	function CalAge() {

    var now = new Date();
    var mm = document.getElementById('ddlmnths').value;
    var ddr = document.getElementById('ddldays');
    var dd = ddr.options[ddr.selectedIndex].value;
    var yy = document.getElementById('ddlyrs').value;
    bDay = dd + "/" + mm + "/" + yy;
    bD = bDay.split('/');
   	    if (bD.length == 3) {
        	   born = new Date(bD[2], bD[1] * 1 - 1, bD[0]);
                 years = Math.floor((now.getTime() - born.getTime()) / (365.25 * 24 * 60 * 60 * 1000));
        if (years < 18) {
            alert(“You are not eligible”);

        else if (years = 18 || years > 18) {

Method 2 :

<script type="text/javascript">

     function CalAge() {
     var dd = $("#ddldays").val();
     var mm = $("#ddlmnths").val();
     var yy = $("#ddlyrs").val();
     var age = 18;

     var mydate = new Date();
     mydate.setFullYear(yy, mm-1, dd);

     var currdate = new Date();
     currdate.setFullYear(currdate.getFullYear() - age);
     if ((currdate - mydate) < 0){
     alert(“You are not eligible”);

Introduction To Sub Sonic With (Data Access Layer)