<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-2918706867610266523</id><updated>2011-11-28T04:55:17.359+05:30</updated><category term='C#'/><category term='ORACLE'/><category term='Development'/><category term='General'/><category term='WCF'/><category term='Agile'/><category term='CSS'/><category term='Javascript'/><category term='SilverLight'/><category term='Software Development'/><category term='IIS'/><category term='Design Patterns'/><category term='ASP.NET'/><category term='.NET'/><title type='text'>Benedict's Blog</title><subtitle type='html'>All about Microsoft Technologies.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://bennyindia.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2918706867610266523/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://bennyindia.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Benedict Alphonse</name><uri>http://www.blogger.com/profile/06273740826562598488</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_47TBi7XxXXY/Sg2nBmAKJKI/AAAAAAAABbw/a6YHZHKfCBE/S220/IMG_0125_Edited11.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>35</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2918706867610266523.post-508955581371750169</id><published>2010-04-27T12:28:00.000+05:30</published><updated>2010-04-27T12:28:20.435+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='General'/><title type='text'>Office OpenXML Standards</title><content type='html'>Generally we come across following issues when generating office documents at server :&lt;br /&gt;
&lt;br /&gt;
1.Creating and Reading MS Office XPS (.XLSX, DOCX) file formats by using Interop libraries at server end requires MS office client installed on server.&lt;br /&gt;
2.When creates office documents which will invoke corresponding executable process(winword.exe,excel.exe) for every request and executable process hangs on server memory until garbage collected properly.&lt;br /&gt;
3.Response time of our request to create files will take long time if more requests made at a time.&lt;br /&gt;
&lt;br /&gt;
The best way to overcome these problems (mentioned in Problem Statement) is using Office Open XML Standards to generate MS office files at server. Microsoft .NET Framework provides set of classes and wrappers around the System.IO.Packaging namespace which is in WindowsBase.dll to process the new Office Open XML file format. It extracts away the complexity of dealing with the individual XML components making it real easy to create sophisticated spreadsheets and documents on the server.&lt;br /&gt;
There are so many .NET helper libraries are available to generate Office files at server : &lt;br /&gt;
• DocX              (&lt;a href="http://docx.codeplex.com/"&gt;http://docx.codeplex.com/&lt;/a&gt;)&lt;br /&gt;
• ExcelPackage   (&lt;a href="http://excelpackage.codeplex.com/"&gt;http://excelpackage.codeplex.com/&lt;/a&gt;)&lt;br /&gt;
• EPPlus             (&lt;a href="http://epplus.codeplex.com/"&gt;http://epplus.codeplex.com/&lt;/a&gt;)&lt;br /&gt;
• Simple OOXML (&lt;a href="http://simpleooxml.codeplex.com/"&gt;http://simpleooxml.codeplex.com/&lt;/a&gt;)&lt;br /&gt;
&lt;br /&gt;
Among them we are using “EPPlus” which supports setting values and formulas, cell styling, auto filters, add drawings (charts, shapes and pictures) and more in excel (XLSX) format.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2918706867610266523-508955581371750169?l=bennyindia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bennyindia.blogspot.com/feeds/508955581371750169/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2918706867610266523&amp;postID=508955581371750169' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2918706867610266523/posts/default/508955581371750169'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2918706867610266523/posts/default/508955581371750169'/><link rel='alternate' type='text/html' href='http://bennyindia.blogspot.com/2010/04/office-openxml-standards.html' title='Office OpenXML Standards'/><author><name>Benedict Alphonse</name><uri>http://www.blogger.com/profile/06273740826562598488</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_47TBi7XxXXY/Sg2nBmAKJKI/AAAAAAAABbw/a6YHZHKfCBE/S220/IMG_0125_Edited11.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2918706867610266523.post-6660675634599063287</id><published>2009-12-07T17:53:00.004+05:30</published><updated>2009-12-07T17:59:33.373+05:30</updated><title type='text'>How to convert ORACLE XML String - CLOB as Valid XML and fetch values using XPATH</title><content type='html'>&lt;pre class="brush:sql"&gt;
  -- Create the test table with a CLOB column
  CREATE a table with name - "SampleXmlCLOB" along with following columns
  ID INTEGER PRIMARY KEY,
  Subject VARCHAR(256),
  XML_CLOB_STRING CLOB

Table created.
&lt;/pre&gt;
&lt;br&gt;
How to read value using XPATH :
&lt;br&gt;
&lt;pre class="brush:sql"&gt;
SELECT XmlType(SampleXmlCLOB .XML_CLOB_STRING).EXTRACT('//DATAMATRIX/FSDATAMATRIX[1]/FIELD1/text()').GETSTRINGVAL() FROM 
SampleXmlCLOB  WHERE SampleXmlCLOB .ID = 100
&lt;/pre&gt;
&lt;br&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2918706867610266523-6660675634599063287?l=bennyindia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bennyindia.blogspot.com/feeds/6660675634599063287/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2918706867610266523&amp;postID=6660675634599063287' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2918706867610266523/posts/default/6660675634599063287'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2918706867610266523/posts/default/6660675634599063287'/><link rel='alternate' type='text/html' href='http://bennyindia.blogspot.com/2009/12/how-to-convert-oracle-xml-string-clob.html' title='How to convert ORACLE XML String - CLOB as Valid XML and fetch values using XPATH'/><author><name>Benedict Alphonse</name><uri>http://www.blogger.com/profile/06273740826562598488</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_47TBi7XxXXY/Sg2nBmAKJKI/AAAAAAAABbw/a6YHZHKfCBE/S220/IMG_0125_Edited11.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2918706867610266523.post-301426435985049024</id><published>2009-12-07T17:10:00.010+05:30</published><updated>2009-12-07T17:30:24.503+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='CSS'/><title type='text'>Internet Explorer - CSS CONDITIONAL Comments</title><content type='html'>Microsoft implemented conditional comments in their browser, which allow you to link a stylesheet that will be interpreted by a browser alone.
&lt;br&gt;
&lt;pre class="brush:js"&gt;
&lt;!--[if IE]&gt;
   &lt;link href="ie_all_versions.css" rel="stylesheet" type="text/css" /&gt;
&lt;![endif]--&gt;

You can also target only a certain version of IE:

&lt;!--[if IE 6]&gt;
   &lt;link href="ie_6.css" rel="stylesheet" type="text/css" /&gt;
&lt;![endif]--&gt;

&lt;!--[if IE 8]&gt;
   &lt;link href="ie_8.css" rel="stylesheet" type="text/css" /&gt;
&lt;![endif]--&gt;

&lt;!--[if gte IE 5]&gt;
&lt;link href="ie__gte_5.css" rel="stylesheet" type="text/css" /&gt;
&lt;![endif]--&gt;

&lt;!--[if lt IE 6]&gt;
&lt;link href="ie__lt_5.css" rel="stylesheet" type="text/css" /&gt;
&lt;![endif]--&gt;

&lt;!--[if gt IE 7]&gt;
&lt;link href="ie__gt_7.css" rel="stylesheet" type="text/css" /&gt;
&lt;![endif]--&gt;

&lt;!--[if !(IE 8)]&gt;
&lt;p&gt;NOT IE 8&lt;/p&gt;
&lt;![endif]--&gt;

&lt;!--[if gte IE 7]&gt;
&lt;SCRIPT LANGUAGE="Javascript"&gt;
alert("Congratulations! You are running Internet Explorer 7 or greater.");
&lt;/SCRIPT&gt;
&lt;P&gt;Thank you for closing the message box.&lt;/P&gt;
&lt;![endif]--&gt;

&lt;/pre&gt;



&lt;br&gt;

While conditional comments are better, we can also target some versions of Internet Explorer using the following syntax:
&lt;pre class="brush:js"&gt;
.class {
  width:200px; /* All browsers */
  *width:250px; /* IE */
  _width:300px; /* IE6 */
  .width:200px; /* IE7 */
}
&lt;/pre&gt;
Since this technique is not W3C compliant,conditional comments is best option.

For more details please refer Microsoft official documentation - 
&lt;Br&gt;http://msdn.microsoft.com/en-us/library/ms537512%28VS.85%29.aspx&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2918706867610266523-301426435985049024?l=bennyindia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bennyindia.blogspot.com/feeds/301426435985049024/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2918706867610266523&amp;postID=301426435985049024' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2918706867610266523/posts/default/301426435985049024'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2918706867610266523/posts/default/301426435985049024'/><link rel='alternate' type='text/html' href='http://bennyindia.blogspot.com/2009/12/internet-explorer-conditional-comments.html' title='Internet Explorer - CSS CONDITIONAL Comments'/><author><name>Benedict Alphonse</name><uri>http://www.blogger.com/profile/06273740826562598488</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_47TBi7XxXXY/Sg2nBmAKJKI/AAAAAAAABbw/a6YHZHKfCBE/S220/IMG_0125_Edited11.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2918706867610266523.post-394048995373970058</id><published>2009-12-07T17:00:00.005+05:30</published><updated>2009-12-07T17:07:51.695+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='CSS'/><title type='text'>How to RESET Default CSS Styles set by browsers</title><content type='html'>Web browsers define different default styling for html elements, the first thing to do is to always include a CSS reset in your stylesheet. By using this code, you're already eliminating lots of future headaches.
&lt;br&gt;
&lt;pre class="brush:js"&gt;
html,body,div,ul,ol,li,dl,dt,dd,h1,h2,h3,h4,h5,h6,pre,form,p,blockquote,fieldset,input,hr {margin:0; padding:0;}
h1,h2,h3,h4,h5,h6,pre,code,address,caption,cite,code,em,strong,th {font-size:1em; font-weight:normal; font-style:normal;}
ul,ol {list-style:none;}
fieldset,img,hr {border:none;}
caption,th {text-align:left;}
table {border-collapse:collapse; border-spacing:0;}
td {vertical-align:top;}
&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2918706867610266523-394048995373970058?l=bennyindia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bennyindia.blogspot.com/feeds/394048995373970058/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2918706867610266523&amp;postID=394048995373970058' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2918706867610266523/posts/default/394048995373970058'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2918706867610266523/posts/default/394048995373970058'/><link rel='alternate' type='text/html' href='http://bennyindia.blogspot.com/2009/12/how-to-reset-default-css-styles-set-by.html' title='How to RESET Default CSS Styles set by browsers'/><author><name>Benedict Alphonse</name><uri>http://www.blogger.com/profile/06273740826562598488</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_47TBi7XxXXY/Sg2nBmAKJKI/AAAAAAAABbw/a6YHZHKfCBE/S220/IMG_0125_Edited11.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2918706867610266523.post-5837196936920047508</id><published>2009-12-01T14:55:00.005+05:30</published><updated>2009-12-02T10:17:56.865+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Development'/><title type='text'>ADD FILE HEADER OR CHANGE LOG TO FILES IN VISUAL STUDIO BY USING MACRO</title><content type='html'>&lt;b&gt;Adding the Macro:&lt;/b&gt;&lt;br&gt;

  1. Click “Tools” menu &lt;br&gt;
  2. Click “Macros” menu item&lt;br&gt;
  3. Click “Macros IDE…” menu choice&lt;br&gt;
  4. Right click on “My Macros”&lt;br&gt;
  5. Click “Add” menu item&lt;br&gt;
  6. Choose “Add Module…” (a module is a VB term for a static C# class with all  static members)&lt;br&gt;
  7. Enter the name of “FileHeader” (or whatever you want to name your module)&lt;br&gt;
  8. Paste the code below and update any variables to match your organization or name&lt;br&gt;

&lt;pre class="brush: csharp"&gt;
Imports System
Imports EnvDTE
Imports EnvDTE80
Imports EnvDTE90
Imports System.Diagnostics

Public Module FileHeader

    Sub FileHeader()
        Dim doc As Document
        Dim docName As String
        Dim companyName As String = "My Company"
        Dim authorName As String = "Benedict Alphonse"
        Dim copyrightText As String = "© 2009 My Company. All rights reserved"
        Dim Email As String = "benedictkmu@gmail.com"
        Dim Summary As String

        ' Get the name of this object from the file name
        doc = DTE.ActiveDocument

        ' Get the name of the current document
        docName = doc.Name

        ' Set selection to top of document
        DTE.ActiveDocument.Selection.StartOfDocument()
        DTE.ActiveDocument.Selection.NewLine()

        ' Write first line
        DTE.ActiveDocument.Selection.LineUp()
        DTE.ActiveDocument.Selection.Text = "#region File Header"
        DTE.ActiveDocument.Selection.NewLine()
        DTE.ActiveDocument.Selection.Text = "// ******************************************************************************************************************"
        DTE.ActiveDocument.Selection.NewLine()

        ' Write copyright tag
        DTE.ActiveDocument.Selection.Text = "// &lt;copyright file=""" + docName + """ company=""" + companyName + """&gt;"
        DTE.ActiveDocument.Selection.NewLine()
        DTE.ActiveDocument.Selection.Text = "//     " + copyrightText
        DTE.ActiveDocument.Selection.NewLine()
        DTE.ActiveDocument.Selection.Text = "// &lt;/copyright&gt;"

        ' Write author name tag (optional)
        DTE.ActiveDocument.Selection.NewLine()
        DTE.ActiveDocument.Selection.Text = "// &lt;author&gt;" + authorName + "&lt;/author&gt;"
        DTE.ActiveDocument.Selection.NewLine()

        ' Write email  tag (optional)
        DTE.ActiveDocument.Selection.NewLine()
        DTE.ActiveDocument.Selection.Text = "// &lt;email&gt;" + Email + "&lt;/email&gt;"
        DTE.ActiveDocument.Selection.NewLine()

        ' Write email  tag (optional)
        DTE.ActiveDocument.Selection.NewLine()
        DTE.ActiveDocument.Selection.Text = "// &lt;summary&gt;" + docName + "&lt;/summary&gt;"
        DTE.ActiveDocument.Selection.NewLine()

        ' Write email  tag (optional)
        DTE.ActiveDocument.Selection.NewLine()
        DTE.ActiveDocument.Selection.Text = "//------------------------------Revision History---------------------------------------------------------------------"
        DTE.ActiveDocument.Selection.NewLine()
        DTE.ActiveDocument.Selection.Text = "// Date             Author                  Change Log Comments"
        DTE.ActiveDocument.Selection.NewLine()
        DTE.ActiveDocument.Selection.Text = "//" + DateTime.Now.ToString("MMM/dd/yyyy") + "        " + authorName + "               " + "Newly Created" + "                  "
        DTE.ActiveDocument.Selection.NewLine()
        DTE.ActiveDocument.Selection.Text = "//                                                             "
        DTE.ActiveDocument.Selection.NewLine()
        DTE.ActiveDocument.Selection.Text = "//                                                             "
        DTE.ActiveDocument.Selection.NewLine()
        ' Write last line
        DTE.ActiveDocument.Selection.Text = "// ******************************************************************************************************************"
        DTE.ActiveDocument.Selection.NewLine()
        DTE.ActiveDocument.Selection.Text = "#endregion"
    End Sub

End Module

&lt;/pre&gt;

Macro Results

This creates the following text inserted into the top of the source code document:


&lt;pre class="brush: csharp"&gt;
#region File Header
// ******************************************************************************************************************
// &lt;copyright file="ReportUtils.cs" company="My Company"&gt;
//     © 2009 My Company. All rights reserved
// &lt;/copyright&gt;
// &lt;author&gt;Benedict Alphonse&lt;/author&gt;

// &lt;email&gt;benedictkmu@gmail.com&lt;/email&gt;

// &lt;summary&gt;ReportUtils.cs&lt;/summary&gt;

//------------------------------Revision History---------------------------------------------------------------------
// Date             Author                  Change Log Comments
//Dec/01/2009        Benedict Alphonse               Newly Created                  
//                                                             
//                                                             
// ******************************************************************************************************************
#endregion
&lt;/pre&gt;

&lt;b&gt;Adding Macro to Toolbar:&lt;/b&gt;

To add this to a toolbar in your IDE:&lt;br&gt;

  1. Click “Tools” menu&lt;br&gt;
  2. Click “Customize…” menu choice&lt;br&gt;
  3. Activate “Commands” tab&lt;br&gt;
  4. Choose “Macros” category&lt;br&gt;
  5. Select “MyMacros.FileHeader.FileHeader” (or whatever you named it)&lt;br&gt;
  6. Drag command to your toolbar.&lt;br&gt;
  7. You can customize the icon, text, visibility of text/icon, etc. by right clicking on the toolbar button&lt;br&gt;
  8. Close customization dialog&lt;br&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2918706867610266523-5837196936920047508?l=bennyindia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bennyindia.blogspot.com/feeds/5837196936920047508/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2918706867610266523&amp;postID=5837196936920047508' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2918706867610266523/posts/default/5837196936920047508'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2918706867610266523/posts/default/5837196936920047508'/><link rel='alternate' type='text/html' href='http://bennyindia.blogspot.com/2009/12/add-file-header-or-change-log-to-files.html' title='ADD FILE HEADER OR CHANGE LOG TO FILES IN VISUAL STUDIO BY USING MACRO'/><author><name>Benedict Alphonse</name><uri>http://www.blogger.com/profile/06273740826562598488</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_47TBi7XxXXY/Sg2nBmAKJKI/AAAAAAAABbw/a6YHZHKfCBE/S220/IMG_0125_Edited11.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2918706867610266523.post-3597576360571436435</id><published>2009-11-09T16:20:00.002+05:30</published><updated>2009-12-01T15:04:04.372+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Render Crystal Report in different file formats without CrystalReportViewer</title><content type='html'>&lt;pre class="brush: csharp"&gt;
public static void RenderCrystalReport(DataSet ResultSet, String ReportLocation, String RenderType,HttpResponse Response)
        {
            MemoryStream oStream = new MemoryStream();
            ReportDocument crystalReport = new ReportDocument();
            crystalReport.Load(HttpContext.Current.Server.MapPath(ReportLocation));
            crystalReport.SetDataSource(ResultSet);

            switch (RenderType)
            {
                case "PDF":
                    oStream = crystalReport.ExportToStream(ExportFormatType.PortableDocFormat) as MemoryStream;
                    Response.Clear();
                    Response.Buffer = true;
                    Response.ContentType = "application/pdf";
                    break;

                case "DOC":
                    oStream = crystalReport.ExportToStream(ExportFormatType.WordForWindows) as MemoryStream;
                    Response.Clear();
                    Response.Buffer = true;
                    Response.ContentType = "application/doc";
                    break;

                case "XLS":
                    oStream = crystalReport.ExportToStream(ExportFormatType.Excel) as MemoryStream;
                    Response.Clear();
                    Response.Buffer = true;
                    Response.ContentType = "application/vnd.ms-excel";
                    break;

            }


            Response.BinaryWrite(oStream.ToArray());
            Response.End();
        }
&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2918706867610266523-3597576360571436435?l=bennyindia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bennyindia.blogspot.com/feeds/3597576360571436435/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2918706867610266523&amp;postID=3597576360571436435' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2918706867610266523/posts/default/3597576360571436435'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2918706867610266523/posts/default/3597576360571436435'/><link rel='alternate' type='text/html' href='http://bennyindia.blogspot.com/2009/11/render-crystal-report-in-different-file.html' title='Render Crystal Report in different file formats without CrystalReportViewer'/><author><name>Benedict Alphonse</name><uri>http://www.blogger.com/profile/06273740826562598488</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_47TBi7XxXXY/Sg2nBmAKJKI/AAAAAAAABbw/a6YHZHKfCBE/S220/IMG_0125_Edited11.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2918706867610266523.post-2467400649481722809</id><published>2009-10-30T16:30:00.003+05:30</published><updated>2009-10-30T16:35:16.705+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='ORACLE'/><title type='text'>ORACLE CUSTOM FUNCTION - SPLIT DELIMITER STRING</title><content type='html'>&lt;pre class="brush: javascript"&gt;
-- User Defined Types to Hold string as table Starts --
CREATE OR REPLACE TYPE SPLITTED_TEXT AS OBJECT(SPLITTED_VALUE VARCHAR2(50));
CREATE OR REPLACE TYPE SPLITTED_TEXT_TABLE AS TABLE OF SPLITTED_TEXT;
-- User Defined Types to Hold string as table Ends--

-- Function to split delimiter string Starts --

CREATE OR REPLACE
FUNCTION OBF_SPLIT_DELIMITER_STRING_FN(p_string IN VARCHAR2, p_delimiter IN VARCHAR2)
RETURN SPLITTED_TEXT_TABLE PIPELINED
AS
    v_length   NUMBER := LENGTH(p_string);
    v_start    NUMBER := 1;
    v_index    NUMBER;
    --v_tempstring SPLITTED_TEXT_TABLE.SPLITTED_VALUE%type;
BEGIN
    WHILE(v_start &lt;= v_length)
    LOOP
        v_index    := INSTR(p_string, p_delimiter, v_start);

        IF v_index = 0
        THEN    
           -- v_tempstring := SUBSTR(p_string,v_start);
            PIPE ROW(new SPLITTED_TEXT(SUBSTR(p_string,v_start)));
            v_start    := v_length + 1;
        ELSE
            --v_tempstring := SUBSTR(p_string, v_start, v_index - v_start);
            PIPE ROW(new SPLITTED_TEXT(SUBSTR(p_string, v_start, v_index - v_start)));
            v_start    := v_index + 1;
        END IF;
    END LOOP;

    RETURN;
END OBF_SPLIT_DELIMITER_STRING_FN;

-- Function to split delimiter string Ends--

-- Usage of Function Starts --

select * from table(OBF_SPLIT_DELIMITER_STRING_FN('one#two#three#four','#'))

-- Usage of Function Ends--
&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2918706867610266523-2467400649481722809?l=bennyindia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bennyindia.blogspot.com/feeds/2467400649481722809/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2918706867610266523&amp;postID=2467400649481722809' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2918706867610266523/posts/default/2467400649481722809'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2918706867610266523/posts/default/2467400649481722809'/><link rel='alternate' type='text/html' href='http://bennyindia.blogspot.com/2009/10/oracle-custom-function-split-delimiter.html' title='ORACLE CUSTOM FUNCTION - SPLIT DELIMITER STRING'/><author><name>Benedict Alphonse</name><uri>http://www.blogger.com/profile/06273740826562598488</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_47TBi7XxXXY/Sg2nBmAKJKI/AAAAAAAABbw/a6YHZHKfCBE/S220/IMG_0125_Edited11.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2918706867610266523.post-7331020464675978097</id><published>2009-10-30T12:59:00.007+05:30</published><updated>2009-10-30T22:05:45.095+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='ORACLE'/><title type='text'>ORACLE CUSTOM FUNCTION - DELETE DB OBJECTS BY TYPE AND NAME</title><content type='html'>This function used to delete oracle DB objects such as Table,View And Index Etc.

&lt;pre class="brush: javascript"&gt;
--------- Function Body Starts ---------------

FUNCTION FIND_AND_DELETE_OBJECT_FN(STR_OBJECT_TYPE IN VARCHAR2,STR_OBJECT_NAME IN VARCHAR2)
RETURN VARCHAR2
IS
v_exist  INTEGER;
v_output VARCHAR2(10) := 'FAIL';
BEGIN
 select count(*) into v_exist from all_objects where OBJECT_NAME = STR_OBJECT_NAME AND OBJECT_TYPE = STR_OBJECT_TYPE;
 if v_exist = 1 then
  EXECUTE IMMEDIATE 'TRUNCATE TABLE '||STR_OBJECT_NAME;
  EXECUTE IMMEDIATE 'DROP TABLE '||STR_OBJECT_NAME;
  v_output := 'SUCCESS';
 end if;
RETURN v_output;
exception when others then
 raise_application_error(-20001,'An error was encountered - '||SQLCODE||' -ERROR- '||SQLERRM);
END OBF_FIND_AND_DELETE_OBJECT_FN;

--------- Function Body Ends ---------------

-------- Function Usage Starts --------------

DECLARE
  STR_OBJECT_TYPE VARCHAR2(200);
  STR_OBJECT_NAME VARCHAR2(200);
  v_Return VARCHAR2(200);
BEGIN
  STR_OBJECT_TYPE := 'TABLE';
  STR_OBJECT_NAME := 'FSSPECANDTECH';
  v_Return := OBF_FIND_AND_DELETE_OBJECT_FN(
    STR_OBJECT_TYPE =&gt; STR_OBJECT_TYPE,
    STR_OBJECT_NAME =&gt; STR_OBJECT_NAME
  );
  DBMS_OUTPUT.PUT_LINE('v_Return = ' || v_Return);
END;

-------- Function Usage Ends--------------

&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2918706867610266523-7331020464675978097?l=bennyindia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bennyindia.blogspot.com/feeds/7331020464675978097/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2918706867610266523&amp;postID=7331020464675978097' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2918706867610266523/posts/default/7331020464675978097'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2918706867610266523/posts/default/7331020464675978097'/><link rel='alternate' type='text/html' href='http://bennyindia.blogspot.com/2009/10/oracle-function-delete-db-objects-by.html' title='ORACLE CUSTOM FUNCTION - DELETE DB OBJECTS BY TYPE AND NAME'/><author><name>Benedict Alphonse</name><uri>http://www.blogger.com/profile/06273740826562598488</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_47TBi7XxXXY/Sg2nBmAKJKI/AAAAAAAABbw/a6YHZHKfCBE/S220/IMG_0125_Edited11.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2918706867610266523.post-1597301577563439130</id><published>2009-09-08T16:56:00.001+05:30</published><updated>2009-09-08T16:59:38.584+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Development'/><title type='text'>Ultimate Developer and Power Users Tool List for Windows</title><content type='html'>I got to know that Scott Hanselman's 2009 Ultimate Developer and Power Users Tool List for Windows. This is very handy list.

 you can get more info of these lists from

&lt;a href="http://www.hanselman.com/blog/ScottHanselmans2009UltimateDeveloperAndPowerUsersToolListForWindows.aspx"&gt;http://www.hanselman.com/blog/ScottHanselmans2009UltimateDeveloperAndPowerUsersToolListForWindows.aspx&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2918706867610266523-1597301577563439130?l=bennyindia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bennyindia.blogspot.com/feeds/1597301577563439130/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2918706867610266523&amp;postID=1597301577563439130' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2918706867610266523/posts/default/1597301577563439130'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2918706867610266523/posts/default/1597301577563439130'/><link rel='alternate' type='text/html' href='http://bennyindia.blogspot.com/2009/09/ultimate-developer-and-power-users-tool.html' title='Ultimate Developer and Power Users Tool List for Windows'/><author><name>Benedict Alphonse</name><uri>http://www.blogger.com/profile/06273740826562598488</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_47TBi7XxXXY/Sg2nBmAKJKI/AAAAAAAABbw/a6YHZHKfCBE/S220/IMG_0125_Edited11.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2918706867610266523.post-1599453067559182557</id><published>2009-06-08T16:00:00.011+05:30</published><updated>2009-06-24T00:36:54.121+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Javascript'/><title type='text'>Javascript - Multiple Email Addresses Validation</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Function :&lt;/span&gt;
&lt;pre class="brush: javascript"&gt;
&lt;script&gt;
function validateEmails(field, delimiter) {
var delimiter = delimiter || ';';
var filter  = /([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+&gt;?$/; 
var error = 0;
// Create an array by splitting the field along the delimiter
var aEmails = field.value.split(';');
// For each of the emails
for(index = 0; index &lt; aEmails.length; index++) {
// Trim spaces from the ends
aEmails[index] = (aEmails[index].replace(/^\s+/,'')).replace(/\s+$/,'');
// Check whether an email is present
if(aEmails[index] != '' &amp;&amp; aEmails[index].search(filter) == -1)
error = 1;
}
// Update the value of the field
field.style.backgroundColor = (error == 1) ? 'FFFFCC' : 'FFFFFF';
}
&lt;/script&gt;
&lt;/pre&gt;
&lt;pre class="brush: javascript"&gt;
&lt;input type="text" name="to" value="#FORM.to#" size="30" onKeyUp="validateEmails(this);" onChange="validateEmails(this);" /&gt;
&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2918706867610266523-1599453067559182557?l=bennyindia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bennyindia.blogspot.com/feeds/1599453067559182557/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2918706867610266523&amp;postID=1599453067559182557' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2918706867610266523/posts/default/1599453067559182557'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2918706867610266523/posts/default/1599453067559182557'/><link rel='alternate' type='text/html' href='http://bennyindia.blogspot.com/2009/06/javascript-multiple-email-addresses.html' title='Javascript - Multiple Email Addresses Validation'/><author><name>Benedict Alphonse</name><uri>http://www.blogger.com/profile/06273740826562598488</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_47TBi7XxXXY/Sg2nBmAKJKI/AAAAAAAABbw/a6YHZHKfCBE/S220/IMG_0125_Edited11.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2918706867610266523.post-4880042122285296201</id><published>2009-05-31T21:31:00.003+05:30</published><updated>2009-05-31T21:39:00.489+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='General'/><title type='text'>Cheatsheets - Every WebDeveloper Mush Have</title><content type='html'>&lt;h2&gt;JavaScript&lt;/h2&gt; &lt;p&gt;&lt;a linkindex="14" title="JavaScript Cheat Sheet" href="http://www.ilovejackdaniels.com/article/javascript-cheat-sheet/" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://www.ilovejackdaniels.com/article/javascript-cheat-sheet/');" target="_blank"&gt;JavaScript Cheat Sheet&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a linkindex="15" title="Addison-Wesley's JavaScript Reference Card" href="http://wps.aw.com/wps/media/objects/2234/2287950/javascript_refererence.pdf" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://wps.aw.com/wps/media/objects/2234/2287950/javascript_refererence.pdf');" target="_blank"&gt;Addison-Wesley’s JavaScript Reference Card&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a linkindex="15" title="JavaScript Quick Reference" href="http://javascript-reference.info/" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://javascript-reference.info/');" target="_blank"&gt;JavaScript Quick Reference&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a linkindex="16" title="JavaScript and Browser Objects Quick Reference" href="http://www.dannyg.com/dl/JSB6RefBooklet.pdf" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://www.dannyg.com/dl/JSB6RefBooklet.pdf');" target="_blank"&gt;JavaScript and Browser Objects Quick Reference&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a linkindex="16" title="JavaScript in 10 Minutes" href="http://javascript.infogami.com/Javascript_in_Ten_Minutes" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://javascript.infogami.com/Javascript_in_Ten_Minutes');" target="_blank"&gt;JavaScript in 10 Minutes&lt;/a&gt;
&lt;/p&gt; &lt;h2&gt;CSS&lt;/h2&gt; &lt;p&gt;&lt;a linkindex="17" title="CSS Help Sheet" href="http://www.gosquared.com/images/help_sheets/CSS%20Help%20Sheet.pdf" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://www.gosquared.com/images/help_sheets/CSS%20Help%20Sheet.pdf');" target="_blank"&gt;CSS Help Sheet&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a linkindex="17" title="CSS Shorthand Guide" href="http://www.dustindiaz.com/css-shorthand/" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://www.dustindiaz.com/css-shorthand/');" target="_blank"&gt;CSS Shorthand Guide&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a linkindex="18" title="CSS Cheat Sheet" href="http://www.ilovejackdaniels.com/cheat-sheets/css-cheat-sheet/" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://www.ilovejackdaniels.com/cheat-sheets/css-cheat-sheet/');" target="_blank"&gt;CSS Cheat Sheet&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a linkindex="19" title="Cascading Style Cheat Sheet" href="http://home.tampabay.rr.com/bmerkey/cheatsheet.htm" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://home.tampabay.rr.com/bmerkey/cheatsheet.htm');" target="_blank"&gt;Cascading Style Cheat Sheet&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a linkindex="20" title="CSS Cheat Sheet" href="http://www.petefreitag.com/cheatsheets/css/" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://www.petefreitag.com/cheatsheets/css/');" target="_blank"&gt;CSS Cheat Sheet&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a linkindex="21" title="CSS Quick Reference" href="http://www.veign.com/downloads/guides/qrg0007.pdf" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://www.veign.com/downloads/guides/qrg0007.pdf');" target="_blank"&gt;CSS Quick Reference&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a linkindex="21" title="Leslie Franke CSS Cheat Sheet" href="http://lesliefranke.com/files/reference/csscheatsheet.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://lesliefranke.com/files/reference/csscheatsheet.html');" target="_blank"&gt;Leslie Franke CSS Cheat Sheet&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a linkindex="22" title="Design 215 CSS Quick Reference" href="http://www.design215.com/toolbox/css_guide.php" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://www.design215.com/toolbox/css_guide.php');" target="_blank"&gt;Design 215 CSS Quick Reference&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a linkindex="23" title="CSS Level 1 Quick Reference" href="http://refcards.com/docs/deepx/css1/CSS1.pdf" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://refcards.com/docs/deepx/css1/CSS1.pdf');" target="_blank"&gt;CSS Level 1 Quick Reference&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a linkindex="23" title="CSS Level 2 Quick Reference" href="http://refcards.com/docs/jungb/css2/css2.pdf" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://refcards.com/docs/jungb/css2/css2.pdf');" target="_blank"&gt;CSS Level 2 Quick Reference&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a linkindex="23" title="CSS Property Index" href="http://www.blooberry.com/indexdot/css/propindex/all.htm" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://www.blooberry.com/indexdot/css/propindex/all.htm');" target="_blank"&gt;CSS Property Index&lt;/a&gt;&lt;/p&gt; &lt;h2&gt;HTML/XHTML&lt;/h2&gt; &lt;p&gt;&lt;span style="color: rgb(0, 51, 102);"&gt;&lt;a linkindex="24" title="HTML Help Sheet" href="http://www.gosquared.com/images/help_sheets/HTML%20Help%20Sheet.pdf" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://www.gosquared.com/images/help_sheets/HTML%20Help%20Sheet.pdf');" target="_blank"&gt;HTML Help Sheet&lt;/a&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;a linkindex="24" title="XHTML Cheat Sheet" href="http://floele.flyspray.org/htmlcheatsheet.pdf" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://floele.flyspray.org/htmlcheatsheet.pdf');" target="_blank"&gt;XHTML Cheat Sheet&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a linkindex="24" title="HTML Cheat Sheet" href="http://www.psacake.com/web/dy.asp" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://www.psacake.com/web/dy.asp');" target="_blank"&gt;HTML Cheat Sheet&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a linkindex="25" title="HTML Character Entities Cheat Sheet" href="http://www.ilovejackdaniels.com/article/html-character-entities-cheat-sheet/" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://www.ilovejackdaniels.com/article/html-character-entities-cheat-sheet/');" target="_blank"&gt;HTML Character Entities Cheat Sheet&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a linkindex="26" title="PDF HTML Cheat Sheet" href="http://cdburnerxp.se/htmlcheatsheet.pdf" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://cdburnerxp.se/htmlcheatsheet.pdf');" target="_blank"&gt;PDF HTML Cheat Sheet&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a linkindex="26" title="Character Entity References in HTML 4 and XHTML 1.0" href="http://www.cookwood.com/html/extras/entities.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://www.cookwood.com/html/extras/entities.html');" target="_blank"&gt;Character Entity References in HTML 4 and XHTML 1.0&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a linkindex="27" title="HTML &amp;amp; XHTML CheatSheet" href="http://www.petefreitag.com/cheatsheets/xhtml/" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://www.petefreitag.com/cheatsheets/xhtml/');" target="_blank"&gt;HTML &amp;amp; XHTML Cheat Sheet&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a linkindex="28" title="HTML Tags" href="http://html-tags.info/" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://html-tags.info/');" target="_blank"&gt;HTML Tags&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a linkindex="29" title="HTML Quick Reference Guide" href="http://www.ucc.ie/doc/World-Wide_Web/htmlcard.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://www.ucc.ie/doc/World-Wide_Web/htmlcard.html');" target="_blank"&gt;HTML Quick Reference Guide&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a linkindex="30" title="A Simple Guide to HTML" href="http://home.alphalink.com.au/%7Erhduncan/htmlguide/cheatindex.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://home.alphalink.com.au/~rhduncan/htmlguide/cheatindex.html');" target="_blank"&gt;A Simple Guide to HTML&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a linkindex="31" title="Reference HTML Cheat Sheet" href="http://www.webmonkey.com/reference/html_cheatsheet/" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://www.webmonkey.com/reference/html_cheatsheet/');" target="_blank"&gt;Reference HTML Cheat Sheet&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a linkindex="32" title="HTML Tags Cheat Sheet" href="http://www.killersites.com/HTML_CODES/index.jsp" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://www.killersites.com/HTML_CODES/index.jsp');" target="_blank"&gt;HTML Tags Cheat Sheet&lt;/a&gt;&lt;/p&gt; &lt;h2&gt;AJAX&lt;/h2&gt; &lt;p&gt;&lt;a linkindex="33" title="What’s Ajax? Cheat Sheet" href="http://slash7.com/cheats/whats_ajax_cheatsheet.pdf" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://slash7.com/cheats/whats_ajax_cheatsheet.pdf');" target="_blank"&gt;What’s Ajax? Cheat Sheet&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a linkindex="33" title="Prototype Cheat Sheet" href="http://www.snook.ca/archives/000531.php" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://www.snook.ca/archives/000531.php');" target="_blank"&gt;Prototype Cheat Sheet&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a linkindex="34" title="Scriptaculous Combination Effects Cheat Sheet" href="http://slash7.com/cheats/scriptaculous_fx1.pdf" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://slash7.com/cheats/scriptaculous_fx1.pdf');" target="_blank"&gt;Scriptaculous Combination Effects Cheat Sheet&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a linkindex="34" title="Scriptaculous Cheat Sheet" href="http://www.archive.org/details/Scriptaculous_Cheat_Sheet" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://www.archive.org/details/Scriptaculous_Cheat_Sheet');" target="_blank"&gt;Scriptaculous Cheat Sheet&lt;/a&gt;
&lt;/p&gt; &lt;p&gt;&lt;a linkindex="35" title="AJAX for ASP.net Cheat Sheet" href="http://aspnetresources.com/downloads/ms_ajax_library_cheat_sheets1.zip" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://aspnetresources.com/downloads/ms_ajax_library_cheat_sheets1.zip');"&gt;AJAX for ASP.net Cheat Sheet&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a linkindex="36" title="ASP.net AJAX Client Life-Cycle Events" href="http://aspnetresources.com/downloads/MS%20Ajax%20Client%20Life-Cycle%20Events.pdf" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://aspnetresources.com/downloads/MS%20Ajax%20Client%20Life-Cycle%20Events.pdf');" target="_blank"&gt;ASP.net AJAX Client Life-Cycle Events&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a linkindex="36" title="MooTools Cheat Sheet" href="http://snook.ca/archives/javascript/mootools_r83_cheatsheet/" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://snook.ca/archives/javascript/mootools_r83_cheatsheet/');" target="_blank"&gt;MooTools Cheat Sheet&lt;/a&gt;
&lt;/p&gt; &lt;h2&gt;Colors&lt;/h2&gt; &lt;p&gt;&lt;a linkindex="37" title="RGB Hex Color Chart" href="http://www.ilovejackdaniels.com/resources/colour-chart/" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://www.ilovejackdaniels.com/resources/colour-chart/');" target="_blank"&gt;RGB Hex Color Chart&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a linkindex="38" title="Interactive Color Picker" href="http://www.visibone.com/colorlab/" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://www.visibone.com/colorlab/');" target="_blank"&gt;Interactive Color Picker&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a linkindex="39" title="HTML Color Codes" href="http://html-color-codes.com/" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://html-color-codes.com/');" target="_blank"&gt;HTML Color Codes&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a linkindex="40" title="Color Reference Guide" href="http://www.veign.com/downloads/guides/qrg0006.pdf" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://www.veign.com/downloads/guides/qrg0006.pdf');" target="_blank"&gt;Color Reference Guide&lt;/a&gt;&lt;/p&gt; &lt;h2&gt;Microformats&lt;/h2&gt; &lt;p&gt;&lt;a linkindex="40" title="Microformats Helper Cheat Sheet" href="http://labnotes.org/svn/public/ruby/rails_plugins/microformat_helper/cheat/microformats_helper.pdf" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://labnotes.org/svn/public/ruby/rails_plugins/microformat_helper/cheat/microformats_helper.pdf');" target="_blank"&gt;Microformats Helper Cheat Sheet&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a linkindex="40" title="Microformats Cheat Sheet" href="http://suda.co.uk/projects/microformats/cheatsheet/" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://suda.co.uk/projects/microformats/cheatsheet/');" target="_blank"&gt;Microformats Cheat Sheet&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a linkindex="41" title="Microformats Cheat Sheet" href="http://www.ilovejackdaniels.com/cheat-sheets/microformats-cheat-sheet/" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://www.ilovejackdaniels.com/cheat-sheets/microformats-cheat-sheet/');" target="_blank"&gt;Jack Daniel’s Microformats Cheat Sheet&lt;/a&gt;&lt;/p&gt; &lt;h2&gt;Browser Compatibility&lt;/h2&gt; &lt;p&gt;&lt;a linkindex="42" title="W3C DOM Compatibility Tables" href="http://www.quirksmode.org/dom/compatibility.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://www.quirksmode.org/dom/compatibility.html');" target="_blank"&gt;W3C DOM Compatibility Tables&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a linkindex="43" title="Browser Compatibility Interactive Table" href="http://centricle.com/ref/css/filters/?highlight_columns=true" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://centricle.com/ref/css/filters/?highlight_columns=true');" target="_blank"&gt;Browser Compatibility Interactive Table&lt;/a&gt;&lt;/p&gt; &lt;h2&gt;XML&lt;/h2&gt; &lt;p&gt;&lt;a linkindex="44" title="Fusebox 4.1 XML Cheat Sheet" href="http://www.dopefly.com/pages/fuseboxxmlcheatsheet.cfm" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://www.dopefly.com/pages/fuseboxxmlcheatsheet.cfm');" target="_blank"&gt;Fusebox 4.1 XML Cheat Sheet&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a linkindex="45" title="VoiceXML Reference" href="http://www.zvon.org/Output/cheatsheets/cheatsheet_list.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://www.zvon.org/Output/cheatsheets/cheatsheet_list.html');" target="_blank"&gt;VoiceXML Reference&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a linkindex="46" title="MathML Reference" href="http://www.zvon.org/Output/cheatsheets/cheatsheet_list.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://www.zvon.org/Output/cheatsheets/cheatsheet_list.html');" target="_blank"&gt;MathML Reference&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a linkindex="47" title="XML Schema 2001 Reference" href="http://www.zvon.org/Output/cheatsheets/cheatsheet_list.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://www.zvon.org/Output/cheatsheets/cheatsheet_list.html');" target="_blank"&gt;XML Schema 2001 Reference&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a linkindex="48" title="XML Schema 2000/10" href="http://www.zvon.org/Output/cheatsheets/cheatsheet_list.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://www.zvon.org/Output/cheatsheets/cheatsheet_list.html');" target="_blank"&gt;XML Schema 2000/10&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a linkindex="49" title="XSLT Quick References" href="http://www.mulberrytech.com/quickref/XSLT_1quickref-v2.pdf" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://www.mulberrytech.com/quickref/XSLT_1quickref-v2.pdf');" target="_blank"&gt;XSLT Quick References&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a linkindex="49" title="XML TopicMaps 1.0 - Quick Reference Card" href="http://refcards.com/download/bj/xtm-1.0.pdf" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://refcards.com/download/bj/xtm-1.0.pdf');" target="_blank"&gt;XML TopicMaps 1.0 - Quick Reference Card&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a linkindex="49" title="XML Quick References" href="http://www.mulberrytech.com/quickref/XMLquickref.pdf" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://www.mulberrytech.com/quickref/XMLquickref.pdf');" target="_blank"&gt;XML Quick References&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a linkindex="49" title="XML Schema - Structures Quick Reference" href="http://www.xml.dvint.com/docs/SchemaStructuresQR-2.pdf" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://www.xml.dvint.com/docs/SchemaStructuresQR-2.pdf');" target="_blank"&gt;XML Schema - Structures Quick Reference&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a linkindex="49" title="XML Schema - Data Types Quick Reference" href="http://www.xml.dvint.com/docs/SchemaDataTypesQR-2.pdf" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://www.xml.dvint.com/docs/SchemaDataTypesQR-2.pdf');" target="_blank"&gt;XML Schema - Data Types Quick Reference&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a linkindex="49" title="XSL FO Reference" href="http://www.zvon.org/Output/cheatsheets/cheatsheet_list.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://www.zvon.org/Output/cheatsheets/cheatsheet_list.html');" target="_blank"&gt;XSL FO Reference&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a linkindex="50" title="XSLT Quick Reference Card" href="http://refcards.com/download/deepx/XSLT-1.0.pdf" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://refcards.com/download/deepx/XSLT-1.0.pdf');" target="_blank"&gt;XSLT Quick Reference Card&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a linkindex="50" title="XSLT Reference" href="http://www.topxml.com/xsl/XSLTRef.asp" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://www.topxml.com/xsl/XSLTRef.asp');" target="_blank"&gt;XSLT Reference&lt;/a&gt;&lt;/p&gt;&lt;p&gt;
&lt;/p&gt;&lt;h2&gt;PHP&lt;/h2&gt; &lt;p&gt;&lt;a linkindex="15" title="Jack Daniels PHP Cheat Sheet" href="http://www.ilovejackdaniels.com/cheat-sheets/php-cheat-sheet/" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://www.ilovejackdaniels.com/cheat-sheets/php-cheat-sheet/');" target="_blank"&gt;Jack Daniel’s PHP Cheat Sheet&lt;/a&gt; (HTML)&lt;/p&gt; &lt;p&gt;&lt;a linkindex="16" title="Interactive PHP Cheat Sheet" href="http://blueshoes.org/en/developer/php_cheat_sheet/" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://blueshoes.org/en/developer/php_cheat_sheet/');" target="_blank"&gt;Interactive PHP Cheat Sheet&lt;/a&gt; (HTML)&lt;/p&gt; &lt;p&gt;&lt;a linkindex="17" title="PHP Cheat Sheet - Blue Shoes" href="http://www.blueshoes.org/en/developer/php_cheat_sheet" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://www.blueshoes.org/en/developer/php_cheat_sheet');" target="_blank"&gt;Blue Shoes Developer - PHP Cheat Sheet&lt;/a&gt; (HTML)&lt;/p&gt; &lt;p&gt;&lt;a linkindex="18" title="PHP Cheat Sheet" href="http://www.ilovejackdaniels.com/php/php-cheat-sheet/" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://www.ilovejackdaniels.com/php/php-cheat-sheet/');" target="_blank"&gt;PHP Cheat Sheet&lt;/a&gt; (HTML)&lt;/p&gt; &lt;p&gt;&lt;a linkindex="19" title="PHP Cheat Sheet" href="http://www.apple.com/downloads/dashboard/developer/phpcheatsheet.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://www.apple.com/downloads/dashboard/developer/phpcheatsheet.html');" target="_blank"&gt;PHP Cheat Sheet&lt;/a&gt; (HTML)&lt;/p&gt; &lt;p&gt;&lt;a linkindex="20" title="Regular Expressions Reference Sheet" href="http://www.crazygrrl.com/weav/reference.php3" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://www.crazygrrl.com/weav/reference.php3');" target="_blank"&gt;Regular Expressions Reference Sheet&lt;/a&gt; (HTML)&lt;/p&gt; &lt;p&gt;&lt;a linkindex="21" title="Tiger PHP Cheat Sheet" href="http://tiger.la.asu.edu/Quick_Ref/php_cheat_sheet.pdf" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://tiger.la.asu.edu/Quick_Ref/php_cheat_sheet.pdf');" target="_blank"&gt;Tiger PHP Cheat Sheet&lt;/a&gt; (PDF)&lt;/p&gt; &lt;p&gt;&lt;a linkindex="21" title="PHP 4 Refrence Card" href="http://tiger.la.asu.edu/Quick_Ref/php_quickref.pdf" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://tiger.la.asu.edu/Quick_Ref/php_quickref.pdf');" target="_blank"&gt;PHP 4 Reference Card&lt;/a&gt; (PDF)&lt;/p&gt; &lt;p&gt;&lt;a linkindex="21" title="PHP Templates Cheat Sheet" href="http://www.phpxperts.net/SmartyCheatSheet.pdf" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://www.phpxperts.net/SmartyCheatSheet.pdf');" target="_blank"&gt;PHP Templates Cheat Sheet&lt;/a&gt; (PDF)&lt;/p&gt; &lt;h2&gt;Ruby&lt;/h2&gt; &lt;p&gt;&lt;a linkindex="21" title="Ruby Cheat Sheet PDF" href="http://ruby.cenophobie.com/RubyCheat.pdf" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://ruby.cenophobie.com/RubyCheat.pdf');" target="_blank"&gt;Ruby Cheat Sheet&lt;/a&gt; (PDF)&lt;/p&gt; &lt;p&gt;&lt;a linkindex="21" title="Jack Daniels Ruby on Rails Cheat Sheet" href="http://www.ilovejackdaniels.com/cheat-sheets/ruby-on-rails-cheat-sheet/" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://www.ilovejackdaniels.com/cheat-sheets/ruby-on-rails-cheat-sheet/');" target="_blank"&gt;Jack Daniel’s Ruby on Rails Cheat Sheet&lt;/a&gt; (HTML)&lt;/p&gt; &lt;p&gt;&lt;a linkindex="22" title="Textmate Rails Cheat Sheet" href="http://feldpost.com/lighthaus/textmate_rails.pdf" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://feldpost.com/lighthaus/textmate_rails.pdf');" target="_blank"&gt;Textmate Rails Cheat Sheet&lt;/a&gt; (PDF)&lt;/p&gt; &lt;p&gt;&lt;a linkindex="22" title="Zen Spider Ruby Quick Refrence" href="http://www.zenspider.com/Languages/Ruby/QuickRef.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://www.zenspider.com/Languages/Ruby/QuickRef.html');" target="_blank"&gt;Zen Spider Ruby Quick Reference&lt;/a&gt; (HTML)&lt;/p&gt; &lt;p&gt;&lt;a linkindex="23" title="Rails Reference 1.1" href="http://blog.invisible.ch/files/rails-reference-1.1.pdf" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://blog.invisible.ch/files/rails-reference-1.1.pdf');" target="_blank"&gt;Rails Reference 1.1&lt;/a&gt; (PDF)&lt;/p&gt; &lt;p&gt;&lt;a linkindex="23" title="Rails Active Resource Cheat Sheet" href="http://undefinedrange.com/files/active_resource.pdf" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://undefinedrange.com/files/active_resource.pdf');" target="_blank"&gt;Rails Active Resource Cheat Sheet&lt;/a&gt; (PDF)&lt;/p&gt; &lt;p&gt;&lt;a linkindex="23" title="ActiveRecord Relationships" href="http://slash7.com/cheats/activerecord_cheatsheet.pdf" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://slash7.com/cheats/activerecord_cheatsheet.pdf');" target="_blank"&gt;ActiveRecord Relationships&lt;/a&gt; (PDF)&lt;/p&gt; &lt;p&gt;&lt;a linkindex="23" title="Rails Strings Cheat Sheet" href="http://undefinedrange.com/files/strings_cheatsheet.pdf" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://undefinedrange.com/files/strings_cheatsheet.pdf');" target="_blank"&gt;Rails Strings Cheat Sheet&lt;/a&gt; (PDF)&lt;/p&gt; &lt;p&gt;&lt;a linkindex="23" title="http://slash7.com/cheats/rails_files_cheatsheet.pdf" href="http://slash7.com/cheats/rails_files_cheatsheet.pdf" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://slash7.com/cheats/rails_files_cheatsheet.pdf');" target="_blank"&gt;What Goes Where Cheat Sheet&lt;/a&gt; (PDF)&lt;/p&gt; &lt;p&gt;&lt;a linkindex="23" title="Ruby on Rails Cheat Sheet" href="http://www.blainekendall.com/uploads/RubyOnRails-Cheatsheet-BlaineKendall.pdf" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://www.blainekendall.com/uploads/RubyOnRails-Cheatsheet-BlaineKendall.pdf');" target="_blank"&gt;Ruby on Rails Cheat Sheet&lt;/a&gt; (PDF)&lt;/p&gt; &lt;p&gt;&lt;a linkindex="23" title="Ruby on Rails Form Helpers" href="http://slash7.com/cheats/form_helpers.pdf" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://slash7.com/cheats/form_helpers.pdf');" target="_blank"&gt;Ruby on Rails Form Helpers&lt;/a&gt; (PDF)&lt;/p&gt; &lt;h2&gt;Perl&lt;/h2&gt; &lt;p&gt;&lt;a linkindex="23" title="Perl Quick Reference" href="http://www.mnlab.cs.depaul.edu/%7Eehab/Courses/TDC568/resources/PerlQuickRef.pdf" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://www.mnlab.cs.depaul.edu/~ehab/Courses/TDC568/resources/PerlQuickRef.pdf');" target="_blank"&gt;Perl Quick Reference&lt;/a&gt; (PDF)&lt;/p&gt; &lt;p&gt;&lt;a linkindex="23" title="Perl Cheat Sheet" href="http://juerd.nl/site.plp/perlcheat" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://juerd.nl/site.plp/perlcheat');" target="_blank"&gt;Perl Cheat Sheet&lt;/a&gt; (HTML)&lt;/p&gt; &lt;p&gt;&lt;a linkindex="24" title="Perl 5 Cheat Sheet" href="http://search.cpan.org/%7Enwclark/perl-5.8.7/pod/perlcheat.pod" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://search.cpan.org/~nwclark/perl-5.8.7/pod/perlcheat.pod');" target="_blank"&gt;Perl 5 Cheat Sheet&lt;/a&gt; (HTML)&lt;/p&gt; &lt;p&gt;&lt;a linkindex="25" title="Perl Testing Reference Card" href="http://pub.langworth.com/perl_test_refcard.pdf" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://pub.langworth.com/perl_test_refcard.pdf');" target="_blank"&gt;Perl Testing Reference Card&lt;/a&gt; (PDF)&lt;/p&gt; &lt;p&gt;&lt;a linkindex="25" title="Perl Quick Reference Card" href="http://johnbokma.com/perl/perl-quick-reference-card.pdf" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://johnbokma.com/perl/perl-quick-reference-card.pdf');" target="_blank"&gt;Perl Quick Reference Card&lt;/a&gt; (PDF)&lt;/p&gt; &lt;h2&gt;ASP.net&lt;/h2&gt; &lt;p&gt;&lt;a linkindex="25" title="ASP.net Page Lifecycle Diagram" href="http://blog.krisvandermast.com/content/binary/ASP.NET-2.0-life-cycle.png" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://blog.krisvandermast.com/content/binary/ASP.NET-2.0-life-cycle.png');" target="_blank"&gt;ASP.net Page Lifecycle Diagram&lt;/a&gt; (PNG)&lt;/p&gt; &lt;p&gt;&lt;a linkindex="26" title=".NET Format String Quick Reference" href="http://john-sheehan.com/blog/wp-content/uploads/msnet-formatting-strings.pdf" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://john-sheehan.com/blog/wp-content/uploads/msnet-formatting-strings.pdf');" target="_blank"&gt;.NET Format String Quick Reference&lt;/a&gt; (PDF)&lt;/p&gt; &lt;p&gt;&lt;a linkindex="26" title="ASP.NET 2.0 Page Life Cycle &amp;amp; Common Events" href="http://john-sheehan.com/blog/wp-content/uploads/aspnet-life-cycles-events.pdf" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://john-sheehan.com/blog/wp-content/uploads/aspnet-life-cycles-events.pdf');" target="_blank"&gt;ASP.NET 2.0 Page Life Cycle &amp;amp; Common Events&lt;/a&gt; (PDF)&lt;/p&gt; &lt;p&gt;&lt;a linkindex="26" title="Visual Studio 2005 Built-in Code Snippets (C#)" href="http://john-sheehan.com/blog/wp-content/uploads/vs2005-code-snippets.pdf" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://john-sheehan.com/blog/wp-content/uploads/vs2005-code-snippets.pdf');" target="_blank"&gt;Visual Studio 2005 Built-in Code Snippets (C#)&lt;/a&gt; (PDF)&lt;/p&gt; &lt;p&gt;&lt;a linkindex="26" title="Visual Studio 2005 Default Keybindings C#" href="http://download.microsoft.com/download/e/7/9/e79cce22-b196-4b9f-9ea7-b1a21f5342e9/VCSharp_2005_color.pdf" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://download.microsoft.com/download/e/7/9/e79cce22-b196-4b9f-9ea7-b1a21f5342e9/VCSharp_2005_color.pdf');" target="_blank"&gt;Visual Studio 2005 Default Keybindings C#&lt;/a&gt; (PDF)&lt;/p&gt; &lt;p&gt;&lt;a linkindex="26" title="Visual Studio 2005 Default Keybindings VB.net" href="http://download.microsoft.com/download/d/6/5/d65efda0-cf25-4720-8013-b3080586c5bb/VB_2005_color.pdf" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://download.microsoft.com/download/d/6/5/d65efda0-cf25-4720-8013-b3080586c5bb/VB_2005_color.pdf');" target="_blank"&gt;Visual Studio 2005 Default Keybindings VB.net&lt;/a&gt; (PDF)&lt;/p&gt; &lt;p&gt;&lt;a linkindex="26" title="ASP.NET AJAX Client Life Cycle &amp;amp; Events" href="http://aspnetresources.com/downloads/MS%20Ajax%20Client%20Life-Cycle%20Events.pdf" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://aspnetresources.com/downloads/MS%20Ajax%20Client%20Life-Cycle%20Events.pdf');" target="_blank"&gt;ASP.NET AJAX Client Life Cycle &amp;amp; Events&lt;/a&gt; (PDF)&lt;/p&gt; &lt;p&gt;&lt;a linkindex="26" title="http://www.harding.edu/fmccown/vbnet_csharp_comparison.html" href="http://www.harding.edu/fmccown/vbnet_csharp_comparison.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://www.harding.edu/fmccown/vbnet_csharp_comparison.html');"&gt;VB.net and C# Comparison&lt;/a&gt; (&lt;a linkindex="27" title="PDF" href="http://authors.aspalliance.com/sswafford/article625/CheatSheet.pdf" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://authors.aspalliance.com/sswafford/article625/CheatSheet.pdf');" target="_blank"&gt;PDF&lt;/a&gt;) (&lt;a linkindex="27" title="Word" href="http://authors.aspalliance.com/sswafford/article625/CheatSheet.doc" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://authors.aspalliance.com/sswafford/article625/CheatSheet.doc');" target="_blank"&gt;Word&lt;/a&gt;)&lt;/p&gt; &lt;p&gt;&lt;a linkindex="27" title="Casting in VB.net and C#" href="http://www.codeproject.com/dotnet/CheatSheetCastingNET.asp" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://www.codeproject.com/dotnet/CheatSheetCastingNET.asp');" target="_blank"&gt;Casting in VB.net and C#&lt;/a&gt; (HTML)&lt;/p&gt; &lt;p&gt;&lt;a linkindex="28" title="ASP.net Basics" href="http://idealprogrammer.com/Cheat_ASPNET_Basics.pdf" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://idealprogrammer.com/Cheat_ASPNET_Basics.pdf');" target="_blank"&gt;ASP.net Basics&lt;/a&gt; (PDF)&lt;/p&gt; &lt;h2&gt;Python&lt;/h2&gt; &lt;p&gt;&lt;a linkindex="28" title="Python 2.4 Cheat Sheet" href="http://rgruet.free.fr/PQR24/PQR2.4.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://rgruet.free.fr/PQR24/PQR2.4.html');" target="_blank"&gt;Python 2.4 Cheat Sheet&lt;/a&gt; (HTML)&lt;/p&gt; &lt;p&gt;&lt;a linkindex="29" title="Python 2.2 Quick Reference" href="http://rgruet.free.fr/PQR2.2.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://rgruet.free.fr/PQR2.2.html');" target="_blank"&gt;Python 2.2 Quick Reference&lt;/a&gt; (HTML)&lt;/p&gt; &lt;p&gt;&lt;a linkindex="30" title="Python Cheet Sheet" href="http://www.yukoncollege.yk.ca/%7Ettopper/COMP118/rCheatSheet.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://www.yukoncollege.yk.ca/~ttopper/COMP118/rCheatSheet.html');" target="_blank"&gt;Python Cheat Sheet&lt;/a&gt; (HTML)&lt;/p&gt; &lt;p&gt;&lt;a linkindex="31" title="Python 101 Cheat Sheet" href="http://www-128.ibm.com/developerworks/library/l-cheatsheet3.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://www-128.ibm.com/developerworks/library/l-cheatsheet3.html');" target="_blank"&gt;Python 101 Cheat Sheet&lt;/a&gt; (HTML)&lt;/p&gt; &lt;p&gt;&lt;a linkindex="32" title="Python PHP Cheat Sheet" href="http://www.experimentierkasten.de/python_php.pdf" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://www.experimentierkasten.de/python_php.pdf');" target="_blank"&gt;Python PHP Cheat Sheet&lt;/a&gt; (PDF)&lt;/p&gt; &lt;p&gt;&lt;a linkindex="32" title="Python Quick Reference" href="http://www.onlamp.com/python/excerpt/PythonPocketRef/examples/python.pdf" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://www.onlamp.com/python/excerpt/PythonPocketRef/examples/python.pdf');" target="_blank"&gt;Python Quick Reference&lt;/a&gt; (PDF)&lt;/p&gt; &lt;h2&gt;ColdFusion&lt;/h2&gt; &lt;p&gt;&lt;a linkindex="32" title="ColdFusion Reference Sheet" href="http://www.dreamincode.net/downloads/ref_sheets/coldfusion_reference_sheet.pdf" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://www.dreamincode.net/downloads/ref_sheets/coldfusion_reference_sheet.pdf');" target="_blank"&gt;ColdFusion Reference Sheet&lt;/a&gt; (PDF)&lt;/p&gt; &lt;p&gt;&lt;a linkindex="32" title="ColdFusion Cheat Sheet" href="http://www.petefreitag.com/cheatsheets/coldfusion/" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://www.petefreitag.com/cheatsheets/coldfusion/');" target="_blank"&gt;ColdFusion Cheat Sheet&lt;/a&gt; (HTML)&lt;/p&gt; &lt;p&gt;&lt;a linkindex="33" title="ColdFusion Quick Reference" href="http://forums.dreamincode.net/showtopic18275.htm" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://forums.dreamincode.net/showtopic18275.htm');" target="_blank"&gt;ColdFusion Quick Reference&lt;/a&gt; (HTML)&lt;/p&gt; &lt;h2&gt;Java / JavaServer Pages&lt;/h2&gt; &lt;p&gt;&lt;a linkindex="34" title="JavaServer Pages Syntax" href="http://java.sun.com/products/jsp/syntax/2.0/card20.pdf" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://java.sun.com/products/jsp/syntax/2.0/card20.pdf');" target="_blank"&gt;JavaServer Pages Syntax&lt;/a&gt; (PDF)&lt;/p&gt; &lt;p&gt;&lt;a linkindex="34" title="JSP 2.0 XML Cheat Sheet" href="http://ndpsoftware.com/JSPXMLCheatSheet.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://ndpsoftware.com/JSPXMLCheatSheet.html');" target="_blank"&gt;JSP 2.0 XML Cheat Sheet&lt;/a&gt; (HTML)&lt;/p&gt; &lt;p&gt;&lt;a linkindex="35" title="Java Cheat Sheet : Java Glossary" href="http://mindprod.com/jgloss/jcheat.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://mindprod.com/jgloss/jcheat.html');" target="_blank"&gt;Java Cheat Sheet : Java Glossary&lt;/a&gt; (HTML)&lt;/p&gt; &lt;p&gt;&lt;a linkindex="36" title="Java Reference Sheet" href="http://www.dreamincode.net/downloads/ref_sheets/java_reference_sheet.pdf" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://www.dreamincode.net/downloads/ref_sheets/java_reference_sheet.pdf');" target="_blank"&gt;Java Reference Sheet&lt;/a&gt; (PDF)&lt;/p&gt; &lt;h2&gt;MySQL&lt;/h2&gt; &lt;p&gt;&lt;a linkindex="36" title="Jack Daniel's MySQL Cheat Sheet" href="http://www.ilovejackdaniels.com/cheat-sheets/mysql-cheat-sheet/" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://www.ilovejackdaniels.com/cheat-sheets/mysql-cheat-sheet/');" target="_blank"&gt;Jack Daniel’s MySQL Cheat Sheet&lt;/a&gt; (&lt;a linkindex="37" href="http://www.ilovejackdaniels.com/mysql_cheat_sheet.pdf" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://www.ilovejackdaniels.com/mysql_cheat_sheet.pdf');" target="_blank"&gt;PDF&lt;/a&gt;) (&lt;a linkindex="37" title="PNG" href="http://www.ilovejackdaniels.com/mysql_cheat_sheet.png" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://www.ilovejackdaniels.com/mysql_cheat_sheet.png');" target="_blank"&gt;PNG&lt;/a&gt;)&lt;/p&gt; &lt;p&gt;&lt;a linkindex="38" title="MySQL Reference Card" href="http://refcards.com/download/bj/mySQL-4.02b.pdf" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://refcards.com/download/bj/mySQL-4.02b.pdf');" target="_blank"&gt;MySQL Reference Card&lt;/a&gt; (PDF)&lt;/p&gt; &lt;p&gt;&lt;a linkindex="38" title="http://www.nparikh.org/unix/mysql.php" href="http://www.nparikh.org/unix/mysql.php" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://www.nparikh.org/unix/mysql.php');" target="_blank"&gt;Neal Parikh MySQL Cheat Sheet&lt;/a&gt; (HTML)&lt;/p&gt; &lt;p&gt;&lt;a linkindex="39" title="MySQL Reference Sheet" href="http://insites.ingenesis.net/wp-content/uploads/2007/04/mysql-reference-sheet.pdf" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://insites.ingenesis.net/wp-content/uploads/2007/04/mysql-reference-sheet.pdf');" target="_blank"&gt;MySQL Reference Sheet&lt;/a&gt; (PDF)&lt;/p&gt; &lt;p&gt;&lt;a linkindex="39" title="Handy Cheat-Sheet of MySQL Commands" href="http://www.tech-geeks.org/contrib/mdrone/mysql-stuff/mysql-cheatsheet.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://www.tech-geeks.org/contrib/mdrone/mysql-stuff/mysql-cheatsheet.html');" target="_blank"&gt;Handy Cheat-Sheet of MySQL Commands&lt;/a&gt; (HTML)&lt;/p&gt; &lt;p&gt;&lt;a linkindex="40" title="MySQL Commands" href="http://www.pantz.org/database/mysql/mysqlcommands.shtml" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://www.pantz.org/database/mysql/mysqlcommands.shtml');" target="_blank"&gt;MySQL Commands&lt;/a&gt; (HTML)&lt;/p&gt; &lt;p&gt;&lt;a linkindex="41" title="SQL Injection Cheat Sheet" href="http://ferruh.mavituna.com/makale/sql-injection-cheatsheet/" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://ferruh.mavituna.com/makale/sql-injection-cheatsheet/');" target="_blank"&gt;SQL Injection Cheat Sheet&lt;/a&gt; (HTML)&lt;/p&gt; &lt;h2&gt;SQL Server&lt;/h2&gt; &lt;p&gt;&lt;a linkindex="42" title="Jack Daniel's SQL Server Cheat Sheet" href="http://www.ilovejackdaniels.com/cheat-sheets/sql-server-cheat-sheet/" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://www.ilovejackdaniels.com/cheat-sheets/sql-server-cheat-sheet/');" target="_blank"&gt;Jack Daniel’s SQL Server Cheat Sheet&lt;/a&gt; (&lt;a linkindex="43" title="PDF" href="http://www.ilovejackdaniels.com/cheat-sheets/sql-server-cheat-sheet.pdf" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://www.ilovejackdaniels.com/cheat-sheets/sql-server-cheat-sheet.pdf');" target="_blank"&gt;PDF&lt;/a&gt;) (&lt;a linkindex="43" title="PNG" href="http://www.ilovejackdaniels.com/cheat-sheets/sql-server-cheat-sheet.png" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://www.ilovejackdaniels.com/cheat-sheets/sql-server-cheat-sheet.png');" target="_blank"&gt;PNG&lt;/a&gt;)&lt;/p&gt; &lt;p&gt;&lt;a linkindex="44" title="A to Z SQL Server 2005" href="http://www.ss64.com/sql/index.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://www.ss64.com/sql/index.html');" target="_blank"&gt;A to Z SQL Server 2005&lt;/a&gt; (HTML)&lt;/p&gt; &lt;p&gt;&lt;a linkindex="45" title="SQL Injection Cheat Sheet" href="http://ferruh.mavituna.com/makale/sql-injection-cheatsheet/" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://ferruh.mavituna.com/makale/sql-injection-cheatsheet/');" target="_blank"&gt;SQL Injection Cheat Sheet&lt;/a&gt; (HTML)&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2918706867610266523-4880042122285296201?l=bennyindia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bennyindia.blogspot.com/feeds/4880042122285296201/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2918706867610266523&amp;postID=4880042122285296201' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2918706867610266523/posts/default/4880042122285296201'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2918706867610266523/posts/default/4880042122285296201'/><link rel='alternate' type='text/html' href='http://bennyindia.blogspot.com/2009/05/cheatsheets-every-webdeveloper-mush.html' title='Cheatsheets - Every WebDeveloper Mush Have'/><author><name>Benedict Alphonse</name><uri>http://www.blogger.com/profile/06273740826562598488</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_47TBi7XxXXY/Sg2nBmAKJKI/AAAAAAAABbw/a6YHZHKfCBE/S220/IMG_0125_Edited11.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2918706867610266523.post-6093648371947017228</id><published>2009-05-31T21:10:00.001+05:30</published><updated>2009-05-31T21:13:05.507+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Software Development'/><title type='text'>Mistakes what we are doing frequently in Software Development</title><content type='html'>1. Not understanding the user’s needs. Lack of user input, or not even asking.
   2. Underestimating the size of the project.
   3. Rushing through the planning stage, or avoiding the planning all together.  Code first, plan later! BAD!
   4. Not testing early enough, often, or at all!  Make it a habit!
   5. Choosing the “Cool” methodology at the time, vs. one that has worked in the past. Which leads into my next point…
   6. Not using a methodology.
   7. Letting a software developer run the software development project.
   8. Bored, unmotivated team!  You have to motivate your developers!  If you can’t motivate, don’t bother trying to lead.  Your team will fall asleep, literally.
   9. Planning on catching up later.  You won’t… don’t even think it!
  10. Non Source Control!  Ouch.. not good people… and no, just installing a software package is not it…
  11. Deciding to switch your development tools when you’re already into the project.
  12. Allowing feature creep.  Just say NO!  Everyone will be happier in the end.
  13. Omitting necessary tasks to shorten the project plan.  Really, what’s the point of doing this?
  14. Insufficient management controls in the development project.
  15. Lack of high level business sponsorship.
  16. Adding people at the end of the project to “speed things up”.  You will only slow things down…
  17. No unit testing.  Heck if you can do it, use Visual Studio Team Foundation Server and set up some automated testing nightly.
  18. Stressed out software developers.  If you have managed to perform even one or two of these software development mistakes, you will have a stressed out bunch of programmers to deal with!
  19. Lack of error handling.
  20. “Off by one” errors.  These happen a lot during the software development process.. *sigh*.
  21. Typos…  Just use option strict and explicit please..  during one software development project, which I was on as a consultant, they were getting ridiculous amounts of errors everywhere… turned out the developer couldn’t spell and would declare variables with incorrect spelling.. no big deal, until you use the correct spelling when you’re assigning a value to it…  and  you had option explicit off.  Ouch to them…
  22. No understand the deployment or hardware the software is to be installed on.  Ohhhh it’s for a Macintosh… lol.  Well hopefully not that bad, but you get the point.
  23. No naming style or code conventions.  Honestly it doesn’t matter what you use… as long as you are consistent with the rest of the team, and hopefully at least yourself.
  24. Using global variables everywhere.  These are NOT your friend and hog memory like nothing you have ever seen before!
  25. Not asking for help at all during the software development process.  If you’re stuck, don’t fight with it for hours on end!  Ask for help!
  26. Not commenting your code.
  27. Hogging all information to yourself.  You think you’re more valuable this way?  You’re actually not and there is a plan brewing to get you kicked off the development project, and possibly out of the company.  You might want to brush up your sign “Will code for pizza!”. 
  28. Performing database operations at the application layer instead of the database layer. Not only is this putting the processing juice on your application instead of your server, but you have put your database at risk of data integrity issues, and getting bad data!  Some of my hipster cool friends are always saying “It’s alllll good”, well, if your database can be caught saying this… and If everything looks good to your database, then you should be worried.  It is NOT all good!
  29. Not validating your data! Yikes…  Yes.. let’s just assume all the data is perfect! NOT!
  30. No load testing.  What.. This is supposed to run on 1,000 user’s machines through Citrix?  Interesting… Shouldn’t be an issue! lol… NOT.

Credit goes to Original Author : &lt;a href="http://www.realsoftwaredevelopment.com/"&gt;http://www.realsoftwaredevelopment.com/ &lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2918706867610266523-6093648371947017228?l=bennyindia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bennyindia.blogspot.com/feeds/6093648371947017228/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2918706867610266523&amp;postID=6093648371947017228' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2918706867610266523/posts/default/6093648371947017228'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2918706867610266523/posts/default/6093648371947017228'/><link rel='alternate' type='text/html' href='http://bennyindia.blogspot.com/2009/05/mistakes-what-we-are-doing-frequently.html' title='Mistakes what we are doing frequently in Software Development'/><author><name>Benedict Alphonse</name><uri>http://www.blogger.com/profile/06273740826562598488</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_47TBi7XxXXY/Sg2nBmAKJKI/AAAAAAAABbw/a6YHZHKfCBE/S220/IMG_0125_Edited11.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2918706867610266523.post-8809790687167604059</id><published>2009-05-31T21:03:00.002+05:30</published><updated>2009-05-31T21:07:12.270+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Software Development'/><title type='text'>Software Developer - Must Know</title><content type='html'>&lt;span style="font-weight:bold;"&gt;  1. Time spent writing great code&lt;/span&gt;
      It’s not about the quantity it’s the quality!  However a twist to this is: It is about the quantity, and the quality.  Far too many times you will get one of two scenarios. 

      In scenario A, you have a developer that pumps out code like mad, things seem to be working… then bugs start happening, you don’t know why, seems to take forever to fix!  Or they fix 10 and cause 5 more!  But you get a lot of code…

      In scenario B, you have a developer that seems so smart!  You interview him and he knows everything about everything, can speak the theory up and down!  Yet for some reason, you have assigned him three features, and three weeks later, he is still working on something that should have been done in 3 days!  You are so confused!  He is so smart! He knows everything about generics, multi-threading, and can explain pointers to your grandmother and make her excited to want to code! Why is nothing getting done?!

      In your dream scenario, you get great code!  Great code is done by a great developer that is super smart, knows what quality code is, and writes code like Tony Hawk rides his skateboard.  It looks so natural!  He or she is almost entertaining to watch!  They also get it done at blinding speeds!  They know how long each problem should take, and do not get caught up in finding the world’s best solution, that has multiple threads and layers, to write a game of pong.  Bugs are nonexistent because they write unit tests for themselves, and just plain can code in their sleep!  These guys are worth their weight in GOLD! 
&lt;span style="font-weight:bold;"&gt;   2. Interpretation of the problem&lt;/span&gt;
      So there is a problem out there, with millions of ways to solve it.  Some people are just natural quick thinkers and can come up with multiple solutions instantly.  However, what a great developer would do is totally define the problem before doing anything!  A great developer will create a document or whiteboard the problem out.  They will email their managers and say things like “Can we meet so I can explain to you how I understand the problem?”  Next they will start giving you various solutions, etc.

      See, a great developer knows that the way they see the problem and interpret the problem, is probably not the way that the problem creator intended it to be understood. This is a key point, commit this to memory! A great developer will want to understand it fully, before attempting to approach a solution.  Do you understand the problem 100%, no?  99%?  Go ask more questions and be sure you are 100% clear!
&lt;span style="font-weight:bold;"&gt;   3. How the problem is approached&lt;/span&gt;
      So once you have clearly defined the problem, you start coding right? Wrong!  A great developer will look at the layout, and start thinking of various options, and based on the problem, will start thinking about the best approach to solve the problem.  I view this like a game of chess.  You can know how all the pieces move, know all the rules of the game, but do you just start moving?  No!  You analyze the board, come up with a game plan, look at your opponent, and look at what he or she usually do.  It’s the same case when you approach a problem. 

      Look at the problem, figure out what the outcome needs to be, what kind of time you have, the quality being expected, the tools you have to work with, etc.  Then, start solving the problem. 
 &lt;span style="font-weight:bold;"&gt;  4. Confidence in code&lt;/span&gt;
      As a manager, how confident can you be in their code.  Some developers you can say “I need this completed by Friday”  come Friday, you get an email saying “I have checked the code into the branch, it is ready for testing” and you  just know that there will be very little, if any, bugs found by the quality assurance team.  On the flip side, there are some developers that will email you instead and say “I am still not done, and it will be done on Monday morning first thing.”  And you are nearly 95% sure that it will be there, however it will be ridden with bugs, and basically unusable for days, if not weeks, until bugs are completely ironed out of the code. 

      Bottom line: The higher the confidence you can have in a developer, the closer they get to being great developers!  Imagine being your manager, and the weight you lift off their shoulders if he doesn’t have to worry about your code!
&lt;span style="font-weight:bold;"&gt;   5. Confidence in the solution&lt;/span&gt;
      It’s one thing to be confident in the code.  If you have a great developer on your hands, you are confident in the solution.  These great developers will be great architects.  They are able to dissect the whole problem, and figure out how the problem needs to be solved. See it’s not just about coding with great code, it’s also largely about how you architect the solution!  This is a key point, and really what separates the good, from the great in the software world. 
  &lt;span style="font-weight:bold;"&gt; 6. Meets user requirements&lt;/span&gt;
      At the end of the day, you can have the best code, and the best solution possible, with all the best architecture, but does it meet the user’s requirement?  It’s possible not!  And you have completely failed.  Now there are various degrees of missing the mark, but a great developer will hit the bull’s-eye consistently!  They find out exactly what the user wants, come up with a great approach, show the user what they will get every step of the way with weekly builds that have no bugs, and continue to build upon the last version.  Requirements are bang on, and the users do the jig!
   &lt;span style="font-weight:bold;"&gt;7. Staying up to date&lt;/span&gt;
      Great developers are constantly updating their skills independently and proactively!  They thirst for new knowledge and perfection like a cat with milk.  They don’t wait for their managers to come to them and set goals, ask them to take courses, or are given books to get up to speed on.  They go and get these things on their own! 

      They find the conferences they want to go to, and send emails like “I would really love to go to Tech-Ed This Year!  I will learn &lt;insert reasons here&gt;, and I will be able to contribute to &lt;insert projects here&gt;.  I foresee this saving us &lt;money/metric reasons here&gt;.  If it’s at all possible, can the company help me pay for this trip?”  If someone sent me this, I would not only help pay, I would pay the entire trip! 

      Great developers are always attending all the user groups, like a .net user group for example, or a Java user group.  They go to the “free local” meetings, and do whatever it takes to feed their brains!  Do you read all the latest blogs and magazines?  List your top 5 favorite development blogs right now!  Can you do it? You should be able to drop them like you can do the actions to the YMCA!  Stay up to date, it will stretch your mind!  You will have the next big idea!  You will be rewarded! 
 &lt;span style="font-weight:bold;"&gt;  8. Contributes to team&lt;/span&gt;
      You can be one of the best, if not the best coder, architect, most brilliant guy on the team, but as far as I am concerned, if you are not able to share and contribute to your team, you are losing about half your value, if not more!  A great developer makes others great around them! See, a good developer keeps getting better and better, but doesn’t share the knowledge they obtain, or how they obtain it. 

      They learn new things, find out about new technologies, but don’t let anyone know about them!  A good developer finishes their projects on time, but when push comes to shove, is not there for the rest of the team.  A great developer is in touch with all the projects that are going on within the team, and is ready to lend a helping hand when needed! They will say things like “I noticed team A is working on &lt;issue&gt;, and I think I can help out, do you mind?”
&lt;span style="font-weight:bold;"&gt;   9. Makes great meeting minutes&lt;/span&gt;
      This is incredibly important!  There is nothing worse than calling a meeting, taking the time to explain new concepts, new ideas, brainstorm, come up with great designs, and not have anyone taking meeting minutes!  Even if you have a designated meeting taker, I want to see everyone showing up with a pen, and paper (developer notebook is preferred).  A great developer takes great notes!  They write out all meeting minutes, and at the end of the meetings can be heard saying “So just to confirm, my action items are:  &lt;action items here&gt;.  Did I get everything?” 

      Next, a great developer will send their meeting minutes to the manger, listing the date of the meeting, the topic, and attendees.  Following this, you will have the action items at the top, with who is the champion of the item.  Below that, you have the detailed meeting minutes.  A good developer, takes no meeting minutes, says yes every time you add something to his list… and hopes that his memory will serve him well.  He then later emails you to check out his changes, and you cringe as you see he forgot a few things, but got 90% if it correct.  This is a HUGE WASTE of time!  For no reason at all!  Take Great Meeting Minutes! 
&lt;span style="font-weight:bold;"&gt;  10. Teachable and takes criticism well&lt;/span&gt;
      If you have read this far, then hopefully you are taking all this in and will be trying to implement some of my suggestions in your day to day development efforts.  See, another key area is the developers’ ability to learn from others, and take criticism well!  By making yourself a teachable person, you turn into a sponge, and absorb enormous amounts of knowledge faster!  Your seniors are there for a reason!  Sure, they might be rusty at day to day coding, but they have gone through the trenches, and been through hundreds of battles, and have the wounds and scares!  They have the “Blink” instinct to make great decisions, and make you great!  They are in the position they are in because they LOVE to see you succeed, and want to make you grow! 

      Of course, this is the ideal work environment, but that’s where you want to be anyway if you are a great developer!  I absolutely guarantee you, and promise you, that the better you can improve this skill, make yourself extremely teachable, make notes on suggestions and criticism, and make a point of improving them, the better chance you have at becoming greater than you have ever imagined possible!  If you on the other hand, choose to think of yourself as “elite”, and have nothing more to learn, you will always be stuck where you are.  If you are not growing, you are not even staying at status quo, you are dying!  Grow! 
&lt;span style="font-weight:bold;"&gt;  11. Always available when needed&lt;/span&gt;
      This is a give and take.  If you are working for a great company, they will be flexible with you.  They should never question doctor’s appointments that you couldn’t schedule after work, start times, end times, or lunch breaks.  They should encourage you to go to the gym at lunch, pay for lunches when you go out with the team, etc.  They should give you a few days off after some crunch time work.  This list goes on and on. 

      However, with all those perks, comes responsibility, no question!  If it’s crunch time, a great developer will suggest to you that he will come in on the weekend if needed.  They will stay as late as possible and as late as is needed to ensure the job gets done!  See, great developers take responsibility for their creations!  Now, this is not a necessity of course, but it is the mark of a great developer. Some people just want the 8-4:30, and will be good developers, but they will never be great. Great developers are team players to the end, and view their work like art, and view their team, like a family.
&lt;span style="font-weight:bold;"&gt;  12. Dress’s professionally every day&lt;/span&gt;
      You never know when a client will come by on a tour.  You never know when you will be called into a meeting, not everything is planned.  And when that time comes, you have to be ready to dance!  A good developer wears normal clothes Monday to Friday, even stretches it with black jeans, and runners that look like dress shoes.  On casual Fridays, they wear shorts, runners, and a T-shirt.  When the tour comes by on Friday with a new huge account, you can’t call on him to join you for lunch because he is not dressed appropriately.

      A great developer dresses in great business clothes Monday to Friday. They dress for success!  See, by looking the part, you become the part!  Of course, if you have no skills, you will not be promoted to a manager or team leader just because you dress sharp.  But if you have great skills, and dress in a suit and tie, you have just catapulted yourself up in rank, no question.  The 400 dollars you will spend on a decent suit and tie will pay you back within the year.  I promise you! 
&lt;span style="font-weight:bold;"&gt;  13. Communication Ability&lt;/span&gt;
      This is another critical category!  There are so many good developers out there, but there are not a lot of great developers.  Why?  Because a lot of the good developers, are terrible communicators.  There are many levels of communication, ranging from email, to small SCRUM meetings, all the way up to large executive meetings and your ability to contribute at the executive level.  Then you get to “The Show” where you are presenting for hundreds of people, showing off software.  While you don’t need to get to the final stages, you need to be able to at least communicate your ideas clearly and effectively in meetings.  The better your communication, the farther you will go. 

      Bottom line:  If you want to be an executive, you have to be a 9 or 10 at communication. Even when you take meeting minutes, or send out status reports, you need to communicate extremely well!  Don’t just say “I fixed bug 1371″ on your daily report!  Show off; explain how hard it was to solve the problem, how long, or how quick you solved it!  Explain the technology you used!  And explain how you will ensure the problem doesn’t happen again.  Your status reports should not be a bad thing you don’t like to do!  They should be an exciting part of your week where you get to show off to your manager!
 &lt;span style="font-weight:bold;"&gt; 14. Goal Setting Skill&lt;/span&gt;
      Good developers can get things done, and go throughout their day to day by doing what you tell them to do.  They don’t really think far ahead and think of what they want to be doing in a year, five years, or even 10 years.  Some good developers know what they want… but have no real plan to get there!  A great developer has the goals for the year, the next five years, and knows roughly where he will be in 10 years.  

      Great developers also take it to the next level by not only thinking about their goals, but also visualize it!  They can see exactly what they will be doing in five years, to the level of where they will be doing it.  Even more, a great developer will create a detailed plan for his next year, complete with courses he will take, projects he will complete, and relationships he will build. 
&lt;span style="font-weight:bold;"&gt;  15. Organizational Skill&lt;/span&gt;
      The final key component that really brings everything together is organization.  You may be the best developer in the world, but if you are not organized, you will fall apart and become bogged down!  Eventually you will be overwhelmed and start losing your edge.  Great developers keep an extremely clean desk, they keep all their notebooks, and write very clearly.  They print out their daily outlook calendar of meetings and tasks.  They have an inbox process to deal with emails, meetings, and new assignments.  They keep file folders and can instantly pull up projects, meeting minutes, and other details when asked to produce them.

&lt;span style="font-weight:bold;"&gt;Bonus Tip:  Passion!&lt;/span&gt;
One of my team members read my post and reminded me of something that every single person on my team has in buckets!  Passion!  Without passion in what you do day to day, you will not be a great developer, or great at anything for that matter.  Lack of passion is the number one reason so many developers never become great!  It is also the number one reason people do not succeed! A passionate developer will outperform even the best technical developers if they are not passionate about their job, their role, and their project.  Think about it, if you have read this far, are you going to make an effort to make all the changes I listed?  They seem simple, but without the passion to do these things, are you really going to commit today and be successful?

So there you have it!  These are some of the key principles I am using in rating my development team during the review process.  Mind you, I provide my team members with the best environment I possibly can, and in return I want great developers!  And they want to all be great developers!  You can use these rules to rate your developers, or if you are a developer yourself, please use this list to make changes if needed, and catapult your career past your peers!  

Credit goes to original author : &lt;a href="http://www.realsoftwaredevelopment.com/"&gt;http://www.realsoftwaredevelopment.com/ &lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2918706867610266523-8809790687167604059?l=bennyindia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bennyindia.blogspot.com/feeds/8809790687167604059/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2918706867610266523&amp;postID=8809790687167604059' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2918706867610266523/posts/default/8809790687167604059'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2918706867610266523/posts/default/8809790687167604059'/><link rel='alternate' type='text/html' href='http://bennyindia.blogspot.com/2009/05/software-developer-must-know.html' title='Software Developer - Must Know'/><author><name>Benedict Alphonse</name><uri>http://www.blogger.com/profile/06273740826562598488</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_47TBi7XxXXY/Sg2nBmAKJKI/AAAAAAAABbw/a6YHZHKfCBE/S220/IMG_0125_Edited11.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2918706867610266523.post-3909966476944816836</id><published>2009-05-29T19:22:00.001+05:30</published><updated>2009-05-29T19:31:51.654+05:30</updated><title type='text'>Javascript Custom Functions Part 2</title><content type='html'>&lt;h3&gt;&lt;a name="addSpace"&gt;addSpace&lt;/a&gt;&lt;/h3&gt; &lt;a name="addSpace"&gt;Add space to the beginning of an argument. &lt;/a&gt;&lt;h3&gt;&lt;a name="addSpace"&gt;Syntax&lt;/a&gt;&lt;/h3&gt; &lt;a name="addSpace"&gt;addSpace(&lt;i&gt;stringValue&lt;/i&gt;, [&lt;i&gt;numlength&lt;/i&gt;])&lt;/a&gt;&lt;p&gt; &lt;a name="addSpace"&gt;&lt;i&gt;stringValue&lt;/i&gt; is the string which you want to add the space to.
&lt;i&gt;numlenght&lt;/i&gt; is the length of the return string, i.e. add space/s to the string to make it "numlength" long. Default "numlength" is 10.&lt;/a&gt;&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;h3&gt;&lt;a name="addSpace"&gt;Description&lt;/a&gt;&lt;/h3&gt; &lt;a name="addSpace"&gt;When you want to align the value of the form text box, you can use this function. &lt;/a&gt;&lt;h3&gt;&lt;a name="addSpace"&gt;Examples&lt;/a&gt;&lt;/h3&gt; &lt;pre&gt;&lt;a name="addSpace"&gt;The following returns "    123.45".
addSpace("123.45", 10);
addSpace("123.45");

&lt;/a&gt;&lt;h3&gt;&lt;a name="addSpace"&gt;Code&lt;/a&gt;&lt;/h3&gt;
&lt;a name="addSpace"&gt;function addSpace(argvalue, numlength) {

 if (! numlength &gt; 0)
   numlength = 10;

 if (argvalue.length &lt; numlength) {
   for(var i = argvalue.length; i &lt; numlength; i++)
     argvalue = " " + argvalue;
 }

 return argvalue;

}
&lt;/a&gt;&lt;/pre&gt; &lt;hr /&gt; &lt;a name="customSplit"&gt; &lt;/a&gt;&lt;h3&gt;&lt;a name="customSplit"&gt;customSplit&lt;/a&gt;&lt;/h3&gt; &lt;a name="customSplit"&gt;Split the argument string into an array of strings.&lt;/a&gt;&lt;p&gt; &lt;/p&gt;&lt;h3&gt;&lt;a name="customSplit"&gt;Syntax&lt;/a&gt;&lt;/h3&gt; &lt;a name="customSplit"&gt;customSplit(&lt;i&gt;strValue&lt;/i&gt;, &lt;i&gt;separator&lt;/i&gt;, &lt;i&gt;strArrayName&lt;/i&gt;)&lt;/a&gt;&lt;p&gt; &lt;a name="customSplit"&gt;&lt;i&gt;strValue&lt;/i&gt; is the string to be splited with &lt;i&gt;separator&lt;/i&gt; as the delimeter. After spliting, array of strings are stored in new "Array" object, &lt;i&gt;strArrayName&lt;/i&gt;. &lt;/a&gt;&lt;/p&gt;&lt;h3&gt;&lt;a name="customSplit"&gt;Description&lt;/a&gt;&lt;/h3&gt; &lt;a name="customSplit"&gt;Since some of the browsers does not support latest version of  &lt;i&gt;javascript&lt;/i&gt;, which has &lt;i&gt;split()&lt;/i&gt; function. "customSplit" function can be used then.&lt;/a&gt;&lt;p&gt; &lt;a name="customSplit"&gt;This function will return the length of the array created.&lt;/a&gt;&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;h3&gt;&lt;a name="customSplit"&gt;Examples&lt;/a&gt;&lt;/h3&gt;&lt;pre&gt;&lt;a name="customSplit"&gt;var strvalue = "abc##123##zzz##$$$";
var returnArraySize = customSplit(strvalue, "##", "NewArray");
The above will create the following:
NewArray[0] has value "abc"
NewArray[1] has value "123"
NewArray[2] has value "zzz"
NewArray[3] has value "$$$"
returnArraySize      has value "4"

&lt;/a&gt;&lt;h3&gt;&lt;a name="customSplit"&gt;Code&lt;/a&gt;&lt;/h3&gt;
&lt;a name="customSplit"&gt;function customSplit(strvalue, separator, arrayName) {
 var n = 0;

 if (separator.length != 0) {
   while (strvalue.indexOf(separator) != -1) {
     eval("arr"+n+" = strvalue.substring(0, strvalue.indexOf(separator));");
     strvalue = strvalue.substring(strvalue.indexOf(separator)+separator.length,
         strvalue.length+1);
     n++;
   }
   eval("arr" + n + " = strvalue;");
   arraySize = n+1;
 }
 else {
   for (var x = 0; x &lt; strvalue.length; x++) {
     eval("arr"+n+" = \"" + strvalue.substring(x, x+1) + "\";");
     n++;
   }
   arraySize = n;
 }

 eval(arrayName + " = new makeArray(arraySize);");

 for (var i = 0; i &lt; arraySize; i++)
   eval(arrayName + "[" + i + "] = arr" + i + ";");

 return arraySize;
}
&lt;/a&gt;&lt;/pre&gt; &lt;hr /&gt; &lt;a name="DeleteCookie"&gt; &lt;/a&gt;&lt;h3&gt;&lt;a name="DeleteCookie"&gt;DeleteCookie function&lt;/a&gt;&lt;/h3&gt; &lt;a name="DeleteCookie"&gt;Delete the cookie.&lt;/a&gt;&lt;p&gt; &lt;/p&gt;&lt;h3&gt;&lt;a name="DeleteCookie"&gt;Syntax&lt;/a&gt;&lt;/h3&gt; &lt;a name="DeleteCookie"&gt;DeleteCookie(&lt;i&gt;cookieName&lt;/i&gt;)&lt;/a&gt;&lt;p&gt; &lt;a name="DeleteCookie"&gt;&lt;i&gt;cookieName&lt;/i&gt; is the cookie that you want to delete.&lt;/a&gt;&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;h3&gt;&lt;a name="DeleteCookie"&gt;Description&lt;/a&gt;&lt;/h3&gt; &lt;h3&gt;&lt;a name="DeleteCookie"&gt;Examples&lt;/a&gt;&lt;/h3&gt;&lt;pre&gt;&lt;h3&gt;&lt;a name="DeleteCookie"&gt;Code&lt;/a&gt;&lt;/h3&gt;
&lt;a name="DeleteCookie"&gt;function DeleteCookie(cookiename) {
 var exp = new Date();

 exp.setTime(exp.getTime() - 1);
 var cookieVal = getCookie(cookiename);
 if (cookieVal != null)
   document.cookie = name + "=" + cookieVal + "; expires=" + exp.toGMTString();

 return;

}
&lt;/a&gt;&lt;/pre&gt; &lt;h3&gt;&lt;a name="DeleteCookie"&gt;See also&lt;/a&gt;&lt;/h3&gt; &lt;blockquote&gt;&lt;a href="http://www.tneoh.zoneit.com/javascript/js_func.html#getCookie"&gt;getCookie&lt;/a&gt; functions. &lt;/blockquote&gt; &lt;hr /&gt; &lt;a name="formatDecimal"&gt; &lt;/a&gt;&lt;h3&gt;&lt;a name="formatDecimal"&gt;formatDecimal function&lt;/a&gt;&lt;/h3&gt; &lt;a name="formatDecimal"&gt;Print the floating point number with certain decimal point.&lt;/a&gt;&lt;p&gt; &lt;/p&gt;&lt;h3&gt;&lt;a name="formatDecimal"&gt;Syntax&lt;/a&gt;&lt;/h3&gt; &lt;a name="formatDecimal"&gt;formatDecimal(&lt;i&gt;number&lt;/i&gt;, &lt;i&gt;boolean&lt;/i&gt;, &lt;i&gt;decimal&lt;/i&gt;)&lt;/a&gt;&lt;p&gt; &lt;a name="formatDecimal"&gt;&lt;i&gt;number&lt;/i&gt; is the floating point number which will be formatted.&lt;/a&gt;&lt;/p&gt;&lt;p&gt; &lt;a name="formatDecimal"&gt;&lt;i&gt;boolean&lt;/i&gt; is used to decide whether add "0" at the end of the floating point number or not.&lt;/a&gt;&lt;/p&gt;&lt;p&gt; &lt;a name="formatDecimal"&gt;&lt;i&gt;decimal&lt;/i&gt; is how many decimal point you wnat. (&lt;b&gt;Default is 2&lt;/b&gt;)&lt;/a&gt;&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;h3&gt;&lt;a name="formatDecimal"&gt;Description&lt;/a&gt;&lt;/h3&gt; &lt;a name="formatDecimal"&gt;This function will print the floating point number passed in with the decimal point that users need.&lt;/a&gt;&lt;p&gt; &lt;/p&gt;&lt;h3&gt;&lt;a name="formatDecimal"&gt;Examples&lt;/a&gt;&lt;/h3&gt;&lt;pre&gt;&lt;a name="formatDecimal"&gt;formatDecimal("123.2333", true, 2); will return "123.23".
formatDecimal("123", true, 2);  will return "123.00".
formatDecimal("123", false, 2);  will return "123".
formatDecimal("123.2", true, 2); will return "123.20".
formatDecimal("123.2", false, 2); will return "123.2".
formatDecimal("123.456", true, 2); will return "123.46".
formatDecimal(".235", true, 2);  will return "0.24".
formatDecimal("0.9999", true, 2); will return "1.00".
formatDecimal("0.9999", false, 2); will return "1".


&lt;/a&gt;&lt;h3&gt;&lt;a name="formatDecimal"&gt;Code&lt;/a&gt;&lt;/h3&gt;
&lt;a name="formatDecimal"&gt;function formatDecimal(argvalue, addzero, decimaln) {
 var numOfDecimal = (decimaln == null) ? 2 : decimaln;
 var number = 1;

 number = Math.pow(10, numOfDecimal);

 argvalue = Math.round(parseFloat(argvalue) * number) / number;
 // If you're using IE3.x, you will get error with the following line.
 // argvalue = argvalue.toString();
 // It works fine in IE4.
 argvalue = "" + argvalue;

 if (argvalue.indexOf(".") == 0)
   argvalue = "0" + argvalue;

 if (addzero == true) {
   if (argvalue.indexOf(".") == -1)
     argvalue = argvalue + ".";

   while ((argvalue.indexOf(".") + 1) &gt; (argvalue.length - numOfDecimal))
     argvalue = argvalue + "0";
 }

 return argvalue;
}
&lt;/a&gt;&lt;/pre&gt; &lt;h3&gt;&lt;a name="formatDecimal"&gt;See also&lt;/a&gt;&lt;/h3&gt; &lt;blockquote&gt;&lt;a href="http://www.tneoh.zoneit.com/javascript/js_func.html#formatValue"&gt;formatCurrency&lt;/a&gt; function. &lt;/blockquote&gt; &lt;hr /&gt; &lt;a name="formatValue"&gt; &lt;/a&gt;&lt;h3&gt;&lt;a name="formatValue"&gt;formatValue function&lt;/a&gt;&lt;/h3&gt; &lt;a name="formatValue"&gt;Print a number according to the format specified. Used for currency format.&lt;/a&gt;&lt;p&gt; &lt;/p&gt;&lt;h3&gt;&lt;a name="formatValue"&gt;Syntax&lt;/a&gt;&lt;/h3&gt; &lt;a name="formatValue"&gt;formatValue(&lt;i&gt;argvalue&lt;/i&gt;, &lt;i&gt;format&lt;/i&gt;)&lt;/a&gt;&lt;p&gt; &lt;a name="formatValue"&gt;&lt;i&gt;argvalue&lt;/i&gt; is the number which will be formatted.&lt;/a&gt;&lt;/p&gt;&lt;p&gt; &lt;a name="formatValue"&gt;&lt;i&gt;format&lt;/i&gt; is the format of the result.&lt;/a&gt;&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;h3&gt;&lt;a name="formatValue"&gt;Description&lt;/a&gt;&lt;/h3&gt; &lt;a name="formatValue"&gt;The number passed in will be formatted according to the format specified by the user. This function is written for formatting a currency number.&lt;/a&gt;&lt;p&gt; &lt;a name="formatValue"&gt;And &lt;/a&gt;&lt;a href="http://www.tneoh.zoneit.com/javascript/js_func.html#formatDecimal"&gt;formatDecimal&lt;/a&gt; function is needed.&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;h3&gt;Examples&lt;/h3&gt;&lt;pre&gt;formatValue(1223.434, "$##,###.##")  will return "$1,223.43"
formatValue(1223.43, "$##,###.##")  will return "$1,223.43"
formatValue(1223., "$##,###.##")  will return "$1,223.00"
formatValue(1223, "$##,###.##")  will return "$1,223.00"
formatValue(23., "$##,###.##")   will return "$23.00"
formatValue(23.3, "$##,###.##")  will return "$23.30"
formatValue(124343423.3, "$###,###,###.##") will return "$124,343,423.30"

&lt;h3&gt;Code&lt;/h3&gt;
function formatValue(argvalue, format) {
 var numOfDecimal = 0;
 if (format.indexOf(".") != -1) {
   numOfDecimal = format.substring(format.indexOf(".") + 1, format.length).length;
 }
 argvalue = formatDecimal(argvalue, true, numOfDecimal);

 argvalueBeforeDot = argvalue.substring(0, argvalue.indexOf("."));
 retValue = argvalue.substring(argvalue.indexOf("."), argvalue.length);

 strBeforeDot = format.substring(0, format.indexOf("."));

 for (var n = strBeforeDot.length - 1; n &gt;= 0; n--) {
   oneformatchar = strBeforeDot.substring(n, n + 1);
   if (oneformatchar == "#") {
     if (argvalueBeforeDot.length &gt; 0) {
       argvalueonechar = argvalueBeforeDot.substring(argvalueBeforeDot.length - 1, argvalueBeforeDot.length);
       retValue = argvalueonechar + retValue;
       argvalueBeforeDot = argvalueBeforeDot.substring(0, argvalueBeforeDot.length - 1);
     }
   }
   else {
     if (argvalueBeforeDot.length &gt; 0 || n == 0)
       retValue = oneformatchar + retValue;
   }
 }

 return retValue;
}
&lt;/pre&gt; &lt;h3&gt;See also&lt;/h3&gt; &lt;blockquote&gt;&lt;a href="http://www.tneoh.zoneit.com/javascript/js_func.html#formatDecimal"&gt;formatDecimal&lt;/a&gt; function. &lt;/blockquote&gt; &lt;hr /&gt; &lt;a name="GetCookie"&gt; &lt;/a&gt;&lt;h3&gt;&lt;a name="GetCookie"&gt;GetCookie function&lt;/a&gt;&lt;/h3&gt; &lt;a name="GetCookie"&gt;Get the value of a cookie.&lt;/a&gt;&lt;p&gt; &lt;/p&gt;&lt;h3&gt;&lt;a name="GetCookie"&gt;Syntax&lt;/a&gt;&lt;/h3&gt; &lt;a name="GetCookie"&gt;GetCookie(&lt;i&gt;CookieName&lt;/i&gt;)&lt;/a&gt;&lt;p&gt; &lt;a name="GetCookie"&gt;&lt;i&gt;CookieName&lt;/i&gt; is the cookie whose value that you want to get.&lt;/a&gt;&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;h3&gt;&lt;a name="GetCookie"&gt;Description&lt;/a&gt;&lt;/h3&gt; &lt;a name="GetCookie"&gt;If the cookie specified doesn't exist, "&lt;i&gt;null&lt;/i&gt;" will be returned.&lt;/a&gt;&lt;p&gt; &lt;/p&gt;&lt;h3&gt;&lt;a name="GetCookie"&gt;Examples&lt;/a&gt;&lt;/h3&gt;&lt;pre&gt;&lt;a name="GetCookie"&gt;If the document.cookie contains:
USER_ID=abc
USER_GP=

// variable "userid" has value "abc".
var userid = GetCookie("USER_ID");
// variable "usergp" has value "".
var usergp = GetCookie("USER_GP");
// variable "userpw" has null value.
var userpw = GetCookie("USER_PW");

&lt;/a&gt;&lt;h3&gt;&lt;a name="GetCookie"&gt;Code&lt;/a&gt;&lt;/h3&gt;
&lt;a name="GetCookie"&gt;function GetCookie(name) {
 var arg = name + "=";
 var alen = arg.length;
 var clen = document.cookie.length;
 var i = 0;

 while (i &lt; clen) {
   var j = i + alen;

   if (document.cookie.substring(i, j) == arg)
     return GetCookieVal(j);

   i = document.cookie.indexOf(" ", i) + 1;

   if (i == 0)
     break;
 }

 return null;
}

function GetCookieVal(offset) {
 var endstr = document.cookie.indexOf(";", offset);

 if (("" + endstr) == "" || endstr == -1)
   endstr = document.cookie.length;

 return unescape(document.cookie.substring(offset, endstr));
}
&lt;/a&gt;&lt;/pre&gt; &lt;hr /&gt; &lt;a name="isEmail"&gt; &lt;/a&gt;&lt;h3&gt;&lt;a name="isEmail"&gt;isEmail function&lt;/a&gt;&lt;/h3&gt; &lt;a name="isEmail"&gt;Determine an argument if it is an email address format.&lt;/a&gt;&lt;p&gt; &lt;/p&gt;&lt;h3&gt;&lt;a name="isEmail"&gt;Syntax&lt;/a&gt;&lt;/h3&gt; &lt;a name="isEmail"&gt;isEmail(&lt;i&gt;testValue&lt;/i&gt;)&lt;/a&gt;&lt;p&gt; &lt;a name="isEmail"&gt;&lt;i&gt;testValue&lt;/i&gt; is the value that you want to check.&lt;/a&gt;&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;h3&gt;&lt;a name="isEmail"&gt;Description&lt;/a&gt;&lt;/h3&gt; &lt;a name="isEmail"&gt;This function only check if the argument has email address's format, i.e. id@some.host, it will not connect to some.host to check if it is valid. There is not any method to validate an email address except you ask the user  to key in their correct email address.&lt;/a&gt;&lt;p&gt; &lt;a name="isEmail"&gt;It is better you use &lt;/a&gt;&lt;a href="http://www.tneoh.zoneit.com/javascript/js_func.html#trim"&gt;trim&lt;/a&gt; to remove both the leading  and the trailing space/s before you pass the value to this function.&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;h3&gt;Examples&lt;/h3&gt;&lt;pre&gt;The following return "&lt;i&gt;true&lt;/i&gt;".
isEmail("abc@some.host");

The followings return "&lt;i&gt;false&lt;/i&gt;".
isEmail("abc");
isEmail("abc@somehost");
isEmail("abc@.some.host");
isEmail("abc@some.host.");

&lt;h3&gt;Code&lt;/h3&gt;
function isEmail(argvalue) {

 if (argvalue.indexOf(" ") != -1)
   return false;
 else if (argvalue.indexOf("@") == -1)
   return false;
 else if (argvalue.indexOf("@") == 0)
   return false;
 else if (argvalue.indexOf("@") == (argvalue.length-1))
   return false;

 // arrayString = argvalue.split("@"); (works only in netscape3 and above.)
 var retSize = customSplit(argvalue, "@", "arrayString");

 if (arrayString[1].indexOf(".") == -1)
   return false;
 else if (arrayString[1].indexOf(".") == 0)
   return false;
 else if (arrayString[1].charAt(arrayString[1].length-1) == ".") {
   return false;
 }

 return true;

}
&lt;/pre&gt; &lt;hr /&gt; &lt;a name="isURL"&gt; &lt;/a&gt;&lt;h3&gt;&lt;a name="isURL"&gt;isURL function&lt;/a&gt;&lt;/h3&gt; &lt;a name="isURL"&gt;Determine an argument if it is a URL.&lt;/a&gt;&lt;p&gt; &lt;/p&gt;&lt;h3&gt;&lt;a name="isURL"&gt;Syntax&lt;/a&gt;&lt;/h3&gt; &lt;a name="isURL"&gt;isURL(&lt;i&gt;testValue&lt;/i&gt;)&lt;/a&gt;&lt;p&gt; &lt;a name="isURL"&gt;&lt;i&gt;testValue&lt;/i&gt; is the value that you want to check.&lt;/a&gt;&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;h3&gt;&lt;a name="isURL"&gt;Description&lt;/a&gt;&lt;/h3&gt; &lt;h3&gt;&lt;a name="isURL"&gt;Examples&lt;/a&gt;&lt;/h3&gt;&lt;pre&gt;&lt;a name="isURL"&gt;The followings will return "&lt;i&gt;true&lt;/i&gt;".
isURL("http://some.host");
isURL("http://some.host/");
isURL("http://some.host/dir");
isURL("http://some.host/dir/");
isURL("http://some.host/dir/htmlfile");
isURL("http://some.host:123");
isURL("http://some.host:123/");

The followings will return "&lt;i&gt;false&lt;/i&gt;".
isURL("http://.some.host/");
isURL("http://some.host./");
isURL("http://some.host:/");
isURL("http://some.host:.123/");
isURL("http://some.host:123./");
isURL("http://some.host:123./dir";
isURL("http://");
isURL("htp://");

&lt;/a&gt;&lt;h3&gt;&lt;a name="isURL"&gt;Code&lt;/a&gt;&lt;/h3&gt;
&lt;a name="isURL"&gt;function isURL(argvalue) {

 if (argvalue.indexOf(" ") != -1)
   return false;
 else if (argvalue.indexOf("http://") == -1)
   return false;
 else if (argvalue == "http://")
   return false;
 else if (argvalue.indexOf("http://") &gt; 0)
   return false;

 argvalue = argvalue.substring(7, argvalue.length);
 if (argvalue.indexOf(".") == -1)
   return false;
 else if (argvalue.indexOf(".") == 0)
   return false;
 else if (argvalue.charAt(argvalue.length - 1) == ".")
   return false;

 if (argvalue.indexOf("/") != -1) {
   argvalue = argvalue.substring(0, argvalue.indexOf("/"));
   if (argvalue.charAt(argvalue.length - 1) == ".")
     return false;
 }

 if (argvalue.indexOf(":") != -1) {
   if (argvalue.indexOf(":") == (argvalue.length - 1))
     return false;
   else if (argvalue.charAt(argvalue.indexOf(":") + 1) == ".")
     return false;
   argvalue = argvalue.substring(0, argvalue.indexOf(":"));
   if (argvalue.charAt(argvalue.length - 1) == ".")
     return false;
 }

 return true;

}
&lt;/a&gt;&lt;/pre&gt; &lt;hr /&gt; &lt;a name="isW"&gt; &lt;/a&gt;&lt;h3&gt;&lt;a name="isW"&gt;isW function&lt;/a&gt;&lt;/h3&gt; &lt;a name="isW"&gt;Determine an argument if it only contains "word" characters.&lt;/a&gt;&lt;p&gt; &lt;/p&gt;&lt;h3&gt;&lt;a name="isW"&gt;Syntax&lt;/a&gt;&lt;/h3&gt; &lt;a name="isW"&gt;isW(&lt;i&gt;testValue&lt;/i&gt;)&lt;/a&gt;&lt;p&gt; &lt;a name="isW"&gt;&lt;i&gt;testValue&lt;/i&gt; is the value that you want to check.&lt;/a&gt;&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;h3&gt;&lt;a name="isW"&gt;Description&lt;/a&gt;&lt;/h3&gt; &lt;a name="isW"&gt;"Word" characters are alphanumeric plus "_".&lt;/a&gt;&lt;p&gt; &lt;/p&gt;&lt;h3&gt;&lt;a name="isW"&gt;Example&lt;/a&gt;&lt;/h3&gt;&lt;pre&gt;&lt;a name="isW"&gt;The followings will return "&lt;i&gt;true&lt;/i&gt;".
isW("abc123")
isW("ABC123")
isW("aBc_123")

The followings will return "&lt;i&gt;false&lt;/i&gt;".
isW("abc 123")
isW("@#+=")
isW("! Abc")

&lt;/a&gt;&lt;h3&gt;&lt;a name="isW"&gt;Code&lt;/a&gt;&lt;/h3&gt;
&lt;a name="isW"&gt;function isW(argvalue) {
 var onechar = "";

 for (var n = 0; n &lt; argvalue.length; n++) {
   onechar = argvalue.substring(n, n+1);
   if ((onechar &lt; "0" || onechar &gt; "9") &amp;amp;&amp;amp; (onechar &lt; "A" ||
     onechar &gt; "Z") &amp;amp;&amp;amp; (onechar &lt; "a" || onechar &gt; "z") &amp;amp;&amp;amp;
        (onechar != "_")) {
     return false;
   }
 }

 return true;

}
&lt;/a&gt;&lt;/pre&gt; &lt;hr /&gt; &lt;a name="ltrim"&gt; &lt;/a&gt;&lt;h3&gt;&lt;a name="ltrim"&gt;ltrim function&lt;/a&gt;&lt;/h3&gt; &lt;a name="ltrim"&gt;Remove the leading space/s of an argument.&lt;/a&gt;&lt;p&gt; &lt;/p&gt;&lt;h3&gt;&lt;a name="ltrim"&gt;Syntax&lt;/a&gt;&lt;/h3&gt; &lt;a name="ltrim"&gt;ltrim(&lt;i&gt;stringValue&lt;/i&gt;)&lt;/a&gt;&lt;p&gt; &lt;a name="ltrim"&gt;&lt;i&gt;stringValue&lt;/i&gt; is the string which the leading space/s will be removed.&lt;/a&gt;&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;h3&gt;&lt;a name="ltrim"&gt;Description&lt;/a&gt;&lt;/h3&gt; &lt;h3&gt;&lt;a name="ltrim"&gt;Examples&lt;/a&gt;&lt;/h3&gt;&lt;pre&gt;&lt;a name="ltrim"&gt;The following will return "abc ".
ltrim("  abc ")
The following will return "a b c  ".
ltrim("  a b c  ")

&lt;/a&gt;&lt;h3&gt;&lt;a name="ltrim"&gt;Code&lt;/a&gt;&lt;/h3&gt;
&lt;a name="ltrim"&gt;function ltrim(argvalue) {

 while (1) {
   if (argvalue.substring(0, 1) != " ")
     break;
   argvalue = argvalue.substring(1, argvalue.length);
 }

 return argvalue;
}
&lt;/a&gt;&lt;/pre&gt; &lt;hr /&gt; &lt;a name="makeArray"&gt; &lt;/a&gt;&lt;h3&gt;&lt;a name="makeArray"&gt;makeArray function&lt;/a&gt;&lt;/h3&gt; &lt;a name="makeArray"&gt;Create an array object.&lt;/a&gt;&lt;p&gt; &lt;/p&gt;&lt;h3&gt;&lt;a name="makeArray"&gt;Syntax&lt;/a&gt;&lt;/h3&gt; &lt;a name="makeArray"&gt;makeArray(&lt;i&gt;intArraySize&lt;/i&gt;)&lt;/a&gt;&lt;p&gt; &lt;a name="makeArray"&gt;&lt;i&gt;intArraySize&lt;/i&gt; is the length of the array created.&lt;/a&gt;&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;h3&gt;&lt;a name="makeArray"&gt;Description&lt;/a&gt;&lt;/h3&gt; &lt;a name="makeArray"&gt;Some browser does not support latest &lt;i&gt;javascript&lt;/i&gt; which has Array object. This function can be used in those browser.&lt;/a&gt;&lt;p&gt; &lt;/p&gt;&lt;h3&gt;&lt;a name="makeArray"&gt;Examples&lt;/a&gt;&lt;/h3&gt;&lt;pre&gt;&lt;a name="makeArray"&gt;The following will create an array with 3 in length.
newArray = new makeArray(3);

&lt;/a&gt;&lt;h3&gt;&lt;a name="makeArray"&gt;Code&lt;/a&gt;&lt;/h3&gt;
&lt;a name="makeArray"&gt;function makeArray(IntarrSize) {

 for (var n = 0; n &lt; IntarrSize; n++)
   this[n] = "";

 return this;

}
&lt;/a&gt;&lt;/pre&gt; &lt;hr /&gt; &lt;a name="numCheck"&gt; &lt;/a&gt;&lt;h3&gt;&lt;a name="numCheck"&gt;numCheck function&lt;/a&gt;&lt;/h3&gt; &lt;a name="numCheck"&gt;Determine an argument if it only contains number.&lt;/a&gt;&lt;p&gt; &lt;/p&gt;&lt;h3&gt;&lt;a name="numCheck"&gt;Syntax&lt;/a&gt;&lt;/h3&gt; &lt;a name="numCheck"&gt;numCheck(&lt;i&gt;testValue&lt;/i&gt;)&lt;/a&gt;&lt;p&gt; &lt;a name="numCheck"&gt;&lt;i&gt;testValue&lt;/i&gt; is the value that you want to check.&lt;/a&gt;&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;h3&gt;&lt;a name="numCheck"&gt;Description&lt;/a&gt;&lt;/h3&gt; &lt;a name="numCheck"&gt;numCheck function will return true if the argument only contains "0-9".&lt;/a&gt;&lt;p&gt; &lt;/p&gt;&lt;h3&gt;&lt;a name="numCheck"&gt;Examples&lt;/a&gt;&lt;/h3&gt;&lt;pre&gt;&lt;a name="numCheck"&gt;The followings will return "&lt;i&gt;true&lt;/i&gt;".
numCheck("1234")
numCheck("0123")

The followings will return "&lt;i&gt;false&lt;/i&gt;".
numCheck("abcd")
numCheck("a123")
numCheck("123a")
numCheck("12.3")

&lt;/a&gt;&lt;h3&gt;&lt;a name="numCheck"&gt;Code&lt;/a&gt;&lt;/h3&gt;
&lt;a name="numCheck"&gt;function numCheck(argvalue) {

 if (argvalue.length == 0)
   return false;

 for (var n = 0; n &lt; argvalue.length; n++)
   if (argvalue.substring(n, n+1) &lt; "0" || argvalue.substring(n, n+1) &gt; "9")
     return false;

 return true;

}
&lt;/a&gt;&lt;/pre&gt; &lt;hr /&gt; &lt;a name="ParseCookies"&gt; &lt;/a&gt;&lt;h3&gt;&lt;a name="ParseCookies"&gt;ParseCookies function&lt;/a&gt;&lt;/h3&gt; &lt;a name="ParseCookies"&gt;Parse the cookies data and assign these data to  "document.Cookie_cookie_name".&lt;/a&gt;&lt;p&gt; &lt;/p&gt;&lt;h3&gt;&lt;a name="ParseCookies"&gt;Syntax&lt;/a&gt;&lt;/h3&gt; &lt;a name="ParseCookies"&gt;ParseCookies()&lt;/a&gt;&lt;p&gt; &lt;/p&gt;&lt;h3&gt;&lt;a name="ParseCookies"&gt;Description&lt;/a&gt;&lt;/h3&gt; &lt;a name="ParseCookies"&gt;The value of cookie, cookieName, is stored in  "document.Cookie_cookieName.value".&lt;/a&gt;&lt;p&gt; &lt;a name="ParseCookies"&gt;There are few ways to save the cookie data, but I found that this is the way which works in both Netscape3.0 and Internet Explorer3.0.&lt;/a&gt;&lt;/p&gt;&lt;p&gt;  &lt;/p&gt;&lt;h3&gt;&lt;a name="ParseCookies"&gt;Examples&lt;/a&gt;&lt;/h3&gt;&lt;pre&gt;&lt;a name="ParseCookies"&gt;If the server returns the following cookie:
 &lt;b&gt;Set-Cookie: Cookie1=Value1; Cookie2=Value2&lt;/b&gt;
After you call the ParseCookies().
parseCookies();
"document.Cookie_Cookie1.value" will contains value "Value1";
"document.Cookie_Cookie1.name" will contains value "Cookie1";
"document.Cookie_Cookie2.value" will contains value "Value2";
"document.Cookie_Cookie2.name" will contains value "Cookie2";

&lt;/a&gt;&lt;h3&gt;&lt;a name="ParseCookies"&gt;Code&lt;/a&gt;&lt;/h3&gt;
&lt;a name="ParseCookies"&gt;function ParseCookies() {
 var cookie_string;
 var cookie_name;
 var cookie_value;
 var tmpcookie = document.cookie;
 var cookie_count = 0;

 while (tmpcookie.indexOf("; ") != -1) {
   cookie_string = tmpcookie.substring(0, tmpcookie.indexOf("; "));
   cookie_name = cookie_string.substring(0, cookie_string.indexOf("="));
   cookie_value = cookie_string.substring(cookie_string.indexOf("=") +
       "=".length, cookie_string.length);
   eval("document.Cookie_" + cookie_name +
 " = new Cookies(cookie_name, cookie_value);");

   tmpcookie = tmpcookie.substring(tmpcookie.indexOf("; ") + "; ".length,
       tmpcookie.length);

   cookie_count++;
 }

 cookie_name = tmpcookie.substring(0, tmpcookie.indexOf("="));
 cookie_value = tmpcookie.substring(tmpcookie.indexOf("=") + "=".length,
       tmpcookie.length);
 eval("document.Cookie_" + cookie_name +
 " = new Cookies(cookie_name, cookie_value);");
 cookie_count++;

 return cookie_count;

}

function Cookies(argname, argvalue) {
 this.name = argname;
 this.value = unescape(argvalue);

 return this;

}
&lt;/a&gt;&lt;/pre&gt; &lt;hr /&gt; &lt;a name="replace"&gt; &lt;/a&gt;&lt;h3&gt;&lt;a name="replace"&gt;replace function&lt;/a&gt;&lt;/h3&gt; &lt;a name="replace"&gt;Substitute a string X to a string Y in an argument.&lt;/a&gt;&lt;p&gt; &lt;/p&gt;&lt;h3&gt;&lt;a name="replace"&gt;Syntax&lt;/a&gt;&lt;/h3&gt; &lt;a name="replace"&gt;replace(&lt;i&gt;stringValue&lt;/i&gt;, &lt;i&gt;X&lt;/i&gt;, &lt;i&gt;Y&lt;/i&gt;)&lt;/a&gt;&lt;p&gt; &lt;a name="replace"&gt;&lt;i&gt;stringValue&lt;/i&gt; is the string which has all &lt;i&gt;X&lt;/i&gt; will be substituted by &lt;i&gt;Y&lt;/i&gt;.&lt;/a&gt;&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;h3&gt;&lt;a name="replace"&gt;Description&lt;/a&gt;&lt;/h3&gt; &lt;a name="replace"&gt;This function will replace all the string X to string Y in the argument, it  can not change the string X in certain place.&lt;/a&gt;&lt;p&gt; &lt;/p&gt;&lt;h3&gt;&lt;a name="replace"&gt;Examples&lt;/a&gt;&lt;/h3&gt;&lt;pre&gt;&lt;a name="replace"&gt;The following will return "&lt;i&gt;abcABCdefgh&lt;/i&gt;".
replace("abc123defgh", "123", "ABC");

&lt;/a&gt;&lt;h3&gt;&lt;a name="replace"&gt;Code&lt;/a&gt;&lt;/h3&gt;
&lt;a name="replace"&gt;function replace(argvalue, x, y) {

 if ((x == y) || (parseInt(y.indexOf(x)) &gt; -1)) {
   errmessage = "replace function error: \n";
   errmessage += "Second argument and third argument could be the same ";
   errmessage += "or third argument contains second argument.\n";
   errmessage += "This will create an infinite loop as it's replaced globally.";
   alert(errmessage);
   return false;
 }
  
 while (argvalue.indexOf(x) != -1) {
   var leading = argvalue.substring(0, argvalue.indexOf(x));
   var trailing = argvalue.substring(argvalue.indexOf(x) + x.length,
 argvalue.length);
   argvalue = leading + y + trailing;
 }

 return argvalue;

}
&lt;/a&gt;&lt;/pre&gt; &lt;hr /&gt; &lt;a name="rtrim"&gt; &lt;/a&gt;&lt;h3&gt;&lt;a name="rtrim"&gt;rtrim function&lt;/a&gt;&lt;/h3&gt; &lt;a name="rtrim"&gt;Remove the trailing space/s of an argument.&lt;/a&gt;&lt;p&gt; &lt;/p&gt;&lt;h3&gt;&lt;a name="rtrim"&gt;Syntax&lt;/a&gt;&lt;/h3&gt; &lt;a name="rtrim"&gt;rtrim(&lt;i&gt;stringValue&lt;/i&gt;)&lt;/a&gt;&lt;p&gt; &lt;a name="rtrim"&gt;&lt;i&gt;stringValue&lt;/i&gt; is the string that you want to remove its trailing  space/s.&lt;/a&gt;&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;h3&gt;&lt;a name="rtrim"&gt;Description&lt;/a&gt;&lt;/h3&gt; &lt;h3&gt;&lt;a name="rtrim"&gt;Examples&lt;/a&gt;&lt;/h3&gt;&lt;pre&gt;&lt;a name="rtrim"&gt;The following will return "abc".
rtrim("abc   ")
The following will return "a b c".
rtrim("a b c   ")
The following will return "  abc".
rtrim("  abc  ")

&lt;/a&gt;&lt;h3&gt;&lt;a name="rtrim"&gt;Code&lt;/a&gt;&lt;/h3&gt;
&lt;a name="rtrim"&gt;function rtrim(argvalue) {

 while (1) {
   if (argvalue.substring(argvalue.length - 1, argvalue.length) != " ")
     break;
   argvalue = argvalue.substring(0, argvalue.length - 1);
 }

 return argvalue;
}
&lt;/a&gt;&lt;/pre&gt; &lt;hr /&gt; &lt;a name="SetCookie"&gt; &lt;/a&gt;&lt;h3&gt;&lt;a name="SetCookie"&gt;SetCookie function&lt;/a&gt;&lt;/h3&gt; &lt;a name="SetCookie"&gt;Setting new cookie value.&lt;/a&gt;&lt;p&gt; &lt;/p&gt;&lt;h3&gt;&lt;a name="SetCookie"&gt;Syntax&lt;/a&gt;&lt;/h3&gt; &lt;a name="SetCookie"&gt;SetCookie(&lt;i&gt;cookiename&lt;/i&gt;, &lt;i&gt;cookievalue&lt;/i&gt;, &lt;i&gt;expires&lt;/i&gt;, &lt;i&gt;path&lt;/i&gt;, &lt;i&gt;domain&lt;/i&gt;, &lt;i&gt;secure&lt;/i&gt;)&lt;/a&gt;&lt;p&gt; &lt;/p&gt;&lt;h3&gt;&lt;a name="SetCookie"&gt;Description&lt;/a&gt;&lt;/h3&gt; &lt;a name="SetCookie"&gt;To retrieve the cookie's value, try &lt;/a&gt;&lt;a href="http://www.tneoh.zoneit.com/javascript/js_func.html#parseCookie"&gt;parseCookie&lt;/a&gt;  function.&lt;p&gt; For more information about cookie, see Netscape's Cookie Specification at &lt;a href="http://home.netscape.com/newsref/std/cookie_spec.html"&gt; http://home.netscape.com/newsref/std/cookie_spec.html&lt;/a&gt;. &lt;/p&gt;&lt;h3&gt;Examples&lt;/h3&gt;&lt;pre&gt;SetCookie("Cookie1", "Value1", null, "/");
SetCookie("Cookie2", "Value2", new Date(), "/");
document.cookie will have value "&lt;i&gt;Cookie1=Value1; Cookie2=Value2&lt;/i&gt;".

&lt;h3&gt;Code&lt;/h3&gt;
function SetCookie(cookiename, cookievalue) {
 var argv = SetCookie.arguments;
 var argc = SetCookie.arguments.length;
 var expires = (argc &gt; 2) ? argv[2] : null;
 var path = (argc &gt; 3) ? argv[3] : null;
 var domain = (argc &gt; 4) ? argv[4] : null;
 var secure = (argc &gt; 5) ? argv[5] : false;

 document.cookie = cookiename + "=" + escape(cookievalue) +
   ((expires == null) ? ""      : ("; expires=" + expires.toGMTString())) +
   ((path    == null) ? ""     : ("; path="    + path                 )) +
   ((domain  == null) ? ""      : ("; domain="  + domain               )) +
   ((secure  == true) ? "; secure" : "");

 return;

}
&lt;/pre&gt; &lt;hr /&gt; &lt;a name="trim"&gt; &lt;/a&gt;&lt;h3&gt;&lt;a name="trim"&gt;trim function&lt;/a&gt;&lt;/h3&gt; &lt;a name="trim"&gt;Remove both the leading and the trailing space/s of an argument.&lt;/a&gt;&lt;p&gt; &lt;/p&gt;&lt;h3&gt;&lt;a name="trim"&gt;Syntax&lt;/a&gt;&lt;/h3&gt; &lt;a name="trim"&gt;trim(&lt;i&gt;stringValue&lt;/i&gt;)&lt;/a&gt;&lt;p&gt; &lt;a name="trim"&gt;&lt;i&gt;stringValue&lt;/i&gt; is the string which the leading and the trailing space/s  will be removed.&lt;/a&gt;&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;h3&gt;&lt;a name="trim"&gt;Description&lt;/a&gt;&lt;/h3&gt; &lt;a name="trim"&gt;When you use this function, make sure &lt;/a&gt;&lt;a href="http://www.tneoh.zoneit.com/javascript/js_func.html#ltrim"&gt;ltrim&lt;/a&gt; and  &lt;a href="http://www.tneoh.zoneit.com/javascript/js_func.html#rtrim"&gt;rtrim&lt;/a&gt; are inside the same html file too.&lt;p&gt; &lt;/p&gt;&lt;h3&gt;Examples&lt;/h3&gt;&lt;pre&gt;The following will return "abc".
trim("  abc  ")
The following will return "a b c".
trim("  a b c  ")

&lt;h3&gt;Code&lt;/h3&gt;
function trim(argvalue) {
 var tmpstr = ltrim(argvalue);

 return rtrim(tmpstr);

}
&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2918706867610266523-3909966476944816836?l=bennyindia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bennyindia.blogspot.com/feeds/3909966476944816836/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2918706867610266523&amp;postID=3909966476944816836' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2918706867610266523/posts/default/3909966476944816836'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2918706867610266523/posts/default/3909966476944816836'/><link rel='alternate' type='text/html' href='http://bennyindia.blogspot.com/2009/05/javascript-custom-functions-part-2.html' title='Javascript Custom Functions Part 2'/><author><name>Benedict Alphonse</name><uri>http://www.blogger.com/profile/06273740826562598488</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_47TBi7XxXXY/Sg2nBmAKJKI/AAAAAAAABbw/a6YHZHKfCBE/S220/IMG_0125_Edited11.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2918706867610266523.post-1302772297374065371</id><published>2009-05-29T19:15:00.003+05:30</published><updated>2009-05-29T19:19:44.454+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='General'/><title type='text'>Microsoft's New Decision (Search) Engine - Bing</title><content type='html'>Microsoft Corp. unveiled &lt;a href="http://www.bing.com/"&gt;Bing&lt;/a&gt;, a new Decision Engine and consumer brand, providing customers with a first step in moving beyond search to help make faster, more informed decisions. Bing is specifically designed to build on the benefits of today’s search engines but begins to move beyond this experience with a new approach to user experience and intuitive tools to help customers make better decisions, focusing initially on four key vertical areas: making a purchase decision, planning a trip, researching a health condition or finding a local business. &lt;p&gt;The result of this new approach is an important beginning for a new and more powerful kind of search service, which Microsoft is calling a Decision Engine, designed to empower people to gain insight and knowledge from the Web, moving more quickly to important decisions. The new service, located at &lt;a href="http://www.bing.com/"&gt;http://www.Bing.com&lt;/a&gt;, will begin to roll out over the coming days and will be fully deployed worldwide on Wednesday, June 3.&lt;/p&gt;&lt;p&gt;The explosive growth of online content has continued unabated, and Bing was developed as a tool to help people more easily navigate through the information overload that has come to characterize many of today’s search experiences. Results from a custom comScore Inc. study across core search engines show that as many as 30 percent of searches are abandoned without a satisfactory result. The data also showed that approximately two-thirds of the remaining searches required a refinement or requery on the search results page.&lt;/p&gt;&lt;p&gt;“Today, search engines do a decent job of helping people navigate the Web and find information, but they don’t do a very good job of enabling people to use the information they find,” said Steve Ballmer, Microsoft CEO. “When we set out to build Bing, we grounded ourselves in a deep understanding of how people really want to use the Web. Bing is an important first step forward in our long-term effort to deliver innovations in search that enable people to find information quickly and use the information they’ve found to accomplish tasks and make smart decisions.”
&lt;/p&gt;&lt;p&gt;More Details : &lt;a href="http://www.microsoft.com/presspass/press/2009/may09/05-28NewSearchPR.mspx"&gt;http://www.microsoft.com/presspass/press/2009/may09/05-28NewSearchPR.mspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;
&lt;/p&gt;&lt;p&gt;
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2918706867610266523-1302772297374065371?l=bennyindia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bennyindia.blogspot.com/feeds/1302772297374065371/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2918706867610266523&amp;postID=1302772297374065371' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2918706867610266523/posts/default/1302772297374065371'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2918706867610266523/posts/default/1302772297374065371'/><link rel='alternate' type='text/html' href='http://bennyindia.blogspot.com/2009/05/microsofts-new-decision-search-engine.html' title='Microsoft&apos;s New Decision (Search) Engine - Bing'/><author><name>Benedict Alphonse</name><uri>http://www.blogger.com/profile/06273740826562598488</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_47TBi7XxXXY/Sg2nBmAKJKI/AAAAAAAABbw/a6YHZHKfCBE/S220/IMG_0125_Edited11.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2918706867610266523.post-6959816428345865237</id><published>2009-05-28T17:55:00.004+05:30</published><updated>2009-12-07T16:55:36.986+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Javascript'/><title type='text'>Setting Cursor Position in TextBox  with Javascript</title><content type='html'>&lt;pre class="brush:js"&gt;
function setCaretPosition(elemId, caretPos) {
  var elem = document.getElementById(elemId);

  if(elem != null) {
      if(elem.createTextRange) {
          var range = elem.createTextRange();
          range.move('character', caretPos);
          range.select();
      }
      else {
          if(elem.selectionStart) {
              elem.focus();
              elem.setSelectionRange(caretPos, caretPos);
          }
          else
              elem.focus();
      }
  }
}
&lt;/pre&gt;

The first expected parameter is the ID of the element you wish to insert the cursor on. If the element is unable to be found, nothing will happen (obviously). The second parameter is the caret positon index. Zero will put the cursor at the beginning. If you pass a number larger than the number of characters in the elements value, it will put the cursor at the end.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2918706867610266523-6959816428345865237?l=bennyindia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bennyindia.blogspot.com/feeds/6959816428345865237/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2918706867610266523&amp;postID=6959816428345865237' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2918706867610266523/posts/default/6959816428345865237'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2918706867610266523/posts/default/6959816428345865237'/><link rel='alternate' type='text/html' href='http://bennyindia.blogspot.com/2009/05/setting-cursor-position-with-javascript.html' title='Setting Cursor Position in TextBox  with Javascript'/><author><name>Benedict Alphonse</name><uri>http://www.blogger.com/profile/06273740826562598488</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_47TBi7XxXXY/Sg2nBmAKJKI/AAAAAAAABbw/a6YHZHKfCBE/S220/IMG_0125_Edited11.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2918706867610266523.post-5656509276511320279</id><published>2009-05-27T19:06:00.003+05:30</published><updated>2009-05-27T19:14:37.122+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><title type='text'>ASP.NET WebForms FAQ</title><content type='html'>&lt;h3 style="margin: 10pt 0pt 0pt 21.25pt; text-indent: -21.25pt;"&gt;&lt;span&gt;&lt;span style="font-size: 12pt; color: windowtext; font-family: Verdana;"&gt;&lt;span style=""&gt;1.&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;      &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: windowtext; font-family: Verdana;"&gt;&lt;span style="font-size: 12pt; color: windowtext; font-family: Verdana;"&gt;JavaScript&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;&lt;a class="" title="_How_to_get" name="_How_to_get"&gt;&lt;/a&gt; &lt;h3 style="margin: 10pt 0pt 0pt 28.35pt; text-indent: -28.35pt;"&gt;&lt;span&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;&lt;span style=""&gt;1.1&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;How to get client date and time&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;
&lt;/span&gt;&lt;/h3&gt; &lt;p&gt;&lt;span style="margin: 10pt 0pt 0pt; font-size: 10pt; line-height: 115%; font-family: Verdana;"&gt;You can use java script function to show the date and time.&lt;/span&gt;&lt;/p&gt;&lt;span style="font-size: 10pt; line-height: 115%; font-family: Verdana;"&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; line-height: 115%; font-family: Verdana;"&gt; &lt;blockquote&gt;&lt;pre class="coloredcode"&gt;&lt;&lt;span class="tag"&gt;script&lt;/span&gt;&lt;span class="attr"&gt; type=&lt;/span&gt;&lt;span class="attrv"&gt;"text/javascript"&lt;/span&gt;&gt;
   function displayTime()
   {
       var localTime = new Date();
       var year= localTime.getYear();
       var month= localTime.getMonth() +1;
       var date = localTime.getDate();
       var hours = localTime .getHours();
       var minutes = localTime .getMinutes();
       var seconds = localTime .getSeconds();   
       var div=document.getElementById("div1");
       div.innerText=year+"-"+month+"-"+date+" "+hours+":"+minutes+":"+seconds;
   }
&lt;/&lt;span class="tag"&gt;script&lt;/span&gt;&gt;&lt;/pre&gt;&lt;/blockquote&gt;&lt;/span&gt; &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Then you can call it at web page.&lt;/span&gt;&lt;/p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; &lt;blockquote&gt;&lt;pre class="coloredcode"&gt;&lt;&lt;span class="tag"&gt;body&lt;/span&gt;&lt;span class="attr"&gt; onload=&lt;/span&gt;&lt;span class="attrv"&gt;"displayTime();"&lt;/span&gt;&gt;
   &lt;&lt;span class="tag"&gt;form&lt;/span&gt;&lt;span class="attr"&gt; id=&lt;/span&gt;&lt;span class="attrv"&gt;"form2"&lt;/span&gt;&lt;span class="attr"&gt; runat=&lt;/span&gt;&lt;span class="attrv"&gt;"server"&lt;/span&gt;&gt;
   &lt;&lt;span class="tag"&gt;div&lt;/span&gt;&lt;span class="attr"&gt; id=&lt;/span&gt;&lt;span class="attrv"&gt;"div1"&lt;/span&gt;&gt;&lt;/&lt;span class="tag"&gt;div&lt;/span&gt;&gt;
   &lt;/&lt;span class="tag"&gt;form&lt;/span&gt;&gt;
&lt;/&lt;span class="tag"&gt;body&lt;/span&gt;&gt;
&lt;/pre&gt;&lt;/blockquote&gt;&lt;/span&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;/span&gt;&lt;span style="margin: 10pt 0pt 0pt; font-size: 10pt; font-family: Verdana;"&gt;Related posts:&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;a href="http://forums.asp.net/p/1247758/2303034.aspx"&gt;http://forums.asp.net/p/1247758/2303034.aspx&lt;/a&gt;&lt;/span&gt; &lt;/p&gt; &lt;h3 style="margin: 10pt 0pt 0pt 28.35pt; text-indent: -28.35pt;"&gt; &lt;/h3&gt; &lt;h3 style="margin: 10pt 0pt 0pt 28.35pt; text-indent: -28.35pt;"&gt;&lt;a class="" title="_How_to_access" name="_How_to_access"&gt;&lt;/a&gt;&lt;span&gt;&lt;span&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;&lt;span style=""&gt;1.2&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; color: windowtext;"&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;How to access a control by using JavaScript &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; color: windowtext;"&gt;&lt;/span&gt;&lt;/h3&gt; &lt;p&gt;&lt;span style="margin: 10pt 0pt 0pt; font-size: 10pt; font-family: Verdana;"&gt;Reference the ClientID property (or UniqueID) of the control in the JavaScript.&lt;/span&gt;&lt;/p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; &lt;blockquote&gt;&lt;pre class="coloredcode"&gt;&lt;span class="kwd"&gt;protected void&lt;/span&gt; Page_Load(&lt;span class="kwd"&gt;object&lt;/span&gt; sender, EventArgs e)
{
   Button btn= &lt;span class="kwd"&gt;new&lt;/span&gt; Button();
   btn.ID = &lt;span class="st"&gt;"btn5"&lt;/span&gt;;
   btn.Attributes.Add(&lt;span class="st"&gt;"runat"&lt;/span&gt;, &lt;span class="st"&gt;"server"&lt;/span&gt;);
   btn.Attributes.Add(&lt;span class="st"&gt;"onclick"&lt;/span&gt;, &lt;span class="st"&gt;"pop('"&lt;/span&gt; + btn.ClientID + &lt;span class="st"&gt;"')"&lt;/span&gt;);
   btn.Text = &lt;span class="st"&gt;"Test"&lt;/span&gt;;
   &lt;span class="kwd"&gt;this&lt;/span&gt;.form1.Controls.Add(btn);
}

function pop(InputBoxID)
{
   var InputControl = document.getElementById(InputBoxID);
   alert(InputControl.&lt;span class="kwd"&gt;value&lt;/span&gt;);
}&lt;/pre&gt;&lt;/blockquote&gt;&lt;/span&gt; &lt;p&gt;&lt;span style="margin: 10pt 0pt 0pt; font-size: 10pt; font-family: Verdana;"&gt;Or you can use the following method: &lt;/span&gt;&lt;/p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; &lt;blockquote&gt;&lt;pre class="coloredcode"&gt;btn.Attributes.Add(&lt;span class="st"&gt;"onclick"&lt;/span&gt;, &lt;span class="st"&gt;"pop(this)"&lt;/span&gt;);
function pop(InputBox)
{
   alert(InputBox.&lt;span class="kwd"&gt;value&lt;/span&gt;);
}
&lt;/pre&gt;&lt;/blockquote&gt;&lt;/span&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;&lt;span style="margin: 10pt 0pt 0pt; font-size: 10pt; font-family: Verdana;"&gt;Related posts:&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="margin: 10pt 0pt 0pt; font-size: 10pt; font-family: Verdana;"&gt;&lt;a href="http://forums.asp.net/p/1239593/2260331.aspx#2260331"&gt;&lt;span style=""&gt;http://forums.asp.net/p/1239593/2260331.aspx#2260331&lt;/span&gt;&lt;/a&gt;&lt;/span&gt; &lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;h3 style="margin: 10pt 0pt 0pt 28.35pt; text-indent: -28.35pt;"&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;&lt;a class="" title="_How_to_invoke" name="_How_to_invoke"&gt;&lt;/a&gt;&lt;span style=""&gt;1.3&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;strong&gt;&lt;span style="color: windowtext; font-family: Verdana;"&gt;&lt;span style="font-size:85%;"&gt;How to invoke a server-side function with JavaScript&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="color: windowtext; font-family: Verdana;"&gt;&lt;/span&gt;&lt;/h3&gt; &lt;p&gt;&lt;span style="margin: 10pt 0pt 0pt; font-size: 10pt; font-family: Verdana;"&gt;Firstly, you can drag a server button and put the server function into the button Click even, &lt;/span&gt;&lt;/p&gt;&lt;span style="margin: 10pt 0pt 0pt; font-size: 10pt; font-family: Verdana;"&gt; &lt;blockquote&gt;&lt;pre class="coloredcode"&gt;&lt;span class="kwd"&gt;protected void&lt;/span&gt; Button1_Click(&lt;span class="kwd"&gt;object&lt;/span&gt; sender, EventArgs e)
{
  FunctionName();
}&lt;/pre&gt;&lt;/blockquote&gt;&lt;/span&gt; &lt;p&gt;&lt;span style="margin: 10pt 0pt 0pt; font-size: 10pt; font-family: Verdana;"&gt;Secondly, you can call the server function at JavaScript by using the following code, &lt;/span&gt;&lt;/p&gt;&lt;span style="margin: 10pt 0pt 0pt; font-size: 10pt; font-family: Verdana;"&gt; &lt;blockquote&gt;&lt;pre class="coloredcode"&gt;document.getElementById(&lt;span class="st"&gt;"Button1"&lt;/span&gt;).click();&lt;/pre&gt;&lt;/blockquote&gt;&lt;/span&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;&lt;span style="margin: 10pt 0pt 0pt; font-size: 10pt; font-family: Verdana;"&gt;Related posts:&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="margin: 10pt 0pt 0pt; font-size: 10pt; font-family: Verdana;"&gt;&lt;a href="http://forums.asp.net/p/1242420/2274228.aspx"&gt;&lt;span style=""&gt;http://forums.asp.net/p/1242420/2274228.aspx&lt;/span&gt;&lt;/a&gt;&lt;/span&gt; &lt;/p&gt;  &lt;h3 style="margin: 10pt 0pt 0pt 28.35pt; text-indent: -28.35pt;"&gt;&lt;a class="" title="_How_to_retrieve" name="_How_to_retrieve"&gt;&lt;/a&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;&lt;span style=""&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/h3&gt; &lt;h3 style="margin: 10pt 0pt 0pt 28.35pt; text-indent: -28.35pt;"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;&lt;span style=""&gt;1.4&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;&lt;span style="font-size:85%;"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color: windowtext; font-family: Verdana;"&gt;How to retrieve server side variables using JavaScript code
&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;&lt;span style="font-size: 9pt; font-family: Verdana;"&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;   &lt;blockquote&gt;&lt;pre class="coloredcode"&gt;&lt;&lt;span class="tag"&gt;asp:HiddenField&lt;/span&gt;&lt;span class="attr"&gt; ID=&lt;/span&gt;&lt;span class="attrv"&gt;"HiddenField1"&lt;/span&gt;&lt;span class="attr"&gt; runat=&lt;/span&gt;&lt;span class="attrv"&gt;"server"&lt;/span&gt; /&gt;    &lt;/pre&gt;&lt;/blockquote&gt; &lt;blockquote&gt;&lt;pre class="coloredcode"&gt;&lt;span class="kwd"&gt;public&lt;/span&gt; partial &lt;span class="kwd"&gt;class&lt;/span&gt; LoginDemo : System.Web.UI.Page
{  
   &lt;span class="kwd"&gt;private string&lt;/span&gt; str=&lt;span class="st"&gt;"hello"&lt;/span&gt;;
   &lt;span class="kwd"&gt;protected void&lt;/span&gt; Page_Load(&lt;span class="kwd"&gt;object&lt;/span&gt; sender, EventArgs e)
   {
       HiddenField1.Value=str;
   }
}&lt;/pre&gt;&lt;/blockquote&gt;&lt;/span&gt; &lt;p&gt;&lt;span style="margin: 10pt 0pt 0pt; font-size: 10pt; font-family: Verdana;"&gt;Then you can access the control HiddenField1 using javascipt:&lt;/span&gt; &lt;/p&gt;&lt;span style="margin: 10pt 0pt 0pt; font-size: 10pt; font-family: Verdana;"&gt; &lt;blockquote&gt;&lt;pre class="coloredcode"&gt;&lt;&lt;span class="tag"&gt;script&lt;/span&gt;&lt;span class="attr"&gt; type=&lt;/span&gt;&lt;span class="attrv"&gt;"text/JavaScript"&lt;/span&gt;&gt;
Var tt=document.getElementByID(“HiddenField1”);
alert(tt.value);
&lt;/&lt;span class="tag"&gt;script&lt;/span&gt;&gt;&lt;/pre&gt;&lt;/blockquote&gt;  &lt;/span&gt;  &lt;p&gt;&lt;span style="margin: 10pt 0pt 0pt; font-size: 10pt; font-family: Verdana;"&gt;Related posts:&lt;/span&gt;&lt;/p&gt;&lt;span style="margin: 10pt 0pt 0pt; font-size: 10pt; font-family: Verdana;"&gt;&lt;a href="http://forums.asp.net/p/1000655/1319119.aspx"&gt;&lt;span style=""&gt;http://forums.asp.net/p/1000655/1319119.aspx&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span class="MsoHyperlink"&gt;&lt;span style="font-family: Verdana;"&gt;&lt;/span&gt;&lt;/span&gt;  &lt;p&gt; &lt;/p&gt;&lt;span style="font-size: 9pt; color: blue; font-family: Verdana;"&gt;&lt;/span&gt; &lt;h3 style="margin: 10pt 0pt 0pt 28.35pt; text-indent: -28.35pt;"&gt;&lt;a class="" title="_How_to_assign" name="_How_to_assign"&gt;&lt;/a&gt;&lt;span&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;&lt;span style=""&gt;1.5&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;How to assign a value to a hidden field using JavaScript in ASP.NET&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/h3&gt; &lt;p&gt;&lt;span style="margin: 10pt 0pt 0pt; font-size: 10pt; font-family: Verdana;"&gt;We can use JavaScript to set the value of a hidden control and get its value at the server after a post back.&lt;/span&gt;&lt;/p&gt;&lt;span style="margin: 10pt 0pt 0pt; font-size: 10pt; font-family: Verdana;"&gt; &lt;blockquote&gt;&lt;pre class="coloredcode"&gt;&lt;&lt;span class="tag"&gt;input&lt;/span&gt;&lt;span class="attr"&gt; id=&lt;/span&gt;&lt;span class="attrv"&gt;"Hidden1"&lt;/span&gt;&lt;span class="attr"&gt; type=&lt;/span&gt;&lt;span class="attrv"&gt;"hidden"&lt;/span&gt; /&gt;
&lt;&lt;span class="tag"&gt;script&lt;/span&gt;&lt;span class="attr"&gt; type=&lt;/span&gt;&lt;span class="attrv"&gt;"text/JavaScript"&lt;/span&gt;&gt;
var str=”hello”
document.getElementByID(“Hidden1”).value=str
&lt;/&lt;span class="tag"&gt;script&lt;/span&gt;&gt;
&lt;/pre&gt;&lt;/blockquote&gt; &lt;blockquote&gt;&lt;pre class="coloredcode"&gt;&lt;span class="kwd"&gt;protected void&lt;/span&gt; Page_Load(&lt;span class="kwd"&gt;object&lt;/span&gt; sender, EventArgs e)
{
   &lt;span class="kwd"&gt;string&lt;/span&gt; str=request[&lt;span class="st"&gt;"Hidden1"&lt;/span&gt;].ToString();
}&lt;/pre&gt;&lt;/blockquote&gt;&lt;/span&gt; &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Related posts:&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;a href="http://forums.asp.net/p/1262153/2362090.aspx"&gt;&lt;span style=""&gt;http://forums.asp.net/p/1262153/2362090.aspx&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;h3 style="margin: 10pt 0pt 0pt 28.35pt; text-indent: -28.35pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;a class="" title="_How_to_register" name="_How_to_register"&gt;&lt;/a&gt;1.6&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;        &lt;/span&gt;How to register the JavaScript function at Code-Behind
&lt;/span&gt;&lt;/h3&gt; &lt;p&gt;&lt;span style="margin: 10pt 0pt 0pt; font-size: 10pt; font-family: Verdana;"&gt;Use ResterStartupScript&lt;/span&gt;&lt;/p&gt;&lt;span style="margin: 10pt 0pt 0pt; font-size: 10pt; font-family: Verdana;"&gt; &lt;blockquote&gt;&lt;pre class="coloredcode"&gt;&lt;span class="kwd"&gt;this&lt;/span&gt;.Page.ClientScript.RegisterStartupScript(&lt;span class="kwd"&gt;this&lt;/span&gt;.GetType(),&lt;span class="st"&gt;"alert"&lt;/span&gt;,&lt;span class="st"&gt;"&lt;script&gt;alert(‘hello’);&lt;/script&gt;"&lt;/span&gt;);&lt;/pre&gt;&lt;/blockquote&gt;&lt;/span&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Use Literal control,&lt;/span&gt;&lt;/p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; &lt;blockquote&gt;&lt;pre class="coloredcode"&gt;&lt;span class="kwd"&gt;private void&lt;/span&gt; Button2_Click(&lt;span class="kwd"&gt;object&lt;/span&gt; sender, System.EventArgs e)
{
   &lt;span class="kwd"&gt;string&lt;/span&gt; str;
   str=&lt;span class="st"&gt;"&lt;script language="'JavaScript'"&gt;"&lt;/span&gt;;	
   str+=&lt;span class="st"&gt;"selectRange()"&lt;/span&gt;;
	str+=&lt;span class="st"&gt;"&lt;script&gt;"&lt;/span&gt;;
   Literal1.Text=str;
}&lt;/pre&gt;&lt;/blockquote&gt;&lt;/span&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Related posts:&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span class="MsoHyperlink"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;a href="http://forums.asp.net/p/981603/1257057.aspx#1257057"&gt;http://forums.asp.net/p/981603/1257057.aspx#1257057&lt;/a&gt;&lt;span class="msoIns"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span class="MsoHyperlink"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span class="msoIns"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span class="MsoHyperlink"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span class="msoIns"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;a class="" title="_How_to_display" name="_How_to_display"&gt;&lt;/a&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt; &lt;h3 style="margin: 10pt 0pt 0pt 28.35pt; text-indent: -28.35pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;strong&gt;1.7&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;        &lt;/span&gt;How to display images with a delay of five seconds&lt;/strong&gt;&lt;/span&gt;&lt;/h3&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;With this script you can see clickable images rotating in real-time without requiring banner rotation software or page reloads/refreshes .You should see a new banner rotating every 5 seconds:&lt;/span&gt;&lt;/p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; &lt;blockquote&gt;&lt;pre class="coloredcode"&gt;&lt;span class="dir"&gt;&lt;%@ Page Language="C#" %&gt;&lt;/span&gt;
&lt;&lt;span class="tag"&gt;!DOCTYPE&lt;/span&gt; html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;
&lt;&lt;span class="tag"&gt;script&lt;/span&gt;&lt;span class="attr"&gt; runat=&lt;/span&gt;&lt;span class="attrv"&gt;"server"&lt;/span&gt;&gt;
&lt;/&lt;span class="tag"&gt;script&lt;/span&gt;&gt;
&lt;&lt;span class="tag"&gt;html&lt;/span&gt;&lt;span class="attr"&gt; xmlns=&lt;/span&gt;&lt;span class="attrv"&gt;"http://www.w3.org/1999/xhtml"&lt;/span&gt;&gt;
&lt;&lt;span class="tag"&gt;head&lt;/span&gt;&lt;span class="attr"&gt; id=&lt;/span&gt;&lt;span class="attrv"&gt;"Head1"&lt;/span&gt;&lt;span class="attr"&gt; runat=&lt;/span&gt;&lt;span class="attrv"&gt;"server"&lt;/span&gt;&gt;
   &lt;&lt;span class="tag"&gt;title&lt;/span&gt;&gt;JavaScript&lt;/&lt;span class="tag"&gt;title&lt;/span&gt;&gt;
   &lt;&lt;span class="tag"&gt;script&lt;/span&gt;&lt;span class="attr"&gt; language=&lt;/span&gt;&lt;span class="attrv"&gt;"javascript"&lt;/span&gt;&lt;span class="attr"&gt; type=&lt;/span&gt;&lt;span class="attrv"&gt;"text/javascript"&lt;/span&gt;&gt;
   var image="";
   var banners=0;
   function loadbanners() {
  if (banners==1)
     {
        image="images/AJAX.gif";
     }
  if (banners==2)
     {
        image="images/ASPDotNet.gif";
     }
  if (banners==3)
     {
        image=" images/MSDN.gif";
     }
     }
     function cycle()
     {
       if (++banners &gt; 3)
       banners=1;
       loadbanners();
       document.getElementById("banner1").src =image;
       window.setTimeout('cycle();',5000);
     }
   &lt;/&lt;span class="tag"&gt;script&lt;/span&gt;&gt;
&lt;/&lt;span class="tag"&gt;head&lt;/span&gt;&gt;
&lt;&lt;span class="tag"&gt;body&lt;/span&gt;&lt;span class="attr"&gt; onload=&lt;/span&gt;&lt;span class="attrv"&gt;"cycle();"&lt;/span&gt;&gt;
   &lt;&lt;span class="tag"&gt;form&lt;/span&gt;&lt;span class="attr"&gt; id=&lt;/span&gt;&lt;span class="attrv"&gt;"form2"&lt;/span&gt;&lt;span class="attr"&gt; runat=&lt;/span&gt;&lt;span class="attrv"&gt;"server"&lt;/span&gt;&gt;
   &lt;&lt;span class="tag"&gt;div&lt;/span&gt;&gt;
       &lt;&lt;span class="tag"&gt;img&lt;/span&gt;&lt;span class="attr"&gt; alt="" id=&lt;/span&gt;&lt;span class="attrv"&gt;"banner1"&lt;/span&gt;&lt;span class="attr"&gt; src=&lt;/span&gt;&lt;span class="attrv"&gt;"images/start.png"&lt;/span&gt; /&gt;
   &lt;/&lt;span class="tag"&gt;div&lt;/span&gt;&gt;
   &lt;/&lt;span class="tag"&gt;form&lt;/span&gt;&gt;
&lt;/&lt;span class="tag"&gt;body&lt;/span&gt;&gt;
&lt;/&lt;span class="tag"&gt;html&lt;/span&gt;&gt;
&lt;/pre&gt;&lt;/blockquote&gt;&lt;/span&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Related posts:&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;a href="http://forums.asp.net/p/1213103/2147140.aspx"&gt;http://forums.asp.net/p/1213103/2147140.aspx&lt;/a&gt;&lt;/span&gt; &lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;h3 style="margin: 10pt 0pt 0pt 28.35pt; text-indent: -28.35pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;a class="" title="_How_to_get_" name="_How_to_get_"&gt;&lt;/a&gt;&lt;strong&gt;1.8        How to get browser screen settings and apply it to page controls&lt;/strong&gt;&lt;/span&gt;&lt;/h3&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;You can use the JavaScript, suppose the control type is &lt;image&gt;, see the code below:&lt;/span&gt;&lt;/p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; &lt;blockquote&gt;&lt;pre class="coloredcode"&gt;&lt;&lt;span class="tag"&gt;html&lt;/span&gt;&gt;
&lt;&lt;span class="tag"&gt;body&lt;/span&gt;&gt;
&lt;&lt;span class="tag"&gt;input&lt;/span&gt;&lt;span class="attr"&gt; onclick=&lt;/span&gt;&lt;span class="attrv"&gt;"resizeImage()"&lt;/span&gt;/&gt;
&lt;&lt;span class="tag"&gt;img&lt;/span&gt;&lt;span class="attr"&gt; src=&lt;/span&gt;&lt;span class="attrv"&gt;"http://www.microsoft.com/library/toolbar/3.0/images/banners/ms_masthead_ltr.gif"&lt;/span&gt;&lt;span class="attr"&gt;  id=&lt;/span&gt;&lt;span class="attrv"&gt;"Img1"&lt;/span&gt;  /&gt;
&lt;&lt;span class="tag"&gt;script&lt;/span&gt;&lt;span class="attr"&gt; language=&lt;/span&gt;&lt;span class="attrv"&gt;"JavaScript"&lt;/span&gt;&gt;
   var winWidth = 0;
   var winHeight = 0;
   function resizeImage(){
   var img=document.getElementById("testImage")
   if (window.innerWidth)
          winWidth = window.innerWidth;
    else if ((document.body) &amp;amp;&amp;amp; (document.body.clientWidth))
          winWidth = document.body.clientWidth;
    if (window.innerHeight)
          winHeight = window.innerHeight;
    else if ((document.body) &amp;amp;&amp;amp; (document.body.clientHeight))
          winHeight = document.body.clientHeight; 
    if (document.documentElement  &amp;amp;&amp;amp; document.documentElement.clientHeight &amp;amp;&amp;amp;
                                         document.documentElement.clientWidth)
    {
        winHeight = document.documentElement.clientHeight;
        winWidth = document.documentElement.clientWidth;
    }
    img.width= winHeight;
    img.width= winWidth;
   }
&lt;/&lt;span class="tag"&gt;script&lt;/span&gt;&gt;
&lt;/&lt;span class="tag"&gt;body&lt;/span&gt;&gt;
&lt;/&lt;span class="tag"&gt;html&lt;/span&gt;&gt;&lt;/pre&gt;&lt;/blockquote&gt;&lt;/span&gt; &lt;p&gt;Please remove the control style if it is present. &lt;/p&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Related posts:&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;a href="http://forums.asp.net/p/1228180/2212987.aspx"&gt;http://forums.asp.net/p/1228180/2212987.aspx&lt;/a&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;h3 style="margin: 10pt 0pt 0pt 28.35pt; text-indent: -28.35pt;"&gt;&lt;a class="" title="_How_to_clear" name="_How_to_clear"&gt;&lt;/a&gt;&lt;span&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;&lt;span style=""&gt;1.9&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;How to clear the session when the user closes a window&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/h3&gt; &lt;p&gt;&lt;span style="margin: 10pt 0pt 0pt; font-size: 10pt; font-family: Verdana;"&gt;Use the code,&lt;/span&gt;&lt;/p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; &lt;blockquote&gt;&lt;pre class="coloredcode"&gt;&lt;&lt;span class="tag"&gt;script&lt;/span&gt;&lt;span class="attr"&gt; type=&lt;/span&gt;&lt;span class="attrv"&gt;"text/javascript"&lt;/span&gt;&gt;
function window.onbeforeunload()
{
   var xmlHttp;
   try
   {
       // Firefox, Opera 8.0+, Safari
       xmlHttp=new XMLHttpRequest();
   }
   catch (e)
   {
       // Internet Explorer
   try
   {
       xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
   }
   catch (e)
   {
       try
       {
           xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
       }
       catch (e)
       {
           alert("Your browser does not support AJAX!");
           return false;
       }
   }
   if(event.clientX&gt;document.body.clientWidth&amp;amp;&amp;amp;event.clientY&lt;&lt;span class="tag"&gt;0||event.altKey)&lt;/span&gt;
   {
       xmlhttp.open("GET","exit.aspx",false);
       xmlhttp.send();
   }
}
&lt;/&lt;span class="tag"&gt;script&lt;/span&gt;&gt;
&lt;/pre&gt;&lt;/blockquote&gt;&lt;/span&gt; &lt;p&gt; &lt;/p&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Related posts:&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;a href="http://forums.asp.net/p/1237752/2255401.aspx"&gt;http://forums.asp.net/p/1237752/2255401.aspx&lt;/a&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt; &lt;/p&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt; &lt;/p&gt; &lt;h3 style="margin: 10pt 0pt 0pt 21.25pt; text-indent: -21.25pt;"&gt;&lt;span style="font-size: 12pt; color: windowtext; font-family: Verdana;"&gt;2&lt;span style="font-size: 12pt; color: windowtext; font-family: Verdana;"&gt;&lt;a class="" title="_Toc204572731" name="_Toc204572731"&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style=""&gt;.&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;      &lt;/span&gt;&lt;/span&gt;&lt;span style="color: windowtext; font-family: Verdana;"&gt;Ways to pass data between pages&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt; &lt;h3 style="margin: 10pt 0pt 0pt 28.35pt; text-indent: -28.35pt;"&gt;&lt;span&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;&lt;a class="" title="_How_to_use" name="_How_to_use"&gt;&lt;/a&gt;&lt;span style=""&gt;2.1&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;&lt;span style="font-size:85%;"&gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span&gt;&lt;span style="color: windowtext; font-family: Verdana;"&gt;How to use cookies&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt; &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Create a page named page1.aspx, and then drag a button and a TextBox onto the page. Double click the button and then add the following code:&lt;/span&gt;&lt;/p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; &lt;blockquote&gt;&lt;pre class="coloredcode"&gt;&lt;span class="kwd"&gt;protected void&lt;/span&gt; Button1_Click(&lt;span class="kwd"&gt;object&lt;/span&gt; sender, EventArgs e)
{
   HttpCookie cookie = &lt;span class="kwd"&gt;new&lt;/span&gt; HttpCookie(&lt;span class="st"&gt;"UserName"&lt;/span&gt;);
   cookie.Value = TextBox1.Text;
   cookie.Expires = DateTime.Now.AddDays(1);
   Response.Cookies.Add(cookie);
   Response.Redirect(&lt;span class="st"&gt;"Page2.aspx"&lt;/span&gt;);
}&lt;/pre&gt;&lt;/blockquote&gt;&lt;/span&gt; &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;page1.aspx, &lt;/span&gt;&lt;/p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; &lt;blockquote&gt;&lt;pre class="coloredcode"&gt;&lt;&lt;span class="tag"&gt;div&lt;/span&gt;&gt;
    &lt;&lt;span class="tag"&gt;asp:Button&lt;/span&gt;&lt;span class="attr"&gt; ID=&lt;/span&gt;&lt;span class="attrv"&gt;"Button1"&lt;/span&gt;&lt;span class="attr"&gt; runat=&lt;/span&gt;&lt;span class="attrv"&gt;"server"&lt;/span&gt;&lt;span class="attr"&gt; onclick=&lt;/span&gt;&lt;span class="attrv"&gt;"Button1_Click"&lt;/span&gt;&lt;span class="attr"&gt; Text=&lt;/span&gt;&lt;span class="attrv"&gt;"Button"&lt;/span&gt; /&gt;
    &lt;&lt;span class="tag"&gt;asp:TextBox&lt;/span&gt;&lt;span class="attr"&gt; ID=&lt;/span&gt;&lt;span class="attrv"&gt;"TextBox1"&lt;/span&gt;&lt;span class="attr"&gt; runat=&lt;/span&gt;&lt;span class="attrv"&gt;"server"&lt;/span&gt;&gt;&lt;/&lt;span class="tag"&gt;asp:TextBox&lt;/span&gt;&gt;
&lt;/&lt;span class="tag"&gt;div&lt;/span&gt;&gt;
&lt;/pre&gt;&lt;/blockquote&gt;&lt;/span&gt; &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;On page2.aspx, double click the form and put the following code in it:&lt;/span&gt;&lt;/p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; &lt;blockquote&gt;&lt;pre class="coloredcode"&gt;&lt;span class="kwd"&gt;protected void&lt;/span&gt; Page_Load(&lt;span class="kwd"&gt;object&lt;/span&gt; sender, EventArgs e)
{
   &lt;span class="kwd"&gt;if&lt;/span&gt; (Request.Cookies[&lt;span class="st"&gt;"UserName"&lt;/span&gt;] != &lt;span class="kwd"&gt;null&lt;/span&gt;)
       Response.Write(Request.Cookies[&lt;span class="st"&gt;"UserName"&lt;/span&gt;].Value);
}&lt;/pre&gt;&lt;/blockquote&gt;&lt;/span&gt; &lt;p&gt;&lt;span style="margin: 10pt 0pt 0pt; font-size: 10pt; font-family: Verdana;"&gt;&lt;/span&gt; &lt;/p&gt; &lt;p&gt;&lt;span style="margin: 10pt 0pt 0pt; font-size: 10pt; font-family: Verdana;"&gt;Related posts:&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="margin: 10pt 0pt 0pt; font-size: 10pt; font-family: Verdana;"&gt;&lt;a href="http://forums.asp.net/t/1223291.aspx"&gt;&lt;span style=""&gt;http://forums.asp.net/t/1223291.aspx&lt;/span&gt;&lt;/a&gt;&lt;/span&gt; &lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span class="msoIns"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms178194.aspx"&gt;&lt;span style=""&gt;Asp.Net Cookies Overview&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span class="msoIns"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bd70eh18.aspx"&gt;&lt;span style=""&gt;How to: Read a Cookie&lt;/span&gt;&lt;/a&gt;&lt;span style="color:#008080;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span class="msoIns"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms178195.aspx"&gt;&lt;span style=""&gt;How to: Delete a Cookie&lt;/span&gt;&lt;/a&gt;&lt;span style="color:#008080;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span class="msoIns"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/75x4ha6s.aspx"&gt;&lt;span style=""&gt;ASP.NET State Management Overview&lt;/span&gt;&lt;/a&gt;&lt;span style="color:#008080;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span class="msoIns"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/z1hkazw7.aspx"&gt;&lt;span style=""&gt;ASP.NET State Management Recommendations&lt;/span&gt;&lt;/a&gt;&lt;span style="color:#008080;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;   &lt;h3 style="margin: 10pt 0pt 0pt 28.35pt; text-indent: -28.35pt;"&gt;&lt;a class="" title="_How_to_use_" name="_How_to_use_"&gt;&lt;/a&gt;&lt;span&gt;&lt;span&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;&lt;span style=""&gt;2.2&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;How to use &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;QueryString&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; &lt;blockquote&gt;&lt;pre class="coloredcode"&gt;&lt;span class="kwd"&gt;private void&lt;/span&gt; Button1_Click (&lt;span class="kwd"&gt;object&lt;/span&gt; sender, System.EventArgs e)
{
   &lt;span class="kwd"&gt;string&lt;/span&gt; url;
	url=&lt;span class="st"&gt;"anotherwebform.aspx?name="&lt;/span&gt; +
	TextBox1.Text + &lt;span class="st"&gt;"&amp;amp;email="&lt;/span&gt; + TextBox2.Text;
	Response.Redirect(url);
}
&lt;/pre&gt;&lt;/blockquote&gt;&lt;/span&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Destination web form&lt;/span&gt;&lt;/p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; &lt;blockquote&gt;&lt;pre class="coloredcode"&gt;&lt;span class="kwd"&gt;private void&lt;/span&gt; Page_Load (&lt;span class="kwd"&gt;object&lt;/span&gt; sender, System.EventArgs e)
{
   Label1.Text=Request.QueryString[&lt;span class="st"&gt;"name"&lt;/span&gt;];
	Label2.Text=Request.QueryString[&lt;span class="st"&gt;"email"&lt;/span&gt;];
}
&lt;/pre&gt;&lt;/blockquote&gt;&lt;/span&gt; &lt;p&gt;&lt;span style="margin: 10pt 0pt 0pt; font-size: 10pt; font-family: Verdana;"&gt;&lt;/span&gt; &lt;/p&gt; &lt;p&gt;&lt;span style="margin: 10pt 0pt 0pt; font-size: 10pt; font-family: Verdana;"&gt;Related posts:&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;a href="http://forums.asp.net/p/1223291/2191155.aspx"&gt;http://forums.asp.net/p/1223291/2191155.aspx&lt;/a&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span class="msoIns"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/75x4ha6s.aspx"&gt;ASP.NET State Management Overview&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span class="msoIns"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/z1hkazw7.aspx"&gt;ASP.NET State Management Recommendations&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;h3 style="margin: 10pt 0pt 0pt 28.35pt; text-indent: -28.35pt;"&gt;&lt;a class="" title="_How_to_use_1" name="_How_to_use_1"&gt;&lt;/a&gt;&lt;span&gt;&lt;span&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;&lt;span style=""&gt;2.3&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;How to use Session&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt; &lt;h3 style="margin: 10pt 0pt 0pt 28.35pt; text-indent: -28.35pt;"&gt;&lt;span&gt;&lt;span&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;/span&gt;&lt;/h3&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt; &lt;blockquote&gt;&lt;pre class="coloredcode"&gt;&lt;span class="kwd"&gt;private void&lt;/span&gt; Button1_Click(&lt;span class="kwd"&gt;object&lt;/span&gt; sender, System.EventArgs e)
{
   &lt;span class="cmt"&gt;//Drag TextBox1 and TextBox2 onto a web form&lt;/span&gt;
   Session[&lt;span class="st"&gt;"name"&lt;/span&gt;]=TextBox1.Text;
   Session[&lt;span class="st"&gt;"email"&lt;/span&gt;]=TextBox2.Text;
   Server.Transfer(&lt;span class="st"&gt;"anotherwebform.aspx"&lt;/span&gt;);
}&lt;/pre&gt;&lt;/blockquote&gt;&lt;/span&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;Destination web form&lt;/span&gt;&lt;/p&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt; &lt;blockquote&gt;&lt;pre class="coloredcode"&gt;&lt;span class="kwd"&gt;private void&lt;/span&gt; Page_Load(&lt;span class="kwd"&gt;object&lt;/span&gt; sender, System.EventArgs e)
{
   Label1.Text=Session[&lt;span class="st"&gt;"name"&lt;/span&gt;].ToString();
   Label2.Text=Session[&lt;span class="st"&gt;"email"&lt;/span&gt;].ToString();
   Session.Remove(&lt;span class="st"&gt;"name"&lt;/span&gt;);
   Session.Remove(&lt;span class="st"&gt;"email"&lt;/span&gt;);
}
&lt;/pre&gt;&lt;/blockquote&gt;&lt;/span&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;Related posts:&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;&lt;a href="http://forums.asp.net/p/1255625/2333723.aspx"&gt;http://forums.asp.net/p/1255625/2333723.aspx&lt;/a&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/03sekbw5.aspx"&gt;How to: Read Values from Session State&lt;/a&gt;&lt;span style="color:#008080;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/6ad7zeeb.aspx"&gt;How to: Save Values in Session State&lt;/a&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.web.sessionstate.httpsessionstate.aspx"&gt;HttpSessionState Class&lt;/a&gt;&lt;span style="color:#008080;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/75x4ha6s.aspx"&gt;ASP.NET State Management Overview&lt;/a&gt;&lt;span style="color:#008080;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/z1hkazw7.aspx"&gt;ASP.NET State Management Recommendations&lt;/a&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;&lt;/span&gt; &lt;/p&gt; &lt;p&gt; &lt;/p&gt;&lt;a class="" title="_How_to_use_2" name="_How_to_use_2"&gt;&lt;/a&gt; &lt;h3 style="margin: 10pt 0pt 0pt 28.35pt; text-indent: -28.35pt;"&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;2.4&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;        &lt;/span&gt;How to use Context [&lt;a href="http://forums.asp.net/t/1360420.aspx#_top"&gt;top&lt;/a&gt;]&lt;/span&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;&lt;/span&gt;&lt;/h3&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;   &lt;blockquote&gt;&lt;pre class="coloredcode"&gt;&lt;span class="cmt"&gt;//Page1.aspx stores value in context before transferring &lt;/span&gt;
Context.Items(&lt;span class="st"&gt;"UserName"&lt;/span&gt;) = txtName.Text;
Server.Transfer(&lt;span class="st"&gt;"Page2.aspx"&lt;/span&gt;);

&lt;span class="cmt"&gt;//Page2.aspx retrieves the value from Page1’s context &lt;/span&gt;
&lt;span class="kwd"&gt;string&lt;/span&gt; sName;
sName = Context.Items(&lt;span class="st"&gt;"UserName"&lt;/span&gt;).ToString;
Response.Write(&lt;span class="st"&gt;"Your name is "&lt;/span&gt; + sName);
&lt;/pre&gt;&lt;/blockquote&gt;&lt;/span&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;Related posts:&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;&lt;a href="http://forums.asp.net/t/1238286.aspx"&gt;http://forums.asp.net/t/1238286.aspx&lt;/a&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.web.httpcontext.aspx"&gt;HttpContext Class&lt;/a&gt;&lt;span style="color:#008080;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/75x4ha6s.aspx"&gt;ASP.NET State Management Overview&lt;/a&gt;&lt;span style="color:#008080;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/z1hkazw7.aspx"&gt;ASP.NET State Management Recommendations&lt;/a&gt;&lt;/span&gt; &lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;h3 style="margin: 10pt 0pt 0pt 28.35pt; text-indent: -28.35pt;"&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;&lt;a class="" title="_How_to_use_3" name="_How_to_use_3"&gt;&lt;/a&gt;2.5&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;        &lt;/span&gt;How to use PreviousPage&lt;/span&gt;&lt;/h3&gt;&lt;span style="margin: 10pt 0pt 0pt; font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;FirstForm.aspx&lt;/span&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;  &lt;blockquote&gt;&lt;pre class="coloredcode"&gt;&lt;&lt;span class="tag"&gt;asp:Button&lt;/span&gt;&lt;span class="attr"&gt; id=&lt;/span&gt;&lt;span class="attrv"&gt;"buttonPassValue"&lt;/span&gt;&lt;span class="attr"&gt; runat=&lt;/span&gt;&lt;span class="attrv"&gt;"server"&lt;/span&gt;&lt;span class="attr"&gt; Text=&lt;/span&gt;&lt;span class="attrv"&gt;"Button"&lt;/span&gt;&lt;span class="attr"&gt; PostBackUrl=&lt;/span&gt;&lt;span class="attrv"&gt;"~/SecondForm.aspx"&lt;/span&gt;&gt;
&lt;/&lt;span class="tag"&gt;asp:Button&lt;/span&gt;&gt;
&lt;/pre&gt;&lt;/blockquote&gt;&lt;/span&gt; &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;SecondForm.aspx.cs&lt;/span&gt;&lt;/p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt; &lt;blockquote&gt;&lt;pre class="coloredcode"&gt;TextBox1.Text = Request.Form[&lt;span class="st"&gt;"TextBox1"&lt;/span&gt;].ToString();&lt;/pre&gt;&lt;/blockquote&gt;&lt;/span&gt; &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Or SecondForm.aspx.cs&lt;/span&gt;&lt;/p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt; &lt;blockquote&gt;&lt;pre class="coloredcode"&gt;TextBox textBoxTemp = (TextBox) PreviousPage.FindControl(&lt;span class="st"&gt;"TextBox1"&lt;/span&gt;);
TextBox1.Text = textBoxTemp.Text;
&lt;/pre&gt;&lt;/blockquote&gt;&lt;/span&gt; &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;As you’ve noticed, this is a simple and clean implementation of passing values between pages.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;/span&gt; &lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Related posts:&lt;/span&gt; &lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;a href="http://forums.asp.net/p/1048041/1474374.aspx"&gt;&lt;span style=""&gt;http://forums.asp.net/p/1048041/1474374.aspx&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; color: black; font-family: Verdana;"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.web.ui.page.previouspage.aspx"&gt;&lt;span style=""&gt;&lt;span class="msoIns"&gt;Page.PreviousPage Property&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 10pt; color: black; font-family: Verdana;"&gt;&lt;span class="msoIns"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/6c3yckfw.aspx"&gt;&lt;span style=""&gt;How to: Pass Values Between ASP.NET Web Pages&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;h3 style="margin: 10pt 0pt 0pt 28.35pt; text-indent: -28.35pt;"&gt;&lt;a class="" title="_How_to_use_4" name="_How_to_use_4"&gt;&lt;/a&gt;&lt;span&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;&lt;span style=""&gt;2.6&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;How to use Submit Form
&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;page1.aspx,&lt;/span&gt;    &lt;/p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; &lt;blockquote&gt;&lt;pre class="coloredcode"&gt;&lt;span class="dir"&gt;&lt;%@ Page Language="C#" %&gt;&lt;/span&gt;
&lt;&lt;span class="tag"&gt;!DOCTYPE&lt;/span&gt; html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;
&lt;&lt;span class="tag"&gt;script&lt;/span&gt;&lt;span class="attr"&gt; runat=&lt;/span&gt;&lt;span class="attrv"&gt;"server"&lt;/span&gt;&gt;
&lt;/&lt;span class="tag"&gt;script&lt;/span&gt;&gt;
&lt;&lt;span class="tag"&gt;html&lt;/span&gt;&lt;span class="attr"&gt; xmlns=&lt;/span&gt;&lt;span class="attrv"&gt;"http://www.w3.org/1999/xhtml"&lt;/span&gt;&gt;
&lt;&lt;span class="tag"&gt;head&lt;/span&gt;&gt;
&lt;&lt;span class="tag"&gt;script&lt;/span&gt;&lt;span class="attr"&gt; language=&lt;/span&gt;&lt;span class="attrv"&gt;"javascript"&lt;/span&gt;&gt;
   function CopyTextToHiddenField()
   {
       var textbox1Value = document.getElementById("&lt;span class="dir"&gt;&lt;%=&lt;/span&gt;TextBox1.ClientID&lt;span class="dir"&gt;%&gt;&lt;/span&gt;").value;
       document.forms[1].document.getElementById("Hidden1").value = textbox1Value;
   }
&lt;/&lt;span class="tag"&gt;script&lt;/span&gt;&gt;
&lt;/&lt;span class="tag"&gt;head&lt;/span&gt;&gt;
&lt;&lt;span class="tag"&gt;body&lt;/span&gt;&gt;
   &lt;&lt;span class="tag"&gt;form&lt;/span&gt;&lt;span class="attr"&gt; id=&lt;/span&gt;&lt;span class="attrv"&gt;"form1"&lt;/span&gt;&lt;span class="attr"&gt; runat=&lt;/span&gt;&lt;span class="attrv"&gt;"server"&lt;/span&gt;&gt;
   &lt;&lt;span class="tag"&gt;asp:TextBox&lt;/span&gt;&lt;span class="attr"&gt; ID=&lt;/span&gt;&lt;span class="attrv"&gt;"TextBox1"&lt;/span&gt;&lt;span class="attr"&gt; runat=&lt;/span&gt;&lt;span class="attrv"&gt;"server"&lt;/span&gt;&gt;&lt;/&lt;span class="tag"&gt;asp:TextBox&lt;/span&gt;&gt;
   &lt;/&lt;span class="tag"&gt;form&lt;/span&gt;&gt;
   &lt;&lt;span class="tag"&gt;form&lt;/span&gt;&lt;span class="attr"&gt; name=&lt;/span&gt;&lt;span class="attrv"&gt;"SubmittedForm"&lt;/span&gt;&lt;span class="attr"&gt; action=&lt;/span&gt;&lt;span class="attrv"&gt;"page2.aspx"&lt;/span&gt;&lt;span class="attr"&gt; method=&lt;/span&gt;&lt;span class="attrv"&gt;"post"&lt;/span&gt;&gt;
   &lt;&lt;span class="tag"&gt;input&lt;/span&gt;&lt;span class="attr"&gt; id=&lt;/span&gt;&lt;span class="attrv"&gt;"Submit1"&lt;/span&gt;&lt;span class="attr"&gt; type=&lt;/span&gt;&lt;span class="attrv"&gt;"submit"&lt;/span&gt;&lt;span class="attr"&gt; value=&lt;/span&gt;&lt;span class="attrv"&gt;"submit"&lt;/span&gt;&lt;span class="attr"&gt; onclick=&lt;/span&gt;&lt;span class="attrv"&gt;"CopyTextToHiddenField()"&lt;/span&gt; /&gt;
   &lt;&lt;span class="tag"&gt;input&lt;/span&gt;&lt;span class="attr"&gt; name=&lt;/span&gt;&lt;span class="attrv"&gt;"Hidden1"&lt;/span&gt;&lt;span class="attr"&gt; type=&lt;/span&gt;&lt;span class="attrv"&gt;"hidden"&lt;/span&gt; /&gt;
   &lt;/&lt;span class="tag"&gt;form&lt;/span&gt;&gt;
&lt;/&lt;span class="tag"&gt;body&lt;/span&gt;&gt;
&lt;/&lt;span class="tag"&gt;html&lt;/span&gt;&gt;
&lt;/pre&gt;&lt;/blockquote&gt;&lt;/span&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;page2.aspx,&lt;/span&gt; &lt;/p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; &lt;blockquote&gt;&lt;pre class="coloredcode"&gt;&lt;span class="dir"&gt;&lt;%@ Page Language="C#" %&gt;&lt;/span&gt;

&lt;&lt;span class="tag"&gt;!DOCTYPE&lt;/span&gt; html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;

&lt;&lt;span class="tag"&gt;script&lt;/span&gt;&lt;span class="attr"&gt; runat=&lt;/span&gt;&lt;span class="attrv"&gt;"server"&lt;/span&gt;&gt;

   protected void Page_Load(object sender, EventArgs e)
   {
       Response.Write(Request.Form["Hidden1"]);
   }
&lt;/&lt;span class="tag"&gt;script&lt;/span&gt;&gt;

&lt;&lt;span class="tag"&gt;html&lt;/span&gt;&lt;span class="attr"&gt; xmlns=&lt;/span&gt;&lt;span class="attrv"&gt;"http://www.w3.org/1999/xhtml"&lt;/span&gt;&gt;
&lt;&lt;span class="tag"&gt;head&lt;/span&gt;&lt;span class="attr"&gt; id=&lt;/span&gt;&lt;span class="attrv"&gt;"Head1"&lt;/span&gt;&lt;span class="attr"&gt; runat=&lt;/span&gt;&lt;span class="attrv"&gt;"server"&lt;/span&gt;&gt;
&lt;/&lt;span class="tag"&gt;head&lt;/span&gt;&gt;
&lt;&lt;span class="tag"&gt;body&lt;/span&gt;&gt;
   &lt;&lt;span class="tag"&gt;form&lt;/span&gt;&lt;span class="attr"&gt; id=&lt;/span&gt;&lt;span class="attrv"&gt;"form1"&lt;/span&gt;&lt;span class="attr"&gt; runat=&lt;/span&gt;&lt;span class="attrv"&gt;"server"&lt;/span&gt;&gt;
   &lt;&lt;span class="tag"&gt;div&lt;/span&gt;&gt;
   &lt;/&lt;span class="tag"&gt;div&lt;/span&gt;&gt;
   &lt;/&lt;span class="tag"&gt;form&lt;/span&gt;&gt;
&lt;/&lt;span class="tag"&gt;body&lt;/span&gt;&gt;
&lt;/&lt;span class="tag"&gt;html&lt;/span&gt;&gt;
 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/span&gt; &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Related posts:&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;a href="http://forums.asp.net/p/1257184/2339923.aspx"&gt;&lt;span style=""&gt;http://forums.asp.net/p/1257184/2339923.aspx&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt; &lt;h3 style="margin: 10pt 0pt 0pt 28.35pt; text-indent: -28.35pt;"&gt;&lt;a class="" title="_How_to_use_5" name="_How_to_use_5"&gt;&lt;/a&gt;&lt;span&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;&lt;span style=""&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/h3&gt; &lt;h3 style="margin: 10pt 0pt 0pt 28.35pt; text-indent: -28.35pt;"&gt;&lt;span&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;&lt;span style=""&gt;2.7&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;How to use Server.Transfer&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/h3&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;page1.aspx,&lt;/span&gt;&lt;/p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; &lt;blockquote&gt;&lt;pre class="coloredcode"&gt;&lt;span class="dir"&gt;&lt;%@ Page Language="C#" %&gt;&lt;/span&gt;
&lt;&lt;span class="tag"&gt;!DOCTYPE&lt;/span&gt; html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;
&lt;&lt;span class="tag"&gt;script&lt;/span&gt;&lt;span class="attr"&gt; runat=&lt;/span&gt;&lt;span class="attrv"&gt;"server"&lt;/span&gt;&gt;
   protected void Button_Click(object sender, EventArgs e)
   {
       Server.Transfer("page2.aspx", true);

   }
&lt;/&lt;span class="tag"&gt;script&lt;/span&gt;&gt;
&lt;&lt;span class="tag"&gt;html&lt;/span&gt;&lt;span class="attr"&gt; xmlns=&lt;/span&gt;&lt;span class="attrv"&gt;"http://www.w3.org/1999/xhtml"&lt;/span&gt;&gt;
&lt;&lt;span class="tag"&gt;head&lt;/span&gt;&lt;span class="attr"&gt; id=&lt;/span&gt;&lt;span class="attrv"&gt;"Head1"&lt;/span&gt;&lt;span class="attr"&gt; runat=&lt;/span&gt;&lt;span class="attrv"&gt;"server"&lt;/span&gt;&gt;
&lt;/&lt;span class="tag"&gt;head&lt;/span&gt;&gt;
&lt;&lt;span class="tag"&gt;body&lt;/span&gt;&gt;
   &lt;&lt;span class="tag"&gt;form&lt;/span&gt;&lt;span class="attr"&gt; id=&lt;/span&gt;&lt;span class="attrv"&gt;"form1"&lt;/span&gt;&lt;span class="attr"&gt; runat=&lt;/span&gt;&lt;span class="attrv"&gt;"server"&lt;/span&gt;&gt;
   &lt;&lt;span class="tag"&gt;div&lt;/span&gt;&gt;
       &lt;&lt;span class="tag"&gt;asp:Button&lt;/span&gt;&lt;span class="attr"&gt; ID=&lt;/span&gt;&lt;span class="attrv"&gt;"Button1"&lt;/span&gt;&lt;span class="attr"&gt; runat=&lt;/span&gt;&lt;span class="attrv"&gt;"server"&lt;/span&gt;&lt;span class="attr"&gt; Text=&lt;/span&gt;&lt;span class="attrv"&gt;"Button"&lt;/span&gt;&lt;span class="attr"&gt; OnClick=&lt;/span&gt;&lt;span class="attrv"&gt;"Button_Click"&lt;/span&gt; /&gt;
       &lt;&lt;span class="tag"&gt;asp:TextBox&lt;/span&gt;&lt;span class="attr"&gt; ID=&lt;/span&gt;&lt;span class="attrv"&gt;"TextBox1"&lt;/span&gt;&lt;span class="attr"&gt; runat=&lt;/span&gt;&lt;span class="attrv"&gt;"server"&lt;/span&gt;&gt;&lt;/&lt;span class="tag"&gt;asp:TextBox&lt;/span&gt;&gt;
   &lt;/&lt;span class="tag"&gt;div&lt;/span&gt;&gt;
   &lt;/&lt;span class="tag"&gt;form&lt;/span&gt;&gt;
&lt;/&lt;span class="tag"&gt;body&lt;/span&gt;&gt;
&lt;/&lt;span class="tag"&gt;html&lt;/span&gt;&gt;
&lt;/pre&gt;&lt;/blockquote&gt;&lt;/span&gt;   &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;page2.aspx,&lt;/span&gt;&lt;/p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; &lt;blockquote&gt;&lt;pre class="coloredcode"&gt;&lt;span class="dir"&gt;&lt;%@ Page Language="C#" %&gt;&lt;/span&gt;
&lt;&lt;span class="tag"&gt;!DOCTYPE&lt;/span&gt; html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;
&lt;&lt;span class="tag"&gt;script&lt;/span&gt;&lt;span class="attr"&gt; runat=&lt;/span&gt;&lt;span class="attrv"&gt;"server"&lt;/span&gt;&gt;
   protected void Page_Load(object sender, EventArgs e)
   {
       Response.Write(Request.Form["TextBox1"]);
   }
&lt;/&lt;span class="tag"&gt;script&lt;/span&gt;&gt;
&lt;&lt;span class="tag"&gt;html&lt;/span&gt;&lt;span class="attr"&gt; xmlns=&lt;/span&gt;&lt;span class="attrv"&gt;"http://www.w3.org/1999/xhtml"&lt;/span&gt;&gt;
&lt;&lt;span class="tag"&gt;head&lt;/span&gt;&lt;span class="attr"&gt; id=&lt;/span&gt;&lt;span class="attrv"&gt;"Head1"&lt;/span&gt;&lt;span class="attr"&gt; runat=&lt;/span&gt;&lt;span class="attrv"&gt;"server"&lt;/span&gt;&gt;
&lt;/&lt;span class="tag"&gt;head&lt;/span&gt;&gt;
&lt;&lt;span class="tag"&gt;body&lt;/span&gt;&gt;
   &lt;&lt;span class="tag"&gt;form&lt;/span&gt;&lt;span class="attr"&gt; id=&lt;/span&gt;&lt;span class="attrv"&gt;"form1"&lt;/span&gt;&lt;span class="attr"&gt; runat=&lt;/span&gt;&lt;span class="attrv"&gt;"server"&lt;/span&gt;&gt;
   &lt;&lt;span class="tag"&gt;div&lt;/span&gt;&gt;
      
   &lt;/&lt;span class="tag"&gt;div&lt;/span&gt;&gt;
   &lt;/&lt;span class="tag"&gt;form&lt;/span&gt;&gt;
&lt;/&lt;span class="tag"&gt;body&lt;/span&gt;&gt;
&lt;/&lt;span class="tag"&gt;html&lt;/span&gt;&gt;
&lt;/pre&gt;&lt;/blockquote&gt;&lt;/span&gt; &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;/span&gt; &lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Related posts:&lt;/span&gt; &lt;/p&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;a href="http://forums.asp.net/p/1262144/2362078.aspx"&gt;&lt;span style=""&gt;http://forums.asp.net/p/1262144/2362078.aspx&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/6c3yckfw.aspx"&gt;&lt;span style=""&gt;http://msdn.microsoft.com/en-us/library/6c3yckfw.aspx&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;a href="http://dotnetslackers.com/community/blogs/haissam/archive/2007/11/26/ways-to-pass-data-between-webforms.aspx"&gt;&lt;span style=""&gt;http://dotnetslackers.com/community/blogs/haissam/archive/2007/11/26/ways-to-pass-data-between-webforms.aspx&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span class="msoIns"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms178139.aspx"&gt;Cross-Page Posting in ASP.NET Web Pages&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span class="msoIns"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms178141.aspx"&gt;How to: Determine How ASP.NET Web Pages Were Invoked&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span class="msoIns"&gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt; &lt;h3 style="margin: 10pt 0pt 0pt 21.25pt; text-indent: -21.25pt;"&gt;&lt;a class="" title="_Toc204572739" name="_Toc204572739"&gt;&lt;/a&gt;&lt;strong&gt;&lt;span style="font-size: 12pt; color: windowtext; font-family: Verdana;"&gt;&lt;span style=""&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/h3&gt; &lt;h3 style="margin: 10pt 0pt 0pt 21.25pt; text-indent: -21.25pt;"&gt;&lt;strong&gt;&lt;span style="font-size: 12pt; color: windowtext; font-family: Verdana;"&gt;&lt;span style=""&gt;3.&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;      &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-size: 12pt; color: windowtext; font-family: Verdana;"&gt;File Upload&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-size: 12pt; color: windowtext; font-family: Verdana;"&gt; &lt;/span&gt;&lt;/strong&gt;&lt;/h3&gt; &lt;h3 style="margin: 10pt 0pt 0pt 28.35pt; text-indent: -28.35pt;"&gt;&lt;span&gt;&lt;span&gt;&lt;a class="" title="_How_to_upload" name="_How_to_upload"&gt;&lt;/a&gt;&lt;span&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;&lt;span style=""&gt;3.1&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;How to upload a file&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt; &lt;blockquote&gt;&lt;pre class="coloredcode"&gt;&lt;span class="kwd"&gt;if&lt;/span&gt; (FileUpLoad1.HasFile)
{ 
  FileUpLoad1.SaveAs(Server.MapPath(&lt;span class="st"&gt;"upload"&lt;/span&gt;)+ &lt;span class="st"&gt;"\\"&lt;/span&gt; + FileUpLoad1.FileName);
}
&lt;/pre&gt;&lt;/blockquote&gt;&lt;/span&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span class="msoIns"&gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span class="msoIns"&gt;Related posts:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span class="msoIns"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span class="msoIns"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms227677.aspx"&gt;FileUpload Web Server Control Overview&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span class="msoIns"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.fileupload.aspx"&gt;FileUpload Class&lt;/a&gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt; &lt;/p&gt; &lt;h3 style="margin: 10pt 0pt 0pt 28.35pt; text-indent: -28.35pt;"&gt;&lt;a class="" title="_How_to_upload_" name="_How_to_upload_"&gt;&lt;/a&gt;&lt;span&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;&lt;span style=""&gt;3.2&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;How to upload multiple files at once&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Please check the following article, in the article, Haissam Abdul Malak will explain how to upload multiple files in an organized way using HtmlInputFile control.&lt;/span&gt; &lt;/p&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;/span&gt; &lt;/p&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Related posts:&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;a href="http://forums.asp.net/t/1263738.aspx"&gt;&lt;span style=""&gt;http://forums.asp.net/t/1263738.aspx&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span class="MsoHyperlink"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;a href="http://aspalliance.com/1221_CodeSnip_Uploading_Multiple_Files_At_Once.all"&gt;&lt;span style=""&gt;http://aspalliance.com/1221_CodeSnip_Uploading_Multiple_Files_At_Once.all&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt; &lt;/p&gt; &lt;h3 style="margin: 10pt 0pt 0pt 28.35pt; text-indent: -28.35pt;"&gt;&lt;a class="" title="_Why_upload_fails" name="_Why_upload_fails"&gt;&lt;/a&gt;&lt;span&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;&lt;span style=""&gt;3.3&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;Why upload fails when using an ASP.NET FileUpload control to upload large files&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;For security reasons, ASP.NET is limited in terms of an uploaded file size. The default maximum file size is 4 MB but this can be changed by modifying the MaxRequestLength attribute of Machine.config's &lt;httpruntime&gt; element.&lt;/span&gt;&lt;/p&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt; &lt;blockquote&gt;&lt;pre class="coloredcode"&gt;&lt;&lt;span class="tag"&gt;httpRuntime&lt;/span&gt;&lt;span class="attr"&gt; executionTimeout=&lt;/span&gt;&lt;span class="attrv"&gt;"240"&lt;/span&gt;&lt;span class="attr"&gt; maxRequestLength=&lt;/span&gt;&lt;span class="attrv"&gt;"20480"&lt;/span&gt; /&gt;&lt;/pre&gt;&lt;/blockquote&gt;&lt;/span&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;/span&gt; &lt;/p&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Related posts: &lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;a href="http://forums.asp.net/t/1074332.aspx"&gt;&lt;span style=""&gt;http://forums.asp.net/t/1074332.aspx&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;a href="http://forums.asp.net/p/1106754/1696069.aspx#1696069"&gt;&lt;span style=""&gt;http://forums.asp.net/p/1106754/1696069.aspx#1696069&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt; &lt;/p&gt; &lt;h3 style="margin: 10pt 0pt 0pt 28.35pt; text-indent: -28.35pt;"&gt;&lt;a class="" title="_How_to_upload_1" name="_How_to_upload_1"&gt;&lt;/a&gt;&lt;span&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;&lt;span style=""&gt;3.4&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;How to upload an image files only&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;See the code,&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Fileupload.aspx:&lt;/span&gt;&lt;/p&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt; &lt;blockquote&gt;&lt;pre class="coloredcode"&gt;&lt;span class="dir"&gt;&lt;%@ Page Language="C#" AutoEventWireup="true" CodeFile="Fileupload.aspx.cs" Inherits="FileuploadDemo" %&gt;&lt;/span&gt;
&lt;&lt;span class="tag"&gt;!DOCTYPE&lt;/span&gt; html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;
&lt;&lt;span class="tag"&gt;html&lt;/span&gt;&lt;span class="attr"&gt; xmlns=&lt;/span&gt;&lt;span class="attrv"&gt;"http://www.w3.org/1999/xhtml"&lt;/span&gt;&gt;
&lt;&lt;span class="tag"&gt;head&lt;/span&gt;&lt;span class="attr"&gt; runat=&lt;/span&gt;&lt;span class="attrv"&gt;"server"&lt;/span&gt;&gt;
   &lt;&lt;span class="tag"&gt;title&lt;/span&gt;&gt;Upload Image Demo&lt;/&lt;span class="tag"&gt;title&lt;/span&gt;&gt;
&lt;/&lt;span class="tag"&gt;head&lt;/span&gt;&gt;
&lt;&lt;span class="tag"&gt;body&lt;/span&gt;&gt;
   &lt;&lt;span class="tag"&gt;form&lt;/span&gt;&lt;span class="attr"&gt; id=&lt;/span&gt;&lt;span class="attrv"&gt;"form1"&lt;/span&gt;&lt;span class="attr"&gt; runat=&lt;/span&gt;&lt;span class="attrv"&gt;"server"&lt;/span&gt;&gt;
   &lt;&lt;span class="tag"&gt;div&lt;/span&gt;&gt;
       &lt;&lt;span class="tag"&gt;asp:Image&lt;/span&gt;&lt;span class="attr"&gt; ID=&lt;/span&gt;&lt;span class="attrv"&gt;"Image1"&lt;/span&gt;&lt;span class="attr"&gt; runat=&lt;/span&gt;&lt;span class="attrv"&gt;"server"&lt;/span&gt; /&gt;
       &lt;&lt;span class="tag"&gt;asp:FileUpload&lt;/span&gt;&lt;span class="attr"&gt; ID=&lt;/span&gt;&lt;span class="attrv"&gt;"FileUpload1"&lt;/span&gt;&lt;span class="attr"&gt; runat=&lt;/span&gt;&lt;span class="attrv"&gt;"server"&lt;/span&gt; /&gt;
       &lt;&lt;span class="tag"&gt;asp:Button&lt;/span&gt;&lt;span class="attr"&gt; ID=&lt;/span&gt;&lt;span class="attrv"&gt;"btnSubmit"&lt;/span&gt;&lt;span class="attr"&gt; runat=&lt;/span&gt;&lt;span class="attrv"&gt;"server"&lt;/span&gt;&lt;span class="attr"&gt; Text=&lt;/span&gt;&lt;span class="attrv"&gt;"Submit"&lt;/span&gt;&lt;span class="attr"&gt; OnClick=&lt;/span&gt;&lt;span class="attrv"&gt;"btnSubmit_Click"&lt;/span&gt; /&gt;
   &lt;/&lt;span class="tag"&gt;div&lt;/span&gt;&gt;
   &lt;/&lt;span class="tag"&gt;form&lt;/span&gt;&gt;
&lt;/&lt;span class="tag"&gt;body&lt;/span&gt;&gt;
&lt;/&lt;span class="tag"&gt;html&lt;/span&gt;&gt;
&lt;/pre&gt;&lt;/blockquote&gt;&lt;/span&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Fileupload.aspx.cs:&lt;/span&gt;&lt;/p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; &lt;blockquote&gt;&lt;pre class="coloredcode"&gt;&lt;span class="kwd"&gt;using&lt;/span&gt; System;
&lt;span class="kwd"&gt;using&lt;/span&gt; System.Collections;
&lt;span class="kwd"&gt;using&lt;/span&gt; System.Configuration;
&lt;span class="kwd"&gt;using&lt;/span&gt; System.Data;
&lt;span class="kwd"&gt;using&lt;/span&gt; System.Linq;
&lt;span class="kwd"&gt;using&lt;/span&gt; System.Web;
&lt;span class="kwd"&gt;using&lt;/span&gt; System.Web.Security;
&lt;span class="kwd"&gt;using&lt;/span&gt; System.Web.UI;
&lt;span class="kwd"&gt;using&lt;/span&gt; System.Web.UI.HtmlControls;
&lt;span class="kwd"&gt;using&lt;/span&gt; System.Web.UI.WebControls;
&lt;span class="kwd"&gt;using&lt;/span&gt; System.Web.UI.WebControls.WebParts;
&lt;span class="kwd"&gt;using&lt;/span&gt; System.Xml.Linq;

&lt;span class="kwd"&gt;public&lt;/span&gt; partial &lt;span class="kwd"&gt;class&lt;/span&gt; FileuploadDemo : System.Web.UI.Page
{
   &lt;span class="kwd"&gt;protected void&lt;/span&gt; btnSubmit_Click(&lt;span class="kwd"&gt;object&lt;/span&gt; sender, EventArgs e)
   {
       &lt;span class="kwd"&gt;string&lt;/span&gt; fileFullname = &lt;span class="kwd"&gt;this&lt;/span&gt;.FileUpload1.PostedFile.FileName;
       &lt;span class="kwd"&gt;string&lt;/span&gt; dataName = DateTime.Now.ToString(&lt;span class="st"&gt;"yyyy-MM-dd hh-mm-ss"&lt;/span&gt;);
       &lt;span class="kwd"&gt;string&lt;/span&gt; fileName = fileFullname.Substring(fileFullname.LastIndexOf(&lt;span class="st"&gt;"\\"&lt;/span&gt;) + 1);
       &lt;span class="kwd"&gt;string&lt;/span&gt; type = fileFullname.Substring(fileFullname.LastIndexOf(&lt;span class="st"&gt;"."&lt;/span&gt;) + 1);
       &lt;span class="kwd"&gt;if&lt;/span&gt; (FileUpload1.PostedFile.ContentType.ToUpper().IndexOf(&lt;span class="st"&gt;"IMAGE"&lt;/span&gt;) &gt; -1)
       {
           System.Drawing.Image img = System.Drawing.Image.FromStream(FileUpload1.PostedFile.InputStream);
           &lt;span class="kwd"&gt;int&lt;/span&gt; Width = img.Width;
           &lt;span class="kwd"&gt;int&lt;/span&gt; Height = img.Height;

           &lt;span class="kwd"&gt;if&lt;/span&gt; (Width &gt; 1000 || Height &gt; 1000 || FileUpload1.PostedFile.ContentLength &gt; 1024 * 1024 * 200)
           {
               &lt;span class="kwd"&gt;this&lt;/span&gt;.ClientScript.RegisterStartupScript(&lt;span class="kwd"&gt;this&lt;/span&gt;.GetType(), &lt;span class="st"&gt;"Startup"&lt;/span&gt;,
                     &lt;span class="st"&gt;"&lt;script language="'javascript'"&gt;alert('The image size is too large!');&lt;/script&gt;"&lt;/span&gt;);
           }
           &lt;span class="kwd"&gt;else&lt;/span&gt;
           {
               &lt;span class="kwd"&gt;if&lt;/span&gt; (type == &lt;span class="st"&gt;"jpg"&lt;/span&gt; || type == &lt;span class="st"&gt;"gif"&lt;/span&gt; || type == &lt;span class="st"&gt;"bmp"&lt;/span&gt; || type == &lt;span class="st"&gt;"JPG"&lt;/span&gt; || type == &lt;span class="st"&gt;"GIF"&lt;/span&gt;)
               {
                   &lt;span class="kwd"&gt;string&lt;/span&gt; ImagePath = &lt;span class="st"&gt;"images/"&lt;/span&gt;;
                   &lt;span class="kwd"&gt;string&lt;/span&gt; sPath = Server.MapPath(ImagePath) + dataName + fileName;
                   &lt;span class="kwd"&gt;string&lt;/span&gt; imgPath = ImagePath + dataName + fileName;
                   &lt;span class="kwd"&gt;this&lt;/span&gt;.FileUpload1.PostedFile.SaveAs(sPath);
                   &lt;span class="kwd"&gt;this&lt;/span&gt;.ClientScript.RegisterStartupScript(&lt;span class="kwd"&gt;this&lt;/span&gt;.GetType(),
                         &lt;span class="st"&gt;"Startup"&lt;/span&gt;, &lt;span class="st"&gt;"&lt;script language="'javascript'"&gt;alert('Success!');&lt;/script&gt;"&lt;/span&gt;);
                   &lt;span class="kwd"&gt;this&lt;/span&gt;.Image1.ImageUrl = imgPath;
                   &lt;span class="kwd"&gt;this&lt;/span&gt;.btnSubmit.Enabled = &lt;span class="kwd"&gt;false&lt;/span&gt;;
                   &lt;span class="kwd"&gt;this&lt;/span&gt;.btnSubmit.Text = &lt;span class="st"&gt;"Success!"&lt;/span&gt;;
                   &lt;span class="kwd"&gt;this&lt;/span&gt;.btnSubmit.Enabled = &lt;span class="kwd"&gt;true&lt;/span&gt;;

               }
               &lt;span class="kwd"&gt;else&lt;/span&gt;
               {
                   &lt;span class="kwd"&gt;this&lt;/span&gt;.ClientScript.RegisterStartupScript(&lt;span class="kwd"&gt;this&lt;/span&gt;.GetType(), &lt;span class="st"&gt;"Startup"&lt;/span&gt;,
                         &lt;span class="st"&gt;"&lt;script language="'javascript'"&gt;alert('File type is not right!');&lt;/script&gt;"&lt;/span&gt;);
               }
           }
       }
       &lt;span class="kwd"&gt;else&lt;/span&gt;
       {
           &lt;span class="kwd"&gt;this&lt;/span&gt;.ClientScript.RegisterStartupScript(&lt;span class="kwd"&gt;this&lt;/span&gt;.GetType(), &lt;span class="st"&gt;"Startup"&lt;/span&gt;,
                  &lt;span class="st"&gt;"&lt;script language="'javascript'"&gt;alert('The uploaded file is not a image file!');&lt;/script&gt;"&lt;/span&gt;);
       }
   }
}
&lt;/pre&gt;&lt;/blockquote&gt;&lt;/span&gt; &lt;p&gt; &lt;/p&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Related posts: &lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;a href="http://forums.asp.net/p/1051895/2171502.aspx"&gt;&lt;span style=""&gt;http://forums.asp.net/p/1051895/2171502.aspx&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;h3 style="margin: 10pt 0pt 0pt 28.35pt; text-indent: -28.35pt;"&gt;&lt;a class="" title="_How_to_get_1" name="_How_to_get_1"&gt;&lt;/a&gt;&lt;span&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;&lt;span style=""&gt;3.5&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;How to get a File Upload control work with an UpdatePanel
&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;The FileUpload control does not work with asynchronous post backs and therefore does not work from within an AJAX UpdatePanel.&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;The trick to make the FileUpload to work within an Ajax UpdatePanel is to setup a PostBackTrigger in the UpdatePanel control. &lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Demo code:&lt;/span&gt;&lt;/p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; &lt;blockquote&gt;&lt;pre class="coloredcode"&gt;&lt;&lt;span class="tag"&gt;asp:UpdatePanel&lt;/span&gt;&lt;span class="attr"&gt; ID=&lt;/span&gt;&lt;span class="attrv"&gt;"UpdatePanel1"&lt;/span&gt;&lt;span class="attr"&gt; runat=&lt;/span&gt;&lt;span class="attrv"&gt;"server"&lt;/span&gt;&gt;
&lt;&lt;span class="tag"&gt;Triggers&lt;/span&gt; &gt;
&lt;&lt;span class="tag"&gt;asp:PostBackTrigger&lt;/span&gt;&lt;span class="attr"&gt; ControlID =&lt;/span&gt;&lt;span class="attrv"&gt;"Button1"&lt;/span&gt; /&gt;
&lt;/&lt;span class="tag"&gt;Triggers&lt;/span&gt;&gt;
&lt;&lt;span class="tag"&gt;ContentTemplate&lt;/span&gt; &gt;
&lt;&lt;span class="tag"&gt;asp:FileUpload&lt;/span&gt;&lt;span class="attr"&gt; ID =&lt;/span&gt;&lt;span class="attrv"&gt;"fileupload1"&lt;/span&gt;&lt;span class="attr"&gt; runat =&lt;/span&gt;&lt;span class="attrv"&gt;"server"&lt;/span&gt; /&gt;&lt;&lt;span class="tag"&gt;br&lt;/span&gt; /&gt;    
&lt;&lt;span class="tag"&gt;asp:Button&lt;/span&gt;&lt;span class="attr"&gt; ID =&lt;/span&gt;&lt;span class="attrv"&gt;"Button1"&lt;/span&gt;&lt;span class="attr"&gt; runat =&lt;/span&gt;&lt;span class="attrv"&gt;"server"&lt;/span&gt;&lt;span class="attr"&gt; Text =&lt;/span&gt;&lt;span class="attrv"&gt;"Upload"&lt;/span&gt;&lt;span class="attr"&gt; OnClick=&lt;/span&gt;&lt;span class="attrv"&gt;"Button1_Click"&lt;/span&gt; /&gt;&lt;&lt;span class="tag"&gt;br&lt;/span&gt; /&gt;
&lt;&lt;span class="tag"&gt;asp:Label&lt;/span&gt;&lt;span class="attr"&gt; ID =&lt;/span&gt;&lt;span class="attrv"&gt;"Lable1"&lt;/span&gt;&lt;span class="attr"&gt; runat =&lt;/span&gt;&lt;span class="attrv"&gt;"server"&lt;/span&gt;  Text =""&gt;&lt;/&lt;span class="tag"&gt;asp:Label&lt;/span&gt;&gt;
&lt;&lt;span class="tag"&gt;asp:LinkButton&lt;/span&gt;&lt;span class="attr"&gt; ID =&lt;/span&gt;&lt;span class="attrv"&gt;"LinkButton1"&lt;/span&gt;&lt;span class="attr"&gt; runat=&lt;/span&gt;&lt;span class="attrv"&gt;"server"&lt;/span&gt;&lt;span class="attr"&gt; Text =&lt;/span&gt;&lt;span class="attrv"&gt;"Click Here"&lt;/span&gt;&lt;span class="attr"&gt; OnClick=&lt;/span&gt;&lt;span class="attrv"&gt;"LinkButton1_Click"&lt;/span&gt;&gt;&lt;/&lt;span class="tag"&gt;asp:LinkButton&lt;/span&gt;&gt;
&lt;/&lt;span class="tag"&gt;ContentTemplate&lt;/span&gt;&gt;
&lt;/&lt;span class="tag"&gt;asp:UpdatePanel&lt;/span&gt;&gt;
&lt;/pre&gt;&lt;/blockquote&gt;&lt;/span&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;/span&gt; &lt;/p&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Related posts: &lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;a href="http://forums.asp.net/p/1105208/1689084.aspx"&gt;&lt;span style=""&gt;http://forums.asp.net/p/1105208/1689084.aspx&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;/span&gt; &lt;/p&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;/span&gt; &lt;/p&gt; &lt;h3 style="margin: 10pt 0pt 0pt 21.25pt; text-indent: -21.25pt;"&gt;&lt;a class="" title="_Toc204572745" name="_Toc204572745"&gt;&lt;/a&gt;&lt;strong&gt;&lt;span style="font-size: 12pt; color: windowtext; font-family: Verdana;"&gt;&lt;span style=""&gt;4.&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;      &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-size: 12pt; color: windowtext; font-family: Verdana;"&gt;Calendar&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;&lt;/span&gt;&lt;strong&gt;&lt;span style="font-weight: normal; font-size: 12pt; color: windowtext; font-family: Verdana;"&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/h3&gt; &lt;h3 style="margin: 10pt 0pt 0pt 28.35pt; text-indent: -28.35pt;"&gt;&lt;a class="" title="_How_to_change" name="_How_to_change"&gt;&lt;/a&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;&lt;span style=""&gt;4.1&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;How to change the culture settings for a Calendar&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;In calendar.aspx.cs: &lt;/span&gt;&lt;/p&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt; &lt;blockquote&gt;&lt;pre class="coloredcode"&gt;&lt;span class="kwd"&gt;private void&lt;/span&gt; Page_Load(&lt;span class="kwd"&gt;object&lt;/span&gt; sender, System.EventArgs e)
{
   System.Globalization.CultureInfo culture = System.Globalization.CultureInfo.CreateSpecificCulture(&lt;span class="st"&gt;"ens"&lt;/span&gt;);
   System.Threading.Thread.CurrentThread.CurrentCulture = culture;
   System.Threading.Thread.CurrentThread.CurrentUICulture = culture;
}&lt;/pre&gt;&lt;/blockquote&gt;&lt;/span&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;/span&gt; &lt;/p&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Related posts: &lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;a href="http://forums.asp.net/t/1133896.aspx"&gt;&lt;span style=""&gt;http://forums.asp.net/t/1133896.aspx&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span class="MsoHyperlink"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;h3 style="margin: 10pt 0pt 0pt 28.35pt; text-indent: -28.35pt;"&gt;&lt;a class="" title="_How_to_select" name="_How_to_select"&gt;&lt;/a&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;&lt;span style=""&gt;4.2&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;How to select multiple non-sequential dates at Code-Behind
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Invoke the member function ‘Add’ of the control's SelectedDates collection. You can add dates in any sequence, because the collection will automatically arrange them in order for you.&lt;/span&gt;&lt;/p&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt; &lt;blockquote&gt;&lt;pre class="coloredcode"&gt;&lt;span class="kwd"&gt;protected void&lt;/span&gt; Calendar1_SelectionChanged(&lt;span class="kwd"&gt;object&lt;/span&gt; sender, EventArgs e)
{
   Calendar1.SelectedDates.Clear();
   Calendar1.SelectedDates.Add(&lt;span class="kwd"&gt;new&lt;/span&gt; DateTime(2008, 8, 1));
   Calendar1.SelectedDates.Add(&lt;span class="kwd"&gt;new&lt;/span&gt; DateTime(2008, 8, 7));
   Calendar1.SelectedDates.Add(&lt;span class="kwd"&gt;new&lt;/span&gt; DateTime(2008, 8, 15));   
}&lt;/pre&gt;&lt;/blockquote&gt;&lt;/span&gt; &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;/span&gt; &lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Related posts: &lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;a href="http://forums.asp.net/t/1260917.aspx"&gt;&lt;span style=""&gt;http://forums.asp.net/t/1260917.aspx&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt; &lt;/p&gt; &lt;h3 style="margin: 10pt 0pt 0pt 28.35pt; text-indent: -28.35pt;"&gt;&lt;a class="" title="_How_to_disable" name="_How_to_disable"&gt;&lt;/a&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;&lt;span style=""&gt;4.3&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;How to disable some dates in Calendar control
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt; &lt;blockquote&gt;&lt;pre class="coloredcode"&gt;&lt;span class="kwd"&gt;protected void&lt;/span&gt; Calendar1_DayRender(&lt;span class="kwd"&gt;object&lt;/span&gt; sender, DayRenderEventArgs e)
{
   &lt;span class="kwd"&gt;string&lt;/span&gt; date=&lt;span class="st"&gt;"02/01/2008"&lt;/span&gt;;
   DateTime dt = DateTime.Parse(date);
   &lt;span class="kwd"&gt;if&lt;/span&gt; (e.Day.Date == dt)
       e.Day.IsSelectable = &lt;span class="kwd"&gt;false&lt;/span&gt;;
}&lt;/pre&gt;&lt;/blockquote&gt;&lt;/span&gt; &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;/span&gt; &lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Related posts: &lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;a href="http://forums.asp.net/t/1230073.aspx"&gt;&lt;span style=""&gt;http://forums.asp.net/t/1230073.aspx&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span class="MsoHyperlink"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span class="msoIns"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/k4t1kwcd.aspx"&gt;&lt;span style=""&gt;How to: Customize Individual Days in a Calendar Web Server Control&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; &lt;/span&gt;  &lt;h3 style="margin: 10pt 0pt 0pt 28.35pt; text-indent: -28.35pt;"&gt;&lt;a class="" title="_How_to_extend" name="_How_to_extend"&gt;&lt;/a&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;&lt;span style=""&gt;4.4&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;How to extend Calendar control for Server-Side validation
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt; &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Refer to:&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;&lt;/span&gt;&lt;a href="http://support.microsoft.com/default.aspx?scid=kb;en-us;310145"&gt;&lt;span style=""&gt;http://support.microsoft.com/default.aspx?scid=kb;en-us;310145&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="font-family: Verdana;"&gt;&lt;span style="font-size:100%;"&gt; &lt;/span&gt;&lt;/span&gt;  &lt;p&gt; &lt;/p&gt; &lt;h3 style="margin: 10pt 0pt 0pt 28.35pt; text-indent: -28.35pt;"&gt;&lt;a class="" title="_How_to_set" name="_How_to_set"&gt;&lt;/a&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;&lt;span style=""&gt;4.5&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;How to set ToolTips and links in Calendar control’s DayRender event
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;&lt;span style="font-family: Verdana;"&gt;  &lt;/span&gt;&lt;span style="font-family: Verdana;"&gt; &lt;blockquote&gt;&lt;pre class="coloredcode"&gt;&lt;span class="kwd"&gt;protected void&lt;/span&gt; Calendar1_DayRender(&lt;span class="kwd"&gt;object&lt;/span&gt; sender, DayRenderEventArgs e)
{
   e.Cell.Controls.Clear();
   HyperLink link = &lt;span class="kwd"&gt;new&lt;/span&gt; HyperLink();
   link.Text = e.Day.Date.Day;
   link.ToolTip = &lt;span class="st"&gt;"anything you want here!"&lt;/span&gt;;
   link.NavigateUrl = url;
   e.Cell.Controls.Add(link);
}
&lt;/pre&gt;&lt;/blockquote&gt; &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; &lt;/span&gt; &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Related posts: &lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;a href="http://forums.asp.net/p/1036174/1800067.aspx"&gt;&lt;span style=""&gt;http://forums.asp.net/p/1036174/1800067.aspx&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span class="MsoHyperlink"&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; &lt;/span&gt;  &lt;h3 style="margin: 10pt 0pt 0pt 28.35pt; text-indent: -28.35pt;"&gt;&lt;a class="" title="_How_to_give" name="_How_to_give"&gt;&lt;/a&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;&lt;span style=""&gt;4.6&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;How to give some dates different appearances
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt; &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;We can do this with the following code:&lt;/span&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt; &lt;blockquote&gt;&lt;pre class="coloredcode"&gt;&lt;span class="kwd"&gt;protected void&lt;/span&gt; Calendar1_DayRender(&lt;span class="kwd"&gt;object&lt;/span&gt; sender, DayRenderEventArgs e)
{
   &lt;span class="kwd"&gt;if&lt;/span&gt; (e.Day.Date.Month == 2 &amp;amp;&amp;amp; e.Day.Date.Day == 25)
   {
       e.Cell.BackColor = System.Drawing.Color.Yellow;
   }
   &lt;span class="kwd"&gt;if&lt;/span&gt; (e.Day.Date.DayOfWeek == DayOfWeek.Friday || e.Day.Date.DayOfWeek == DayOfWeek.Saturday)
   {

       e.Cell.Controls.Clear();
       e.Cell.Text = &lt;span class="st"&gt;"today isweekend"&lt;/span&gt;;
   }
}
&lt;/pre&gt;&lt;/blockquote&gt;&lt;/span&gt; &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;/span&gt; &lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Related posts: &lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;a href="http://forums.asp.net/p/1036174/1800067.aspx"&gt;&lt;span style=""&gt;http://forums.asp.net/p/1036174/1800067.aspx&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span class="msoIns"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/k4t1kwcd.aspx"&gt;&lt;span style=""&gt;How to: Customize Individual Days in a Calendar Web Server Control&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt; &lt;p&gt;&lt;span class="MsoHyperlink"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/w4s946c9.aspx"&gt;&lt;span style=""&gt;&lt;span class="msoIns"&gt;How to: Format Calendar Web Server Control Elements Using Styles&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span class="MsoHyperlink"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt; &lt;h3 style="margin: 10pt 0pt 0pt 21.25pt; text-indent: -21.25pt;"&gt;&lt;a class="" title="_Toc204572752" name="_Toc204572752"&gt;&lt;/a&gt;&lt;strong&gt;&lt;span style="font-size: 12pt; color: windowtext; font-family: Verdana;"&gt;&lt;span style=""&gt;5.&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;      &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-size: 12pt; color: windowtext; font-family: Verdana;"&gt;List controls&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;&lt;/span&gt;&lt;strong&gt;&lt;span style="font-weight: normal; font-size: 12pt; color: windowtext; font-family: Verdana;"&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/h3&gt; &lt;h3 style="margin: 10pt 0pt 0pt 28.35pt; text-indent: -28.35pt;"&gt;&lt;a class="" title="_How_to_enable" name="_How_to_enable"&gt;&lt;/a&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;&lt;span style=""&gt;5.1&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span class="articletoptitle"&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;How to enable ASP.NET DropDownList with OptionGroup support
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;We can override the function of DropDownList, and add the additional property for it.&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Here are some good articles about it.&lt;/span&gt; &lt;/p&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;/span&gt; &lt;/p&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Refer to:&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;a href="http://www.codeproject.com/KB/custom-controls/xlist.aspx"&gt;&lt;span style=""&gt;http://www.codeproject.com/KB/custom-controls/xlist.aspx&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span class="MsoHyperlink"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; &lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;a href="http://www.codeproject.com/KB/custom-controls/DropDownListOptionGroup.aspx"&gt;&lt;span style=""&gt;http://www.codeproject.com/KB/custom-controls/DropDownListOptionGroup.aspx&lt;/span&gt;&lt;/a&gt;&lt;/span&gt; &lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;h3 style="margin: 10pt 0pt 0pt 28.35pt; text-indent: -28.35pt;"&gt;&lt;a class="" title="_How_to_disable_" name="_How_to_disable_"&gt;&lt;/a&gt;&lt;span&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;&lt;span style=""&gt;5.2&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;How to disable an item in DropDownList&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt; &lt;blockquote&gt;&lt;pre class="coloredcode"&gt;&lt;&lt;span class="tag"&gt;asp:DropDownList&lt;/span&gt;&lt;span class="attr"&gt; ID=&lt;/span&gt;&lt;span class="attrv"&gt;"DropDownList1"&lt;/span&gt;&lt;span class="attr"&gt; runat =&lt;/span&gt;&lt;span class="attrv"&gt;"server"&lt;/span&gt;&lt;span class="attr"&gt; Width=&lt;/span&gt;&lt;span class="attrv"&gt;"235px"&lt;/span&gt;&lt;span class="attr"&gt; AutoPostBack=&lt;/span&gt;&lt;span class="attrv"&gt;"False"&lt;/span&gt;&gt;
   &lt;&lt;span class="tag"&gt;asp:ListItem&lt;/span&gt;&gt;1&lt;/&lt;span class="tag"&gt;asp:ListItem&lt;/span&gt;&gt;
   &lt;&lt;span class="tag"&gt;asp:ListItem&lt;/span&gt;&gt;2&lt;/&lt;span class="tag"&gt;asp:ListItem&lt;/span&gt;&gt;
   &lt;&lt;span class="tag"&gt;asp:ListItem&lt;/span&gt;&gt;3&lt;/&lt;span class="tag"&gt;asp:ListItem&lt;/span&gt;&gt;
   &lt;&lt;span class="tag"&gt;asp:ListItem&lt;/span&gt;&gt;4&lt;/&lt;span class="tag"&gt;asp:ListItem&lt;/span&gt;&gt;
&lt;/&lt;span class="tag"&gt;asp:DropDownList&lt;/span&gt;&gt;
&lt;/pre&gt;&lt;/blockquote&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt; &lt;blockquote&gt;&lt;pre class="coloredcode"&gt;&lt;span class="kwd"&gt;protected void&lt;/span&gt; Page_Load(&lt;span class="kwd"&gt;object&lt;/span&gt; sender, EventArgs e)
{
   DropDownList1.Attributes.Add(&lt;span class="st"&gt;"onchange"&lt;/span&gt;, &lt;span class="st"&gt;"change();"&lt;/span&gt;);
}&lt;/pre&gt;&lt;/blockquote&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt; &lt;blockquote&gt;&lt;pre class="coloredcode"&gt;&lt;&lt;span class="tag"&gt;script&lt;/span&gt;&lt;span class="attr"&gt; type =&lt;/span&gt;&lt;span class="attrv"&gt;"text/javascript"&lt;/span&gt; &gt;
     function change()
     {
        var dd=document.getElementById ('&lt;span class="dir"&gt;&lt;%=&lt;/span&gt;DropDownList1.ClientID &lt;span class="dir"&gt;%&gt;&lt;/span&gt;');
        var value=dd.options[dd.selectedIndex].value;
        if(value!="2") //supose you want to disable the item numbered 2
        {
           setTimeout("__doPostBack('DropDownList1','')", 0);
        }
      }
&lt;/&lt;span class="tag"&gt;script&lt;/span&gt;&gt;
&lt;/pre&gt;&lt;/blockquote&gt;&lt;/span&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt; &lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Related posts:&lt;/span&gt;&lt;/p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;a href="http://forums.asp.net/p/1041568/1451492.aspx"&gt;&lt;span style=""&gt;http://forums.asp.net/p/1041568/1451492.aspx&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span class="MsoHyperlink"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; &lt;/span&gt;  &lt;p&gt; &lt;/p&gt; &lt;h3 style="margin: 10pt 0pt 0pt 28.35pt; text-indent: -28.35pt;"&gt;&lt;a class="" title="_How_to_hold" name="_How_to_hold"&gt;&lt;/a&gt;&lt;span&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;&lt;span style=""&gt;5.3&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;How to hold the selected value for a DropDownList&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;You should place your data binding code for the dropdownlist in the !page.Ispostback block.&lt;/span&gt; &lt;/p&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;the !postback block will ensure it will only be filled once during post backs.&lt;/span&gt;&lt;/p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; &lt;blockquote&gt;&lt;pre class="coloredcode"&gt;&lt;span class="kwd"&gt;if&lt;/span&gt;(!Page.IsPostBack)
{
   &lt;span class="cmt"&gt;//bind template drop down here &lt;/span&gt;
}&lt;/pre&gt;&lt;/blockquote&gt;&lt;/span&gt; &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;/span&gt; &lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Related posts:&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;a href="http://forums.asp.net/p/1251081/2312321.aspx"&gt;&lt;span style=""&gt;http://forums.asp.net/p/1251081/2312321.aspx&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span class="MsoHyperlink"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;h3 style="margin: 10pt 0pt 0pt 21.25pt; text-indent: -21.25pt;"&gt;&lt;a class="" title="_Toc204572756" name="_Toc204572756"&gt;&lt;/a&gt;&lt;a class="" title="_Toc198977725" name="_Toc198977725"&gt;&lt;/a&gt;&lt;span&gt;&lt;span style="font-size: 12pt; color: windowtext; font-family: Verdana;"&gt;&lt;span style=""&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt; &lt;h3 style="margin: 10pt 0pt 0pt 21.25pt; text-indent: -21.25pt;"&gt;&lt;span&gt;&lt;span style="font-size: 12pt; color: windowtext; font-family: Verdana;"&gt;&lt;span style=""&gt;6.&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;      &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 12pt; color: windowtext; font-family: Verdana;"&gt;User control&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 12pt; color: windowtext; font-family: Verdana;"&gt;&lt;/span&gt;&lt;/h3&gt; &lt;h3 style="margin: 10pt 0pt 0pt 28.35pt; text-indent: -28.35pt;"&gt;&lt;a class="" title="_How_to_add" name="_How_to_add"&gt;&lt;/a&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;&lt;span style=""&gt;6.1&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;How to add a new property to UserControl
&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt; &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;You can setup new properties inside the class definition of the user control at its .ascx.cs file.&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Example:&lt;/span&gt; &lt;/p&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;ascx file,&lt;/span&gt;&lt;/p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; &lt;blockquote&gt;&lt;pre class="coloredcode"&gt;&lt;span class="dir"&gt;&lt;%@ Control Language="C#" AutoEventWireup="true" CodeFile="WebUserControl.ascx.cs" Inherits="WebUserControl" %&gt;&lt;/span&gt;
&lt;&lt;span class="tag"&gt;asp:Label&lt;/span&gt;&lt;span class="attr"&gt; ID=&lt;/span&gt;&lt;span class="attrv"&gt;"Label1"&lt;/span&gt;&lt;span class="attr"&gt; runat=&lt;/span&gt;&lt;span class="attrv"&gt;"server"&lt;/span&gt;&lt;span class="attr"&gt; Text=&lt;/span&gt;&lt;span class="attrv"&gt;"Label"&lt;/span&gt;&gt;&lt;/&lt;span class="tag"&gt;asp:Label&lt;/span&gt;&gt;
&lt;&lt;span class="tag"&gt;asp:Calendar&lt;/span&gt;&lt;span class="attr"&gt; ID=&lt;/span&gt;&lt;span class="attrv"&gt;"Calendar1"&lt;/span&gt;&lt;span class="attr"&gt; runat=&lt;/span&gt;&lt;span class="attrv"&gt;"server"&lt;/span&gt;&gt;&lt;/&lt;span class="tag"&gt;asp:Calendar&lt;/span&gt;&gt;
&lt;&lt;span class="tag"&gt;asp:TextBox&lt;/span&gt;&lt;span class="attr"&gt; ID=&lt;/span&gt;&lt;span class="attrv"&gt;"TextBox1"&lt;/span&gt;&lt;span class="attr"&gt; runat=&lt;/span&gt;&lt;span class="attrv"&gt;"server"&lt;/span&gt;&gt;&lt;/&lt;span class="tag"&gt;asp:TextBox&lt;/span&gt;&gt;
&lt;/pre&gt;&lt;/blockquote&gt;&lt;/span&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;ascx.cs file,&lt;/span&gt;&lt;/p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; &lt;blockquote&gt;&lt;pre class="coloredcode"&gt;&lt;span class="kwd"&gt;public&lt;/span&gt; partial &lt;span class="kwd"&gt;class&lt;/span&gt; WebUserControl : System.Web.UI.UserControl
{
   String text2 = String.Empty;
   &lt;span class="kwd"&gt;public&lt;/span&gt; String Text
   {
       &lt;span class="kwd"&gt;get&lt;/span&gt;
       {

           &lt;span class="kwd"&gt;return&lt;/span&gt; Label1 .Text ;
       }
       &lt;span class="kwd"&gt;set&lt;/span&gt;
       {
           Label1 .Text  = &lt;span class="kwd"&gt;value&lt;/span&gt;;
       }
   }
   &lt;span class="kwd"&gt;public&lt;/span&gt; String Text2
   {
       &lt;span class="kwd"&gt;get&lt;/span&gt;
       {
           &lt;span class="kwd"&gt;return&lt;/span&gt; text2;
       }
       &lt;span class="kwd"&gt;set&lt;/span&gt;
       {
           text2 = &lt;span class="kwd"&gt;value&lt;/span&gt;;
       }
   }
   &lt;span class="kwd"&gt;protected void&lt;/span&gt; Page_Load(&lt;span class="kwd"&gt;object&lt;/span&gt; sender, EventArgs e)
   {
       TextBox1.Text = text2;
   }
}&lt;/pre&gt;&lt;/blockquote&gt;&lt;/span&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;aspx file&lt;/span&gt;&lt;/p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; &lt;blockquote&gt;&lt;pre class="coloredcode"&gt;&lt;span class="dir"&gt;&lt;%@ Register src="WebUserControl.ascx" mce_src="WebUserControl.ascx" TagName="WebUserControl" TagPrefix="uc1" %&gt;&lt;/span&gt;
&lt;&lt;span class="tag"&gt;uc1:WebUserControl&lt;/span&gt;&lt;span class="attr"&gt; id=&lt;/span&gt;&lt;span class="attrv"&gt;"WebUserControl1"&lt;/span&gt;&lt;span class="attr"&gt; runat=&lt;/span&gt;&lt;span class="attrv"&gt;"server"&lt;/span&gt;&lt;span class="attr"&gt; Text=&lt;/span&gt;&lt;span class="attrv"&gt;"Hello world"&lt;/span&gt;&lt;span class="attr"&gt; Text2=&lt;/span&gt;&lt;span class="attrv"&gt;"Hello world."&lt;/span&gt;&gt;
&lt;/&lt;span class="tag"&gt;uc1:WebUserControl&lt;/span&gt;&gt;
&lt;/pre&gt;&lt;/blockquote&gt;&lt;/span&gt; &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;/span&gt; &lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Related posts:&lt;/span&gt; &lt;/p&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;a href="http://forums.asp.net/t/349580.aspx"&gt;&lt;span style=""&gt;http://forums.asp.net/t/349580.aspx&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;/span&gt; &lt;/p&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; color: blue; font-family: Verdana;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;h3 style="margin: 10pt 0pt 0pt 28.35pt; text-indent: -28.35pt;"&gt;&lt;a class="" title="_How_to_access_" name="_How_to_access_"&gt;&lt;/a&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;&lt;span style=""&gt;6.2&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;How to access a dynamically created UserControl
&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;You can use FindControl method to get a reference to the target child control of your user control and then use it just like any other controls.&lt;/span&gt; &lt;/p&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Example:&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;UC.ascx,&lt;/span&gt;&lt;/p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; &lt;blockquote&gt;&lt;pre class="coloredcode"&gt;&lt;span class="dir"&gt;&lt;%@ Control Language="C#" ClassName="UC" %&gt;&lt;/span&gt;
&lt;&lt;span class="tag"&gt;script&lt;/span&gt;&lt;span class="attr"&gt; runat=&lt;/span&gt;&lt;span class="attrv"&gt;"server"&lt;/span&gt;&gt;
&lt;/&lt;span class="tag"&gt;script&lt;/span&gt;&gt;
&lt;&lt;span class="tag"&gt;asp:TextBox&lt;/span&gt;&lt;span class="attr"&gt; ID=&lt;/span&gt;&lt;span class="attrv"&gt;"txtName"&lt;/span&gt;&lt;span class="attr"&gt; runat=&lt;/span&gt;&lt;span class="attrv"&gt;"server"&lt;/span&gt;&gt;&lt;/&lt;span class="tag"&gt;asp:TextBox&lt;/span&gt;&gt;
&lt;/pre&gt;&lt;/blockquote&gt;&lt;/span&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Page.aspx:&lt;/span&gt;&lt;/p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; &lt;blockquote&gt;&lt;pre class="coloredcode"&gt;&lt;span class="dir"&gt;&lt;%@ Page Language="C#" %&gt;

&lt;%@ Register src="UC.ascx" tagname="UC" tagprefix="uc1" %&gt;&lt;/span&gt;

&lt;&lt;span class="tag"&gt;!DOCTYPE&lt;/span&gt; html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;
&lt;&lt;span class="tag"&gt;script&lt;/span&gt;&lt;span class="attr"&gt; runat=&lt;/span&gt;&lt;span class="attrv"&gt;"server"&lt;/span&gt;&gt;
   protected void btnLoad_Click(object sender, EventArgs e)
   {
       UC uc = new UC();
       uc.LoadControl("~/uc/UC.ascx");
       uc.ID = "MyUC";
       form1.Controls.Add(uc);
       (form1.FindControl("MyUC").FindControl("txtName") as TextBox).Text = "ASP.NET";
   }
&lt;/&lt;span class="tag"&gt;script&lt;/span&gt;&gt;
&lt;&lt;span class="tag"&gt;html&lt;/span&gt;&lt;span class="attr"&gt; xmlns=&lt;/span&gt;&lt;span class="attrv"&gt;"http://www.w3.org/1999/xhtml"&lt;/span&gt;&gt;
&lt;&lt;span class="tag"&gt;head&lt;/span&gt;&lt;span class="attr"&gt; runat=&lt;/span&gt;&lt;span class="attrv"&gt;"server"&lt;/span&gt;&gt;
   &lt;&lt;span class="tag"&gt;title&lt;/span&gt;&gt;User Control Demo&lt;/&lt;span class="tag"&gt;title&lt;/span&gt;&gt;
&lt;/&lt;span class="tag"&gt;head&lt;/span&gt;&gt;
&lt;&lt;span class="tag"&gt;body&lt;/span&gt;&gt;
   &lt;&lt;span class="tag"&gt;form&lt;/span&gt;&lt;span class="attr"&gt; id=&lt;/span&gt;&lt;span class="attrv"&gt;"form1"&lt;/span&gt;&lt;span class="attr"&gt; runat=&lt;/span&gt;&lt;span class="attrv"&gt;"server"&lt;/span&gt;&gt;
   &lt;&lt;span class="tag"&gt;div&lt;/span&gt;&gt;
       &lt;&lt;span class="tag"&gt;asp:Button&lt;/span&gt;&lt;span class="attr"&gt; ID=&lt;/span&gt;&lt;span class="attrv"&gt;"btnLoad"&lt;/span&gt;&lt;span class="attr"&gt; runat=&lt;/span&gt;&lt;span class="attrv"&gt;"server"&lt;/span&gt;&lt;span class="attr"&gt; Text=&lt;/span&gt;&lt;span class="attrv"&gt;"Loading user control ..."&lt;/span&gt;
&lt;span class="attr"&gt;            onclick=&lt;/span&gt;&lt;span class="attrv"&gt;"btnLoad_Click"&lt;/span&gt; /&gt;
   &lt;/&lt;span class="tag"&gt;div&lt;/span&gt;&gt;
   &lt;/&lt;span class="tag"&gt;form&lt;/span&gt;&gt;
&lt;/&lt;span class="tag"&gt;body&lt;/span&gt;&gt;
&lt;/&lt;span class="tag"&gt;html&lt;/span&gt;&gt;
&lt;/pre&gt;&lt;/blockquote&gt;&lt;/span&gt;

&lt;h3 style="margin: 10pt 0pt 0pt 28.35pt; text-indent: -28.35pt;"&gt;&lt;a class="" title="_How_to_access_1" name="_How_to_access_1"&gt;&lt;/a&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;&lt;span style=""&gt;6.3&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;How to access a control inside a UserControl&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt; &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Assume there is a user control called UC and there is only a TextBox control inside it. Now drag this user control into a web page, you can use the following code to visit the TextBox control.&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; &lt;blockquote&gt;&lt;pre class="coloredcode"&gt;((TextBox)UC1.FindControl(&lt;span class="st"&gt;"TextBox1"&lt;/span&gt;)).Text = &lt;span class="st"&gt;"demo"&lt;/span&gt;;&lt;/pre&gt;&lt;/blockquote&gt;&lt;/span&gt; &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;To known the basic principle, please refer to INamingContainer:&lt;/span&gt; &lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.web.ui.inamingcontainer.aspx"&gt;&lt;span style=""&gt;http://msdn.microsoft.com/en-us/library/system.web.ui.inamingcontainer.aspx&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style="font-family: Verdana;"&gt;&lt;span style="font-size:100%;"&gt; &lt;/span&gt;&lt;/span&gt;  &lt;h3 style="margin: 10pt 0pt 0pt 21.25pt; text-indent: -21.25pt;"&gt;&lt;a class="" title="_Toc204572760" name="_Toc204572760"&gt;&lt;/a&gt;&lt;a class="" title="_Toc198977746" name="_Toc198977746"&gt;&lt;/a&gt;&lt;span&gt;&lt;span style="font-size: 12pt; color: windowtext; font-family: Verdana;"&gt;&lt;span style=""&gt;7.&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;      &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 12pt; color: windowtext; font-family: Verdana;"&gt;Dynamic controls&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 12pt; color: windowtext; font-family: Verdana;"&gt;&lt;/span&gt;&lt;/h3&gt; &lt;h3 style="margin: 10pt 0pt 0pt 28.35pt; text-indent: -28.35pt;"&gt;&lt;a class="" title="_How_to_create" name="_How_to_create"&gt;&lt;/a&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;&lt;span style=""&gt;7.1&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;How to create a dynamic control&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;We can create the dynamic control in the Page_Init() event or Page_Load() event,&lt;/span&gt;&lt;/p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; &lt;blockquote&gt;&lt;pre class="coloredcode"&gt;&lt;span class="kwd"&gt;protected void&lt;/span&gt; Page_Load(&lt;span class="kwd"&gt;object&lt;/span&gt; sender, EventArgs e)
{
   TextBox dynamicTextBox = &lt;span class="kwd"&gt;new&lt;/span&gt; TextBox();
   dynamicTextBox.ID = &lt;span class="st"&gt;"DynamicTextBox"&lt;/span&gt;;
   dynamicTextBox.AutoPostBack = &lt;span class="kwd"&gt;true&lt;/span&gt;;
   dynamicTextBox.Text = &lt;span class="st"&gt;"InitData"&lt;/span&gt;;
   dynamicTextBox.TextChanged += &lt;span class="kwd"&gt;new&lt;/span&gt; EventHandler(dynamicTextBox_TextChanged);
   &lt;span class="kwd"&gt;this&lt;/span&gt;.Form.Controls.Add(dynamicTextBox);
}
&lt;span class="kwd"&gt;void&lt;/span&gt; dynamicTextBox_TextChanged(&lt;span class="kwd"&gt;object&lt;/span&gt; sender, EventArgs e)
{
   Response.Write(&lt;span class="st"&gt;"hello"&lt;/span&gt;);
}
&lt;/pre&gt;&lt;/blockquote&gt;&lt;/span&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;/span&gt; &lt;/p&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Related posts:&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;a href="http://forums.asp.net/t/1152363.aspx"&gt;&lt;span style=""&gt;http://forums.asp.net/t/1152363.aspx&lt;/span&gt;&lt;/a&gt;&lt;/span&gt; &lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;h3 style="margin: 10pt 0pt 0pt 28.35pt; text-indent: -28.35pt;"&gt;&lt;a class="" title="_How_to_access_2" name="_How_to_access_2"&gt;&lt;/a&gt;&lt;span&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;&lt;span style=""&gt;7.2&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color: windowtext; font-family: Verdana;"&gt;How to access a user entered value in a dynamic created TextBox control
&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt 13pt;"&gt;&lt;span style="font-size: 10pt; line-height: 115%; font-family: Verdana;"&gt;&lt;span style=""&gt;a.&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;      &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; line-height: 115%; font-family: Verdana;"&gt;Get the value from the form's POST data. Here is the code:&lt;/span&gt;&lt;/p&gt;&lt;span style="font-size: 10pt; line-height: 115%; font-family: Verdana;"&gt;&lt;span style=""&gt;   &lt;blockquote&gt;&lt;pre class="coloredcode"&gt;&lt;span class="kwd"&gt;if&lt;/span&gt;(Request.Form[&lt;span class="st"&gt;"dynamicTextBox"&lt;/span&gt;] != &lt;span class="kwd"&gt;null&lt;/span&gt;)
   selectedValue = Request.Form[&lt;span class="st"&gt;"dynamicTextBox"&lt;/span&gt;].ToString();
&lt;/pre&gt;&lt;/blockquote&gt;&lt;/span&gt;&lt;/span&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt 13pt;"&gt;&lt;span style="font-size: 10pt; line-height: 115%; font-family: Verdana;"&gt;&lt;span style=""&gt;b.&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;      &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; line-height: 115%; font-family: Verdana;"&gt;Get the value by finding the control at the webpage.&lt;/span&gt;&lt;/p&gt;&lt;span style="font-size: 10pt; line-height: 115%; font-family: Verdana;"&gt; &lt;blockquote&gt;&lt;pre class="coloredcode"&gt;TextBox txt=&lt;span class="kwd"&gt;this&lt;/span&gt;.form1.FindControl(&lt;span class="st"&gt;"dynamicTextBox"&lt;/span&gt;) &lt;span class="kwd"&gt;as&lt;/span&gt; TextBox;&lt;/pre&gt;&lt;/blockquote&gt;&lt;/span&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; color: black; font-family: Verdana;"&gt;See the whole demo code,&lt;/span&gt;&lt;/p&gt;&lt;span style="font-size: 10pt; color: black; font-family: Verdana;"&gt; &lt;blockquote&gt;&lt;pre class="coloredcode"&gt;&lt;span class="dir"&gt;&lt;%@ Page Language="C#" %&gt;&lt;/span&gt;
&lt;&lt;span class="tag"&gt;!DOCTYPE&lt;/span&gt; html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;
&lt;&lt;span class="tag"&gt;script&lt;/span&gt;&lt;span class="attr"&gt; runat=&lt;/span&gt;&lt;span class="attrv"&gt;"server"&lt;/span&gt;&gt;
   public string Res = string.Empty;
   protected void Page_Load(object sender, EventArgs e)
   {
       TextBox dynamicTextBox = new TextBox();
       dynamicTextBox.ID = "dynamicTextBox";
       form1.Controls.Add(dynamicTextBox);
   }
   protected void btnForm_Click(object sender, EventArgs e)
   {
       lblMsg.Text += "&lt;&lt;span class="tag"&gt;br&lt;/span&gt; /&gt; Form way:";
       if (Request.Form["dynamicTextBox"] != null)
           Res = Request.Form["dynamicTextBox"].ToString();
       lblMsg.Text += Res;
   }
   protected void btnFindControl_Click(object sender, EventArgs e)
   {
       lblMsg.Text += "&lt;&lt;span class="tag"&gt;br&lt;/span&gt; /&gt; FindControl way: ";
       TextBox dynamicTextBox = this.form1.FindControl("dynamicTextBox") as TextBox;
       Res = dynamicTextBox.Text;
       lblMsg.Text += Res;
   }
&lt;/&lt;span class="tag"&gt;script&lt;/span&gt;&gt;
&lt;&lt;span class="tag"&gt;html&lt;/span&gt;&lt;span class="attr"&gt; xmlns=&lt;/span&gt;&lt;span class="attrv"&gt;"http://www.w3.org/1999/xhtml"&lt;/span&gt;&gt;
&lt;&lt;span class="tag"&gt;head&lt;/span&gt;&lt;span class="attr"&gt; runat=&lt;/span&gt;&lt;span class="attrv"&gt;"server"&lt;/span&gt;&gt;
   &lt;&lt;span class="tag"&gt;title&lt;/span&gt;&gt;Demo&lt;/&lt;span class="tag"&gt;title&lt;/span&gt;&gt;
&lt;/&lt;span class="tag"&gt;head&lt;/span&gt;&gt;
&lt;&lt;span class="tag"&gt;body&lt;/span&gt;&gt;
   &lt;&lt;span class="tag"&gt;form&lt;/span&gt;&lt;span class="attr"&gt; id=&lt;/span&gt;&lt;span class="attrv"&gt;"form1"&lt;/span&gt;&lt;span class="attr"&gt; runat=&lt;/span&gt;&lt;span class="attrv"&gt;"server"&lt;/span&gt;&gt;
   &lt;&lt;span class="tag"&gt;div&lt;/span&gt;&gt;
       &lt;&lt;span class="tag"&gt;asp:Label&lt;/span&gt;&lt;span class="attr"&gt; ID=&lt;/span&gt;&lt;span class="attrv"&gt;"lblMsg"&lt;/span&gt;&lt;span class="attr"&gt; runat=&lt;/span&gt;&lt;span class="attrv"&gt;"server"&lt;/span&gt; Text=""&gt;&lt;/&lt;span class="tag"&gt;asp:Label&lt;/span&gt;&gt;
       &lt;&lt;span class="tag"&gt;asp:Button&lt;/span&gt;&lt;span class="attr"&gt; ID=&lt;/span&gt;&lt;span class="attrv"&gt;"btnForm"&lt;/span&gt;&lt;span class="attr"&gt; runat=&lt;/span&gt;&lt;span class="attrv"&gt;"server"&lt;/span&gt;&lt;span class="attr"&gt; Text=&lt;/span&gt;&lt;span class="attrv"&gt;"Form Way"&lt;/span&gt;&lt;span class="attr"&gt; OnClick=&lt;/span&gt;&lt;span class="attrv"&gt;"btnForm_Click"&lt;/span&gt; /&gt;
       &lt;&lt;span class="tag"&gt;asp:Button&lt;/span&gt;&lt;span class="attr"&gt; ID=&lt;/span&gt;&lt;span class="attrv"&gt;"btnFindControl"&lt;/span&gt;&lt;span class="attr"&gt; runat=&lt;/span&gt;&lt;span class="attrv"&gt;"server"&lt;/span&gt;&lt;span class="attr"&gt; Text=&lt;/span&gt;&lt;span class="attrv"&gt;"FindControl Way"&lt;/span&gt;&lt;span class="attr"&gt; OnClick=&lt;/span&gt;&lt;span class="attrv"&gt;"btnFindControl_Click"&lt;/span&gt; /&gt;
   &lt;/&lt;span class="tag"&gt;div&lt;/span&gt;&gt;
   &lt;/&lt;span class="tag"&gt;form&lt;/span&gt;&gt;
&lt;/&lt;span class="tag"&gt;body&lt;/span&gt;&gt;
&lt;/&lt;span class="tag"&gt;html&lt;/span&gt;&gt;
&lt;/pre&gt;&lt;/blockquote&gt;&lt;/span&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; color: black; font-family: Verdana;"&gt;&lt;/span&gt; &lt;/p&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; color: black; font-family: Verdana;"&gt;Related posts:&lt;/span&gt;&lt;/p&gt;&lt;span style="font-size: 10pt; color: black; font-family: Verdana;"&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;a href="http://forums.asp.net/p/1119972/1745762.aspx"&gt;&lt;span style=""&gt;http://forums.asp.net/p/1119972/1745762.aspx&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span class="MsoHyperlink"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; &lt;/span&gt;  &lt;p&gt; &lt;/p&gt; &lt;h3 style="margin: 10pt 0pt 0pt 28.35pt; text-indent: -28.35pt;"&gt;&lt;a class="" title="_How_to_access_3" name="_How_to_access_3"&gt;&lt;/a&gt;&lt;span&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;&lt;span style=""&gt;7.3&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;Dynamic controls accessed by JavaScript&lt;/span&gt;&lt;/h3&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; color: black; font-family: Verdana;"&gt;Reference the ClientID property (or UniqueID) of the control in the Javascript.&lt;/span&gt;&lt;/p&gt;&lt;span style="font-size: 10pt; color: black; font-family: Verdana;"&gt; &lt;blockquote&gt;&lt;pre class="coloredcode"&gt;&lt;span class="kwd"&gt;protected void&lt;/span&gt; Page_Load(&lt;span class="kwd"&gt;object&lt;/span&gt; sender, EventArgs e)
{
   Button btn= &lt;span class="kwd"&gt;new&lt;/span&gt; Button();
   btn.ID = &lt;span class="st"&gt;"btn5"&lt;/span&gt;;
   btn.Attributes.Add(&lt;span class="st"&gt;"runat"&lt;/span&gt;, &lt;span class="st"&gt;"server"&lt;/span&gt;);
   btn.Attributes.Add(&lt;span class="st"&gt;"onclick"&lt;/span&gt;, &lt;span class="st"&gt;"pop('"&lt;/span&gt; + btn.ClientID + &lt;span class="st"&gt;"')"&lt;/span&gt;);
   btn.Text = &lt;span class="st"&gt;"Test"&lt;/span&gt;;
   &lt;span class="kwd"&gt;this&lt;/span&gt;.form1.Controls.Add(btn);
}&lt;/pre&gt;&lt;/blockquote&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; color: black; font-family: Verdana;"&gt; &lt;blockquote&gt;&lt;pre class="coloredcode"&gt;function pop(InputBoxID)
{
  var InputControl = document.getElementById(InputBoxID);
  alert(InputControl.value);
}&lt;/pre&gt;&lt;/blockquote&gt;&lt;/span&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; color: black; font-family: Verdana;"&gt;Or,&lt;/span&gt;&lt;/p&gt;&lt;span style="font-size: 10pt; color: black; font-family: Verdana;"&gt;&lt;span style="font-size: 10pt; color: black; font-family: Verdana;"&gt;Use the following method.&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; color: black; font-family: Verdana;"&gt;  &lt;blockquote&gt;&lt;pre class="coloredcode"&gt;btn.Attributes.Add("onclick", "pop(this)");
function pop(InputBox)
{
  alert(InputBox.value);
}&lt;/pre&gt;&lt;/blockquote&gt;&lt;/span&gt; &lt;p&gt;&lt;span style="font-size: 10pt; color: black; font-family: Verdana;"&gt;&lt;/span&gt; &lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 10pt; color: black; font-family: Verdana;"&gt;Related posts:&lt;/span&gt; &lt;/p&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;a href="http://forums.asp.net/p/1239593/2260331.aspx#2260331"&gt;&lt;span style=""&gt;http://forums.asp.net/p/1239593/2260331.aspx#2260331&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;/span&gt; &lt;/p&gt; &lt;h3 style="margin: 10pt 0pt 0pt 28.35pt; text-indent: -28.35pt;"&gt;&lt;a class="" title="_How_to_retain" name="_How_to_retain"&gt;&lt;/a&gt;&lt;span&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;&lt;span style=""&gt;7.4&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;How to retain all added server controls dynamically after post back&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-weight: normal; font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;You should recreate these dynamic control at Page_load or Page_init() function everytime.&lt;/span&gt;&lt;/p&gt;&lt;span style="font-size: 10pt; color: black; font-family: Verdana;"&gt; &lt;blockquote&gt;&lt;pre class="coloredcode"&gt;&lt;span class="kwd"&gt;protected void&lt;/span&gt; Page_Load(&lt;span class="kwd"&gt;object&lt;/span&gt; sender, EventArgs e)
{
   &lt;span class="cmt"&gt;//recreate these dynamic control.&lt;/span&gt;
}
&lt;/pre&gt;&lt;/blockquote&gt;&lt;/span&gt;
&lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Related posts:&lt;/span&gt;&lt;/p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;a href="http://forums.asp.net/p/1242809/2280514.aspx"&gt;&lt;span style=""&gt;http://forums.asp.net/p/1242809/2280514.aspx&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span class="MsoHyperlink"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; &lt;/span&gt;  &lt;p&gt; &lt;/p&gt; &lt;h3 style="margin: 10pt 0pt 0pt 28.35pt; text-indent: -28.35pt;"&gt;&lt;a class="" title="_Why_dynamically_created" name="_Why_dynamically_created"&gt;&lt;/a&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;&lt;span style=""&gt;7.5&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;Why dynamically created controls disappear after a post back&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;&lt;/span&gt;&lt;/h3&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;The dynamic button must be re-created on each post back, so remove the if(!Page.IsPostBack). It's probably better if you create the controls at the Page_Init event.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Related posts:&lt;/span&gt; &lt;/p&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;a href="http://forums.asp.net/p/1080863/1598618.aspx"&gt;&lt;span style=""&gt;http://forums.asp.net/p/1080863/1598618.aspx&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;/span&gt; &lt;/p&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt; &lt;/p&gt; &lt;h3 style="margin: 10pt 0pt 0pt 21.25pt; text-indent: -21.25pt;"&gt;&lt;a class="" title="_Toc204572768" name="_Toc204572768"&gt;&lt;/a&gt;&lt;a class="" title="_Toc198977734" name="_Toc198977734"&gt;&lt;/a&gt;&lt;span&gt;&lt;span style="font-size: 12pt; color: windowtext; font-family: Verdana;"&gt;&lt;span style=""&gt;8.&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;      &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 12pt; color: windowtext; font-family: Verdana;"&gt;Style&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 12pt; color: windowtext; font-family: Verdana;"&gt;&lt;/span&gt;&lt;/h3&gt; &lt;h3 style="margin: 10pt 0pt 0pt 28.35pt; text-indent: -28.35pt;"&gt;&lt;a class="" title="_How_to_use_6" name="_How_to_use_6"&gt;&lt;/a&gt;&lt;span&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;&lt;span style=""&gt;8.1&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;How to use with Code-Behind&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt; &lt;blockquote&gt;&lt;pre class="coloredcode"&gt;Label1.Attributes.Add(&lt;span class="st"&gt;"style"&lt;/span&gt;, &lt;span class="st"&gt;"background-color:Red"&lt;/span&gt;);&lt;/pre&gt;&lt;/blockquote&gt;&lt;/span&gt;
&lt;h3 style="margin: 10pt 0pt 0pt 28.35pt; text-indent: -28.35pt;"&gt;&lt;a class="" title="_How_to_use_7" name="_How_to_use_7"&gt;&lt;/a&gt;&lt;span&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;&lt;span style=""&gt;8.2&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;How to use with JavaScript
&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt; &lt;blockquote&gt;&lt;pre class="coloredcode"&gt;document.getElementById(&lt;span class="st"&gt;"Label1"&lt;/span&gt;).style.backgroundColor = &lt;span class="st"&gt;"Red"&lt;/span&gt;;&lt;/pre&gt;&lt;/blockquote&gt;&lt;/span&gt;
&lt;h3 style="margin: 10pt 0pt 0pt 28.35pt; text-indent: -28.35pt;"&gt;&lt;a class="" title="_How_to_remove" name="_How_to_remove"&gt;&lt;/a&gt;&lt;span&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;&lt;span style=""&gt;8.3&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;How to remove a space
&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Add the following code inside of the “head” tag,&lt;/span&gt;&lt;/p&gt;&lt;span style="font-size: 9pt; font-family: Verdana;"&gt; &lt;blockquote&gt;&lt;pre class="coloredcode"&gt;&lt;&lt;span class="tag"&gt;style&lt;/span&gt;&lt;span class="attr"&gt; type=&lt;/span&gt;&lt;span class="attrv"&gt;"text/css"&lt;/span&gt;&gt;
body
{
   padding: 0px;
   margin: 0px;
}
&lt;/&lt;span class="tag"&gt;style&lt;/span&gt;&gt;
&lt;/pre&gt;&lt;/blockquote&gt;&lt;/span&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt; &lt;/p&gt; &lt;h3 style="margin: 10pt 0pt 0pt 28.35pt; text-indent: -28.35pt;"&gt;&lt;a class="" title="_How_to_use_8" name="_How_to_use_8"&gt;&lt;/a&gt;&lt;span&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;&lt;span style=""&gt;8.4&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;How to use with html
&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt; &lt;blockquote&gt;&lt;pre class="coloredcode"&gt;&lt;&lt;span class="tag"&gt;link&lt;/span&gt;&lt;span class="attr"&gt; href=&lt;/span&gt;&lt;span class="attrv"&gt;"&lt;span class="dir"&gt;&lt;%=&lt;/span&gt; CSS &lt;span class="dir"&gt;%&gt;&lt;/span&gt;"&lt;/span&gt;&lt;span class="attr"&gt; rel=&lt;/span&gt;&lt;span class="attrv"&gt;"stylesheet"&lt;/span&gt;&lt;span class="attr"&gt; type=&lt;/span&gt;&lt;span class="attrv"&gt;"text/css"&lt;/span&gt; /&gt;&lt;/pre&gt;&lt;/blockquote&gt;&lt;/span&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Note: CSS is valuable&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Linked style sheet usually lives in &lt;head&gt; tag, but there is no need to worry if it is put inside &lt;body&gt; tag.&lt;span style=""&gt;  &lt;/span&gt;As well, &lt;head&gt; tag must have a runat=”server” attribute. &lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; color: black; font-family: Verdana;"&gt;&lt;/span&gt; &lt;/p&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; color: black; font-family: Verdana;"&gt;Related posts:&lt;/span&gt;&lt;/p&gt;&lt;span style="font-size: 10pt; color: black; font-family: Verdana;"&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;a href="http://forums.asp.net/p/1197909/2076464.aspx"&gt;&lt;span style=""&gt;http://forums.asp.net/p/1197909/2076464.aspx&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span class="MsoHyperlink"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; &lt;/span&gt;  &lt;p&gt; &lt;/p&gt; &lt;h3 style="margin: 10pt 0pt 0pt 28.35pt; text-indent: -28.35pt;"&gt;&lt;a class="" title="_How_to_set_" name="_How_to_set_"&gt;&lt;/a&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;&lt;span style=""&gt;8.5&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;How to set an image as Button’s background&lt;/span&gt;&lt;/h3&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt; &lt;blockquote&gt;&lt;pre class="coloredcode"&gt;&lt;&lt;span class="tag"&gt;input&lt;/span&gt;&lt;span class="attr"&gt; name=&lt;/span&gt;&lt;span class="attrv"&gt;"Submit"&lt;/span&gt;&lt;span class="attr"&gt; type=&lt;/span&gt;&lt;span class="attrv"&gt;"button"&lt;/span&gt;&lt;span class="attr"&gt; value="" style=&lt;/span&gt;&lt;span class="attrv"&gt;"border-style: none; background-color: Transparent; background-image: url('bg.png'); width: 68px; height: 20px; vertical-align: middle;"&lt;/span&gt; /&gt; &lt;/pre&gt;&lt;/blockquote&gt;&lt;/span&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt; &lt;/p&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; color: black; font-family: Verdana;"&gt;Related posts:&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;a href="http://forums.asp.net/t/299555.aspx"&gt;&lt;span style=""&gt;http://forums.asp.net/t/299555.aspx&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt; &lt;/p&gt; &lt;h3 style="margin: 10pt 0pt 0pt 28.35pt; text-indent: -28.35pt;"&gt;&lt;a class="" title="_How_to_color" name="_How_to_color"&gt;&lt;/a&gt;&lt;span&gt;&lt;span&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;&lt;span style=""&gt;8.6&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;How to color items in ListBox
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; color: black; font-family: Verdana;"&gt;Demo code:&lt;/span&gt;&lt;/p&gt;&lt;span style="font-size: 10pt; color: black; font-family: Verdana;"&gt; &lt;blockquote&gt;&lt;pre class="coloredcode"&gt;&lt;&lt;span class="tag"&gt;style&lt;/span&gt;&lt;span class="attr"&gt; type=&lt;/span&gt;&lt;span class="attrv"&gt;"text/css"&lt;/span&gt;&gt;
.optred{background-color:red;}
.optblue{background-color:blue;}
&lt;/&lt;span class="tag"&gt;style&lt;/span&gt;&gt;
&lt;/pre&gt;&lt;/blockquote&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; color: black; font-family: Verdana;"&gt; &lt;blockquote&gt;&lt;pre class="coloredcode"&gt;&lt;span class="kwd"&gt;protected void&lt;/span&gt; Page_PreRender(&lt;span class="kwd"&gt;object&lt;/span&gt; sender, EventArgs e)
{
   &lt;span class="kwd"&gt;bool&lt;/span&gt; flag=&lt;span class="kwd"&gt;false&lt;/span&gt;;
   &lt;span class="kwd"&gt;foreach&lt;/span&gt; (ListItem li &lt;span class="kwd"&gt;in&lt;/span&gt; ListBox1.Items)
   {
       &lt;span class="kwd"&gt;if&lt;/span&gt; (flag)
       {
           li.Attributes.Add(&lt;span class="st"&gt;"class"&lt;/span&gt;, &lt;span class="st"&gt;"optred"&lt;/span&gt;);
           flag = &lt;span class="kwd"&gt;false&lt;/span&gt;;
       }
       &lt;span class="kwd"&gt;else&lt;/span&gt;
       {
           li.Attributes.Add(&lt;span class="st"&gt;"class"&lt;/span&gt;, &lt;span class="st"&gt;"optblue"&lt;/span&gt;);
           flag = &lt;span class="kwd"&gt;true&lt;/span&gt;;
       }
   }
}
&lt;/pre&gt;&lt;/blockquote&gt;&lt;/span&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; color: black; font-family: Verdana;"&gt;&lt;/span&gt; &lt;/p&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; color: black; font-family: Verdana;"&gt;Please refer to:&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;a href="http://www.codeproject.com/KB/webforms/ColorListBox.aspx"&gt;&lt;span style=""&gt;http://www.codeproject.com/KB/webforms/ColorListBox.aspx&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;/span&gt;&lt;span class="MsoHyperlink"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt; &lt;/p&gt; &lt;h3 style="margin: 10pt 0pt 0pt 21.25pt; text-indent: -21.25pt;"&gt;&lt;a class="" title="_Toc198977737" name="_Toc198977737"&gt;&lt;/a&gt;&lt;a class="" title="_Toc198097534" name="_Toc198097534"&gt;&lt;/a&gt;&lt;a class="" title="_Toc204572775" name="_Toc204572775"&gt;&lt;/a&gt;&lt;span&gt;&lt;span&gt;&lt;span style="font-size: 12pt; color: windowtext; font-family: Verdana;"&gt;&lt;span style=""&gt;9.&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;      &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 12pt; color: windowtext; font-family: Verdana;"&gt;Print&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt; &lt;h3 style="margin: 10pt 0pt 0pt 28.35pt; text-indent: -28.35pt;"&gt;&lt;a class="" title="_How_to_print" name="_How_to_print"&gt;&lt;/a&gt;&lt;span&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;&lt;span style=""&gt;9.1&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;How to print a part of a web page with CSS&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; color: black; font-family: Verdana;"&gt;CSS CODE:&lt;/span&gt;&lt;/p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; &lt;blockquote&gt;&lt;pre class="coloredcode"&gt;&lt;&lt;span class="tag"&gt;style&lt;/span&gt;&lt;span class="attr"&gt; media=&lt;/span&gt;&lt;span class="attrv"&gt;"print"&lt;/span&gt;&gt;
       .Noprint
       {
           display: none;
       }
       .Print
       {
           page-break-after: always;
       }
&lt;/&lt;span class="tag"&gt;style&lt;/span&gt;&gt;&lt;/pre&gt;&lt;/blockquote&gt;&lt;/span&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; color: black; font-family: Verdana;"&gt;HTML CODE:&lt;/span&gt;&lt;/p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; &lt;blockquote&gt;&lt;pre class="coloredcode"&gt;&lt;&lt;span class="tag"&gt;div&lt;/span&gt;&lt;span class="attr"&gt; class=&lt;/span&gt;&lt;span class="attrv"&gt;"Noprint"&lt;/span&gt;&gt;
    I am not print;
&lt;/&lt;span class="tag"&gt;div&lt;/span&gt;&gt;
&lt;&lt;span class="tag"&gt;div&lt;/span&gt;&lt;span class="attr"&gt; class=&lt;/span&gt;&lt;span class="attrv"&gt;"Print"&lt;/span&gt;&gt;
    I will print;
&lt;/&lt;span class="tag"&gt;div&lt;/span&gt;&gt;
&lt;/pre&gt;&lt;/blockquote&gt;&lt;/span&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; color: black; font-family: Verdana;"&gt;Related posts:&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;a href="http://forums.asp.net/t/981539.aspx"&gt;&lt;span style=""&gt;http://forums.asp.net/t/981539.aspx&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;/span&gt; &lt;/p&gt; &lt;h3 style="margin: 10pt 0pt 0pt 28.35pt; text-indent: -28.35pt;"&gt;&lt;a class="" title="_How_to_print_" name="_How_to_print_"&gt;&lt;/a&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;&lt;span style=""&gt;9.2&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;How to print a part of a web page with JavaScript (1)&lt;/span&gt;&lt;/h3&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;JavaScript CODE:&lt;/span&gt;&lt;/p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; &lt;blockquote&gt;&lt;pre class="coloredcode"&gt;&lt;&lt;span class="tag"&gt;script&lt;/span&gt;&lt;span class="attr"&gt; language=&lt;/span&gt;&lt;span class="attrv"&gt;"JavaScript"&lt;/span&gt;&lt;span class="attr"&gt; type=&lt;/span&gt;&lt;span class="attrv"&gt;"text/JavaScript"&lt;/span&gt;&gt;
       function doPrint() {
       bdhtml=window.document.body.innerHTML;
       sprnstr="&lt;span class="cmt"&gt;&lt;!--startprint--&gt;&lt;/span&gt;";
       eprnstr="&lt;span class="cmt"&gt;&lt;!--endprint--&gt;&lt;/span&gt;";
       prnhtml=bdhtml.substr(bdhtml.indexOf(sprnstr)+17);
       prnhtml=prnhtml.substring(0,prnhtml.indexOf(eprnstr));
       window.document.body.innerHTML=prnhtml;
       window.print();
       }
&lt;/&lt;span class="tag"&gt;script&lt;/span&gt;&gt;&lt;/pre&gt;&lt;/blockquote&gt;&lt;/span&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; color: black; font-family: Verdana;"&gt;HTML CODE:&lt;/span&gt;&lt;/p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; &lt;blockquote&gt;&lt;pre class="coloredcode"&gt;&lt;span class="cmt"&gt;&lt;!--startprint--&gt;&lt;/span&gt;
This area will print!
&lt;span class="cmt"&gt;&lt;!--endprint--&gt;&lt;/span&gt;
&lt;&lt;span class="tag"&gt;br&lt;/span&gt; /&gt;
I will not print?
&lt;&lt;span class="tag"&gt;input&lt;/span&gt;&lt;span class="attr"&gt; id=&lt;/span&gt;&lt;span class="attrv"&gt;"btnPrint"&lt;/span&gt;&lt;span class="attr"&gt; type=&lt;/span&gt;&lt;span class="attrv"&gt;"button"&lt;/span&gt;&lt;span class="attr"&gt; value=&lt;/span&gt;&lt;span class="attrv"&gt;"Print"&lt;/span&gt;&lt;span class="attr"&gt; onclick=&lt;/span&gt;&lt;span class="attrv"&gt;"doPrint()"&lt;/span&gt; /&gt;
&lt;/pre&gt;&lt;/blockquote&gt;&lt;/span&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; color: black; font-family: Verdana;"&gt;&lt;/span&gt; &lt;/p&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; color: black; font-family: Verdana;"&gt;Related posts:&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 10pt; color: black; font-family: Verdana;"&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;a href="http://forums.asp.net/p/1234564/2256428.aspx"&gt;&lt;span style=""&gt;http://forums.asp.net/p/1234564/2256428.aspx&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span class="MsoHyperlink"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;/span&gt; &lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;h3 style="margin: 10pt 0pt 0pt 28.35pt; text-indent: -28.35pt;"&gt;&lt;a class="" title="_How_to_print_1" name="_How_to_print_1"&gt;&lt;/a&gt;&lt;span&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;&lt;span style=""&gt;9.3&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;How to print a part of a web page with JavaScript (2)&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;JavaScript CODE:&lt;/span&gt;&lt;/p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; &lt;blockquote&gt;&lt;pre class="coloredcode"&gt;&lt;&lt;span class="tag"&gt;script&lt;/span&gt;&lt;span class="attr"&gt; language=&lt;/span&gt;&lt;span class="attrv"&gt;"javascript"&lt;/span&gt;&lt;span class="attr"&gt; type=&lt;/span&gt;&lt;span class="attrv"&gt;"text/javascript"&lt;/span&gt;&gt;
   function printdiv(divID)
   {
     var headstr = "&lt;&lt;span class="tag"&gt;html&lt;/span&gt;&gt;&lt;&lt;span class="tag"&gt;head&lt;/span&gt;&gt;&lt;&lt;span class="tag"&gt;title&lt;/span&gt;&gt;&lt;/&lt;span class="tag"&gt;title&lt;/span&gt;&gt;&lt;/&lt;span class="tag"&gt;head&lt;/span&gt;&gt;&lt;&lt;span class="tag"&gt;body&lt;/span&gt;&gt;";
     var footstr = "&lt;/&lt;span class="tag"&gt;body&lt;/span&gt;&gt;";
     var newstr = document.all.item(divID).innerHTML;
     var oldstr = document.body.innerHTML;
     document.body.innerHTML = headstr+newstr+footstr;
     window.print();
     document.body.innerHTML = oldstr;
     return false;
   }
&lt;/&lt;span class="tag"&gt;script&lt;/span&gt;&gt;&lt;/pre&gt;&lt;/blockquote&gt;&lt;/span&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;HTML CODE:&lt;/span&gt;&lt;/p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; &lt;blockquote&gt;&lt;pre class="coloredcode"&gt;&lt;&lt;span class="tag"&gt;input&lt;/span&gt;&lt;span class="attr"&gt; name=&lt;/span&gt;&lt;span class="attrv"&gt;"b_print"&lt;/span&gt;&lt;span class="attr"&gt; type=&lt;/span&gt;&lt;span class="attrv"&gt;"button"&lt;/span&gt;&lt;span class="attr"&gt; onclick=&lt;/span&gt;&lt;span class="attrv"&gt;"printdiv('divID');"&lt;/span&gt;&lt;span class="attr"&gt; value=&lt;/span&gt;&lt;span class="attrv"&gt;" Print "&lt;/span&gt; /&gt;
&lt;&lt;span class="tag"&gt;div&lt;/span&gt;&lt;span class="attr"&gt; id=&lt;/span&gt;&lt;span class="attrv"&gt;"divID"&lt;/span&gt;&gt;
&lt;&lt;span class="tag"&gt;h1&lt;/span&gt;&lt;span class="attr"&gt; style=&lt;/span&gt;&lt;span class="attrv"&gt;"color:green"&lt;/span&gt;&gt;
The Div content which you want to print&lt;/&lt;span class="tag"&gt;h1&lt;/span&gt;&gt;
&lt;/&lt;span class="tag"&gt;div&lt;/span&gt;&gt;&lt;/pre&gt;&lt;/blockquote&gt;&lt;/span&gt; &lt;p&gt;&lt;span style="font-size: 10pt; color: black; font-family: Verdana;"&gt;Related posts:&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 10pt; color: black; font-family: Verdana;"&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;a href="http://forums.asp.net/t/1263912.aspx"&gt;&lt;span style=""&gt;http://forums.asp.net/t/1263912.aspx&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;/span&gt; &lt;/p&gt; &lt;h3 style="margin: 10pt 0pt 0pt 21.25pt; text-indent: -21.25pt;"&gt;&lt;span&gt;&lt;strong&gt;&lt;span style="font-size: 12pt; color: windowtext; font-family: Verdana;"&gt;&lt;span style=""&gt;10.&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;      &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-size: 12pt; color: windowtext; font-family: Verdana;"&gt;Mail&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt; &lt;h3 style="margin: 10pt 0pt 0pt 28.35pt; text-indent: -28.35pt;"&gt;&lt;a class="" title="_What_classes_are" name="_What_classes_are"&gt;&lt;/a&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;&lt;span style=""&gt;10.1&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;What classes are needed to send e-mails in ASP.NET&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Class MailMessage and SmtpMail are used to send emails from an ASP.NET application. MailMessage and SmtpMail are from System.Web.Mail namespace of .NET Framework 1.1 Class Library. Also, you can use System.Net.Mail instead of System.Web.Mail if you have .NET Framework version 2.0 installed.&lt;/span&gt; &lt;/p&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt; &lt;/p&gt; &lt;h3 style="margin: 10pt 0pt 0pt 28.35pt; text-indent: -28.35pt;"&gt;&lt;a class="" title="_How_to_send" name="_How_to_send"&gt;&lt;/a&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;&lt;span style=""&gt;10.2&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;How to send emails by using System.Net.Mail [&lt;a href="http://forums.asp.net/t/1360420.aspx#_top"&gt;top&lt;/a&gt;]&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;CODE-BEHIND:&lt;/span&gt;&lt;/p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; &lt;blockquote&gt;&lt;pre class="coloredcode"&gt;MailMessage message = &lt;span class="kwd"&gt;new&lt;/span&gt; MailMessage();
message.From = &lt;span class="kwd"&gt;new&lt;/span&gt; MailAddress(&lt;span class="st"&gt;"fromusername@DomainName"&lt;/span&gt;);
message.To.Add(&lt;span class="kwd"&gt;new&lt;/span&gt; MailAddress(&lt;span class="st"&gt;"tousername@DomainName"&lt;/span&gt;));
message.CC.Add(&lt;span class="kwd"&gt;new&lt;/span&gt; MailAddress(&lt;span class="st"&gt;"ccusername@DomainName"&lt;/span&gt;));
message.Subject = &lt;span class="st"&gt;"Subject"&lt;/span&gt;;
message.Body = &lt;span class="st"&gt;"Content"&lt;/span&gt;;
SmtpClient client = &lt;span class="kwd"&gt;new&lt;/span&gt; SmtpClient();
client.Send(message);
&lt;/pre&gt;&lt;/blockquote&gt;&lt;/span&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; color: black; font-family: Verdana;"&gt;web.config:&lt;/span&gt;&lt;/p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; &lt;blockquote&gt;&lt;pre class="coloredcode"&gt;&lt;&lt;span class="tag"&gt;system.net&lt;/span&gt;&gt;
   &lt;&lt;span class="tag"&gt;mailSettings&lt;/span&gt;&gt;
       &lt;&lt;span class="tag"&gt;smtp&lt;/span&gt;&lt;span class="attr"&gt; from=&lt;/span&gt;&lt;span class="attrv"&gt;"username@DomainName"&lt;/span&gt;&gt;
           &lt;&lt;span class="tag"&gt;network&lt;/span&gt;&lt;span class="attr"&gt; host=&lt;/span&gt;&lt;span class="attrv"&gt;"SMTPServerName"&lt;/span&gt;&lt;span class="attr"&gt; port=&lt;/span&gt;&lt;span class="attrv"&gt;"25"&lt;/span&gt;&lt;span class="attr"&gt; userName=&lt;/span&gt;&lt;span class="attrv"&gt;"username"&lt;/span&gt;&lt;span class="attr"&gt; password=&lt;/span&gt;&lt;span class="attrv"&gt;"secret"&lt;/span&gt;&lt;span class="attr"&gt; defaultCredentials=&lt;/span&gt;&lt;span class="attrv"&gt;"true"&lt;/span&gt; /&gt;
       &lt;/&lt;span class="tag"&gt;smtp&lt;/span&gt;&gt;
   &lt;/&lt;span class="tag"&gt;mailSettings&lt;/span&gt;&gt;
&lt;/&lt;span class="tag"&gt;system.net&lt;/span&gt;&gt;&lt;/pre&gt;&lt;/blockquote&gt;&lt;/span&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Related posts:&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;a href="http://forums.asp.net/t/971802.aspx"&gt;&lt;span style=""&gt;http://forums.asp.net/t/971802.aspx&lt;/span&gt;&lt;/a&gt;&lt;/span&gt; &lt;/p&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt; &lt;/p&gt; &lt;h3 style="margin: 10pt 0pt 0pt 28.35pt; text-indent: -28.35pt;"&gt;&lt;a class="" title="_How_to_configure" name="_How_to_configure"&gt;&lt;/a&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;&lt;span style=""&gt;10.3&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;How to configure a SMTP Server&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Taking the IIS as an example, please review the following links: &lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;a href="http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/56c94d38-b10f-4a1b-a1cd-3714387a042a.mspx?mfr=true"&gt;http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/56c94d38-b10f-4a1b-a1cd-3714387a042a.mspx?mfr=true&lt;/a&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;a href="http://www.codeproject.com/KB/winsdk/ConfigServerSmtp.aspx"&gt;http://www.codeproject.com/KB/winsdk/ConfigServerSmtp.aspx&lt;/a&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt; &lt;/p&gt; &lt;h3 style="margin: 10pt 0pt 0pt 28.35pt; text-indent: -28.35pt;"&gt;&lt;span&gt;&lt;a class="" title="_How_to_send_" name="_How_to_send_"&gt;&lt;/a&gt;&lt;span&gt;&lt;span&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;&lt;span style=""&gt;10.4&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; color: windowtext; font-family: Verdana;"&gt;How to send an email with Gmail server
&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Please read FAQ “How to send email by using System.Net.Mail?” first. Please note that you need to be aware of the following points while configuring the following settings:&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0pt 0pt 0pt 36pt;"&gt;&lt;span style="font-size: 10pt; line-height: 115%; font-family: Symbol;"&gt;&lt;span style=""&gt;·&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; line-height: 115%; font-family: Verdana;"&gt;SMTP server name&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0pt 0pt 0pt 36pt;"&gt;&lt;span style="font-size: 10pt; line-height: 115%; font-family: Symbol;"&gt;&lt;span style=""&gt;·&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; line-height: 115%; font-family: Verdana;"&gt;Port number&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0pt 0pt 0pt 36pt;"&gt;&lt;span style="font-size: 10pt; line-height: 115%; font-family: Symbol;"&gt;&lt;span style=""&gt;·&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; line-height: 115%; font-family: Verdana;"&gt;SSL authentication&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Gmail SMTP server name is “smpt.gmail.com”;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Gmail port is 465, not the default port 25;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;The SSL authentication should be set to true;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;So the secret of sending mails successfully with Gmail is: port 465, server name “smtp.gmail.com” and SSL = true. &lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Related posts:&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;a href="http://forums.asp.net/p/1167140/1944223.aspx"&gt;http://forums.asp.net/p/1167140/1944223.aspx&lt;/a&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;a href="http://forums.asp.net/p/1234241/2235990.aspx"&gt;http://forums.asp.net/p/1234241/2235990.aspx&lt;/a&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;/span&gt; &lt;/p&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;/span&gt; &lt;/p&gt; &lt;p class="MsoNormal" style="margin: 10pt 0pt 0pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;/span&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2918706867610266523-5656509276511320279?l=bennyindia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bennyindia.blogspot.com/feeds/5656509276511320279/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2918706867610266523&amp;postID=5656509276511320279' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2918706867610266523/posts/default/5656509276511320279'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2918706867610266523/posts/default/5656509276511320279'/><link rel='alternate' type='text/html' href='http://bennyindia.blogspot.com/2009/05/aspnet-webforms-faq.html' title='ASP.NET WebForms FAQ'/><author><name>Benedict Alphonse</name><uri>http://www.blogger.com/profile/06273740826562598488</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_47TBi7XxXXY/Sg2nBmAKJKI/AAAAAAAABbw/a6YHZHKfCBE/S220/IMG_0125_Edited11.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2918706867610266523.post-8920294758100463827</id><published>2009-05-26T00:38:00.001+05:30</published><updated>2009-05-26T00:40:09.228+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><title type='text'>How to set browser specific properties in the code-behind - ASP.NET</title><content type='html'>&lt;pre&gt;switch (Request.Browser.Browser.ToLower())
{
   case "ie":
 if (Request.Browser.MajorVersion == 7)
     labelText.Text = "Hello IE7!";
 else
     labelText.Text = "Hello IE (time to upgrade!)";
 break;
   case "firefox":
 labelText.Text = "Hello Firefox";
 break;
   default:
 labelText.Text = "Hello other browser";
 break;
}&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2918706867610266523-8920294758100463827?l=bennyindia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bennyindia.blogspot.com/feeds/8920294758100463827/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2918706867610266523&amp;postID=8920294758100463827' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2918706867610266523/posts/default/8920294758100463827'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2918706867610266523/posts/default/8920294758100463827'/><link rel='alternate' type='text/html' href='http://bennyindia.blogspot.com/2009/05/how-to-set-browser-specific-properties.html' title='How to set browser specific properties in the code-behind - ASP.NET'/><author><name>Benedict Alphonse</name><uri>http://www.blogger.com/profile/06273740826562598488</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_47TBi7XxXXY/Sg2nBmAKJKI/AAAAAAAABbw/a6YHZHKfCBE/S220/IMG_0125_Edited11.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2918706867610266523.post-8455440187631287953</id><published>2009-05-25T23:36:00.003+05:30</published><updated>2009-05-26T00:37:16.638+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><title type='text'>Finding the Control that Caused a PostBack in ASP.NET</title><content type='html'>Many times you might need to perform some action on an ASP.NET postback based on the control that caused the postback to occur. Some scenarios for this might include a form with many regions, each having it's own CustomValidator and the ability to perform a postback when a button for the section is clicked. Another scenario might be to set focus back to the control that caused the postback.

There are two parts to the process of determining which control caused the postback. First, you access the __EVENTTARGET element of the form. If you've ever looked a the anatomy of an ASP.NET page (and if you haven't why are you reading this?), you'll notice that a hidden input tag is added to the form named __EVENTTARGET. This hidden input is set to the name of the control that was clicked in the __doPostBack JavaScript function and then the form is submitted. Looking at how the server controls are rendered as HTML tags you can see that the __doPostBack function is called by the controls to cause a postback, passing the name of the control to the function. You can access this hidden input from your code-behind as it is submitted with the form and can be found in the Params or Form collections. This the first part to getting the control that caused a postback. Once you have the name you can get a reference to the control via FindControl and use it as needed.


&lt;span style="font-weight: bold;"&gt;string ctrlname = page.Request.Params.Get("__EVENTTARGET");
if (ctrlname != null &amp;amp;&amp;amp; ctrlname != string.Empty)
{
   return this.Page.FindControl(ctrlname);
}&lt;/span&gt;
This will work, but you'll soon find that something is missing. Although this will work for CheckBoxes, DropDownLists, LinkButtons, etc, this does not work for Button controls. This is where the second part comes in. But why is it that this doesn't work for Buttons? If you again take a look at how the server controls render as HTML, you'll see that the buttons do not call the __doPostBack Javascript function so the __EVENTTARGET is never set. Instead, the Buttons render as simple input type=“submit” tags. All the button does is cause the form to submit. That's it. However, you can still get to it, just in a different way. Since the button (or input) is what causes the form to submit, it is added to the items in the Form collection, along with all the other values from the submitted form. It is important to note, that other input type=“submit” tags on the form are not added to the Form collection unless it was the one that caused the form to submit. If you were to look in the Form collection for anything that is a button then that will be what caused the postback (assuming that it was a button that caused the page to submit). If you first check the __EVENTTARGET, then if that is blank look for a button in the Form collection then you will find what caused the postback. The complete code follows:


&lt;span style="font-weight: bold;"&gt;public static Control GetPostBackControl(Page page)
{
   Control control = null;

   string ctrlname = page.Request.Params.Get("__EVENTTARGET");
   if (ctrlname != null &amp;amp;&amp;amp; ctrlname != string.Empty)
   {
       control = page.FindControl(ctrlname);
   }
   else
   {
       foreach (string ctl in page.Request.Form)
       {
           Control c = page.FindControl(ctl);
           if (c is System.Web.UI.WebControls.Button)
           {
               control = c;
               break;
           }
       }
   }
   return control;
}&lt;/span&gt;
This method takes a parameter which is a reference to the Page, it then uses that to look for the control that caused the postback. You can easily use this as follows:


&lt;span style="font-weight: bold;"&gt;Control c = PageUtility.GetPostBackControl(this.Page);
if (c != null)
{
   //...
}

&lt;/span&gt;&lt;span&gt;Credit goes to original author : &lt;a href="http://ryanfarley.com/"&gt;http://ryanfarley.com/ &lt;/a&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;


&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2918706867610266523-8455440187631287953?l=bennyindia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bennyindia.blogspot.com/feeds/8455440187631287953/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2918706867610266523&amp;postID=8455440187631287953' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2918706867610266523/posts/default/8455440187631287953'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2918706867610266523/posts/default/8455440187631287953'/><link rel='alternate' type='text/html' href='http://bennyindia.blogspot.com/2009/05/finding-control-that-caused-postback-in.html' title='Finding the Control that Caused a PostBack in ASP.NET'/><author><name>Benedict Alphonse</name><uri>http://www.blogger.com/profile/06273740826562598488</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_47TBi7XxXXY/Sg2nBmAKJKI/AAAAAAAABbw/a6YHZHKfCBE/S220/IMG_0125_Edited11.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2918706867610266523.post-6332348465382336578</id><published>2009-05-20T16:10:00.004+05:30</published><updated>2009-12-07T16:53:09.636+05:30</updated><title type='text'>Custom Javascript function - getElementsByAttribute</title><content type='html'>&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;getElementsByAttribute&lt;/span&gt;
&lt;pre class="brush:js"&gt;
document.getElementsByAttribute=function(attrN,attrV,multi){
    attrV=attrV.replace(/\|/g,'\\|').replace(/\[/g,'\\[').replace(/\(/g,'\\(').replace(/\+/g,'\\+').replace(/\./g,'\\.').replace(/\*/g,'\\*').replace(/\?/g,'\\?').replace(/\//g,'\\/');
    var
        multi=typeof multi!='undefined'?
            multi:
            false,
        cIterate=document.getElementsByTagName('*'),
        aResponse=[],
        attr,
        re=new RegExp(multi?'\\b'+attrV+'\\b':'^'+attrV+'$'),
        i=0,
        elm;
    while((elm=cIterate.item(i++))){
        attr=elm.getAttributeNode(attrN);
        if(attr &amp;amp;&amp;amp;
            attr.specified &amp;amp;&amp;amp;
            re.test(attr.value)
        )
            aResponse.push(elm);
    }
    return aResponse;
}
&lt;/pre&gt;
&lt;br&gt;
&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;Usage&lt;/span&gt;
&lt;br&gt;
Syntax to consume this function :
&lt;br&gt;
&lt;pre class="brush:js"&gt;
document.getElementsByAttribute([string attributeName],[string attributeValue],[boolean isCommaHyphenOrSpaceSeparatedList:false])
&lt;/pre&gt;
&lt;br&gt;
Example :
&lt;br&gt;
&lt;pre class="brush:js"&gt;
document.getElementsByAttribute("type", "button", false);
&lt;/pre&gt;
&lt;br&gt;
Where &lt;br&gt;
1. "type" is attributename  of any element.&lt;br&gt;
2. "button" is value of attribute&lt;br&gt;
3. "false" is whether - isCommaHyphenOrSpaceSeparatedList or not.&lt;br&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2918706867610266523-6332348465382336578?l=bennyindia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bennyindia.blogspot.com/feeds/6332348465382336578/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2918706867610266523&amp;postID=6332348465382336578' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2918706867610266523/posts/default/6332348465382336578'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2918706867610266523/posts/default/6332348465382336578'/><link rel='alternate' type='text/html' href='http://bennyindia.blogspot.com/2009/05/custom-javascript-function.html' title='Custom Javascript function - getElementsByAttribute'/><author><name>Benedict Alphonse</name><uri>http://www.blogger.com/profile/06273740826562598488</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_47TBi7XxXXY/Sg2nBmAKJKI/AAAAAAAABbw/a6YHZHKfCBE/S220/IMG_0125_Edited11.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2918706867610266523.post-5334763794745504412</id><published>2009-05-19T23:59:00.003+05:30</published><updated>2009-05-20T00:04:04.689+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>How to Check if URL is in live by C#</title><content type='html'>Web-based applications involve pages connected by links. Therefore, verifying the authenticity of links becomes a crucial factor. For example, one situation may involve verifyng a link before storing it into a database. Pass to the function a url as a string and it will return true (the link works) or false (the link did not work).

&lt;blockquote&gt;public bool checkUrlLink(string url)
{
  HttpWebRequest request = HttpWebRequest)WebRequest.Create(url);
  request.Proxy = null;
  try
  {
     HttpWebResponse response = (HttpWebResponse)request.GetResponse();
     return true;
  }
  catch
  {
     return false;
  }
}
&lt;/blockquote&gt;
This code snippet uses HttpWebRequest and HttpWebResponse functions. Therefore, the snippet above requires System.Net namespace.

Also note that this code snippet will also check wheather a url is properly formatted. If the format is not correct, it will return false (simply because the url did not receive a response).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2918706867610266523-5334763794745504412?l=bennyindia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bennyindia.blogspot.com/feeds/5334763794745504412/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2918706867610266523&amp;postID=5334763794745504412' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2918706867610266523/posts/default/5334763794745504412'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2918706867610266523/posts/default/5334763794745504412'/><link rel='alternate' type='text/html' href='http://bennyindia.blogspot.com/2009/05/how-to-check-if-url-is-in-live-by-c.html' title='How to Check if URL is in live by C#'/><author><name>Benedict Alphonse</name><uri>http://www.blogger.com/profile/06273740826562598488</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_47TBi7XxXXY/Sg2nBmAKJKI/AAAAAAAABbw/a6YHZHKfCBE/S220/IMG_0125_Edited11.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2918706867610266523.post-115343970332974536</id><published>2009-05-19T23:47:00.000+05:30</published><updated>2009-05-19T23:48:43.713+05:30</updated><title type='text'>Privacy Policy</title><content type='html'>&lt;b&gt;Privacy Policy for http://bennyindia.blogspot.com/&lt;/b&gt;

If you require any more information or have any questions about our privacy policy, please feel free to contact us by email at benedict_kmu@yahoo.co.in.

At http://bennyindia.blogspot.com/, the privacy of our visitors is of extreme importance to us. This privacy policy document outlines the types of personal information is received and collected by http://bennyindia.blogspot.com/ and how it is used.

&lt;b&gt;Log Files&lt;/b&gt;
Like many other Web sites, http://bennyindia.blogspot.com/ makes use of log files. The information inside the log files includes internet protocol ( IP ) addresses, type of browser, Internet Service Provider ( ISP ), date/time stamp, referring/exit pages, and number of clicks to analyze trends, administer the site, track user’s movement around the site, and gather demographic information. IP addresses, and other such information are not linked to any information that is personally identifiable.

&lt;b&gt;Cookies and Web Beacons&lt;/b&gt;
http://bennyindia.blogspot.com/ does use cookies to store information about visitors preferences, record user-specific information on which pages the user access or visit, customize Web page content based on visitors browser type or other information that the visitor sends via their browser.

 &lt;b&gt;DoubleClick DART Cookie&lt;/b&gt;
.:: Google, as a third party vendor, uses cookies to serve ads on http://bennyindia.blogspot.com/.
.:: Google's use of the DART cookie enables it to serve ads to users based on their visit to http://bennyindia.blogspot.com/ and other sites on the Internet.
.:: Users may opt out of the use of the DART cookie by visiting the Google ad and content network privacy policy at the following URL - http://www.google.com/privacy_ads.html

 Some of our advertising partners may use cookies and web beacons on our site. Our advertising partners include ....
Google Adsense
        

These third-party ad servers or ad networks use technology to the advertisements and links that appear on http://bennyindia.blogspot.com/ send directly to your browsers. They automatically receive your IP address when this occurs. Other technologies ( such as cookies, JavaScript, or Web Beacons ) may also be used by the third-party ad networks to measure the effectiveness of their advertisements and / or to personalize the advertising content that you see.

http://bennyindia.blogspot.com/ has no access to or control over these cookies that are used by third-party advertisers. 

You should consult the respective privacy policies of these third-party ad servers for more detailed information on their practices as well as for instructions about how to opt-out of certain practices. http://bennyindia.blogspot.com/'s privacy policy does not apply to, and we cannot control the activities of, such other advertisers or web sites.

If you wish to disable cookies, you may do so through your individual browser options. More detailed information about cookie management with specific web browsers can be found at the browsers' respective websites.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2918706867610266523-115343970332974536?l=bennyindia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bennyindia.blogspot.com/feeds/115343970332974536/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2918706867610266523&amp;postID=115343970332974536' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2918706867610266523/posts/default/115343970332974536'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2918706867610266523/posts/default/115343970332974536'/><link rel='alternate' type='text/html' href='http://bennyindia.blogspot.com/2009/05/privacy-policy.html' title='Privacy Policy'/><author><name>Benedict Alphonse</name><uri>http://www.blogger.com/profile/06273740826562598488</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_47TBi7XxXXY/Sg2nBmAKJKI/AAAAAAAABbw/a6YHZHKfCBE/S220/IMG_0125_Edited11.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2918706867610266523.post-6968708917437433868</id><published>2009-05-19T17:59:00.007+05:30</published><updated>2009-05-19T19:54:20.226+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Javascript'/><title type='text'>JavaScript Custom functions - All developers Needed-</title><content type='html'>&lt;h3&gt;&lt;span style="font-weight: normal;font-size:78%;" &gt;Orginal source :&lt;a href="http://www.dustindiaz.com/"&gt; &lt;/a&gt;&lt;a href="http://www.dustindiaz.com/"&gt;http://www.dustindiaz.com/&lt;/a&gt;&lt;/span&gt;
&lt;/h3&gt;&lt;h3&gt;10) addEvent()&lt;/h3&gt;&lt;p&gt;Surely a staple to event attachment! Regardless to what version you use written by whatever developer, it does what it says it does. And of course as you might of known, I’ve put together quite a handy version myself recently of &lt;a href="http://www.dustindiaz.com/rock-solid-addevent/" title="My own version of addEvent with the aid of others"&gt;addEvent()&lt;/a&gt; with some help from the contest winner and Mark Wubben along with a few minor syntax adjustments. But just to be fair to &lt;a href="http://www.scottandrew.com/weblog" title="Hey, I wanna be in a band!"&gt;Scott Andrew&lt;/a&gt;, here is the original that started it all.&lt;/p&gt;&lt;h3 class="code"&gt;Scott Andrew’s original addEvent() function&lt;/h3&gt;&lt;pre animheight="236"&gt;&lt;code&gt;function addEvent(elm, evType, fn, useCapture) {
if (elm.addEventListener) {
elm.addEventListener(evType, fn, useCapture);
return true;
}
else if (elm.attachEvent) {
var r = elm.attachEvent('on' + evType, fn);
return r;
}
else {
elm['on' + evType] = fn;
}
}&lt;/code&gt;&lt;/pre&gt;&lt;h3&gt;9) addLoadEvent()&lt;/h3&gt;&lt;p&gt;Originally written by &lt;a href="http://simon.incutio.com/archive/2004/05/26/addLoadEvent" title="Yahoo Coworker and developer"&gt;Simon Willison&lt;/a&gt; and highly adopted by many others as a simple way to add events to trigger after the page has loaded. This of course attaches all your events to the onload event handler which some still see as necessary, nevertheless it does exactly what it’s supposed to, and does it well.&lt;/p&gt;&lt;h3 class="code"&gt;addLoadEvent() by Simon Willison&lt;/h3&gt;&lt;pre animheight="220"&gt;&lt;code&gt;function addLoadEvent(func) {
var oldonload = window.onload;
if (typeof window.onload != 'function') {
window.onload = func;
}
else {
window.onload = function() {
oldonload();
func();
}
}
}&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Of course another method is to simply assign multiple event listeners to the window by using &lt;strong&gt;addEvent()&lt;/strong&gt; as described in number 10 as follows:&lt;/p&gt;&lt;h3 class="code"&gt;assigning multiple load events to window&lt;/h3&gt;&lt;pre animheight="76"&gt;&lt;code&gt;addEvent(window,'load',func1,false);
addEvent(window,'load',func2,false);
addEvent(window,'load',func3,false);&lt;/code&gt;&lt;/pre&gt;&lt;h3&gt;8) getElementsByClass()&lt;/h3&gt;&lt;p&gt;Originially written by nobody in particular. Several developers have implemented their own version and no one single version has proven to be better than another. As you might expect, my humble self has even had a &lt;a href="http://www.dustindiaz.com/getelementsbyclass/" title="My own version of getElementsByClass"&gt;crack at it&lt;/a&gt;. This function was spawned from developers needing a quick and elegant way of grabbing elements by a className and to a developer’s surprise, it’s not an original DOM method as one might think…afterall, we have &lt;code&gt;getElementById&lt;/code&gt;, &lt;code&gt;getElementsByName()&lt;/code&gt;, &lt;code&gt;getElementsByTagName&lt;/code&gt;, what the hell happened to &lt;code&gt;getElementsByClass&lt;/code&gt;??? Here it is in all its glory:&lt;/p&gt;&lt;h3 class="code"&gt;getElementsByClass by Dustin Diaz&lt;/h3&gt;&lt;pre animheight="300"&gt;&lt;code&gt;function getElementsByClass(searchClass,node,tag) {
var classElements = new Array();
if ( node == null )
node = document;
if ( tag == null )
tag = '*';
var els = node.getElementsByTagName(tag);
var elsLen = els.length;
var pattern = new RegExp('(^|\\\\s)'+searchClass+'(\\\\s|$)');
for (i = 0, j = 0; i &lt;&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Simply add a class name to the beginning of the funciton and the 2nd and 3rd arguments are optional and the magic is done for you!&lt;/p&gt;&lt;h3&gt;7) cssQuery()&lt;/h3&gt;&lt;p&gt;Originally written by &lt;a href="http://dean.edwards.name/" title="Kick ass JavaScript developer"&gt;Dean Edwards&lt;/a&gt; as a way to query the DOM according to CSS properties which supports a &lt;em&gt;multitude&lt;/em&gt; of selectors. However in all fairness, this is more like a mini-library and not quite so light on the weight factor, but still, a very kick-ass function. Due to its length (and CC lisencing) I won’t post it on this site. Full documentation can be found on the &lt;a href="http://dean.edwards.name/my/cssQuery/" title="Dean Edwards complete documentation page of cssQuery()"&gt;myCssQuery reference and download page&lt;/a&gt;.&lt;/p&gt;&lt;h3&gt;6) toggle()&lt;/h3&gt;&lt;p&gt;To be totally honest, there are probably more variations of this function than there needs to be. The history of ‘toggling’ basically comes down to showing/hiding an element upon an event being fired. To make matters much simpler, I too have put one together. But by no means is it considered the ultimate toggle function, but it does do the basic functionality of showing and hiding.&lt;/p&gt;&lt;h3 class="code"&gt;toggle() by the masses&lt;/h3&gt;&lt;pre animheight="172"&gt;&lt;code&gt;function toggle(obj) {
var el = document.getElementById(obj);
if ( el.style.display != 'none' ) {
el.style.display = 'none';
}
else {
el.style.display = '';
}
}&lt;/code&gt;&lt;/pre&gt;&lt;h3&gt;5) insertAfter()&lt;/h3&gt;&lt;p&gt;As far as I know, &lt;a href="http://adactio.com/" title="Developer for Clearleft, DOM taskforce member and author of DOM Scripting"&gt;Jeremy Keith&lt;/a&gt; sort of came up with this idea even though one would have thought this too would be a DOM core method. But just like getElementsByClass, it isn’t. So rather than pulling the function straight out of the book, I’ll leave that up to &lt;strong&gt;you&lt;/strong&gt; to &lt;a href="http://www.amazon.com/gp/product/webstandardsw-20/1590595335/104-6729182-1300737" title="Amazon.com Bookstore website"&gt;buy it&lt;/a&gt; yourself. Instead I’ve pulled this simple method from public domain:&lt;/p&gt;&lt;h3 class="code"&gt;insertAfter() on public domain&lt;/h3&gt;&lt;pre animheight="76"&gt;&lt;code&gt;function insertAfter(parent, node, referenceNode) {
parent.insertBefore(node, referenceNode.nextSibling);
}&lt;/code&gt;&lt;/pre&gt;&lt;h3&gt;4) inArray()&lt;/h3&gt;&lt;p&gt;This too is very sad that this isn’t part of the DOM core functionality. But hey, it makes for fun references like this! This function however isn’t quite a function; it’s a prototype that extends the DOM Array object. I remember one day thinking to myself “surely I can do this in PHP, it’s gotta be in JavaScript.” Well, this extension makes it work just like you’d expect if you’re a PHP developer. Here is a version from &lt;a href="http://www.embimedia.com/resources/labs/js-inarray.html" title="Embimedia Labs"&gt;EmbiMEDIA&lt;/a&gt;&lt;/p&gt;&lt;h3 class="code"&gt;inArray Prototype Array object by EmbiMedia&lt;/h3&gt;&lt;pre animheight="188"&gt;&lt;code&gt;
Array.prototype.inArray = function (value) {
var i;
for (i=0; i &lt;&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h3&gt; 3, 2, &amp;amp; 1) getCookie(), setCookie(), deleteCookie()&lt;/h3&gt;&lt;p&gt;I honestly don’t know what I would do without these guys. I hate the DOM implementations of setting cookies in JavaScript. In PHP &lt;a href="http://www.php.net/setcookie" title="PHP.net reference to setcookie()"&gt;it’s so easy&lt;/a&gt;, and it’s easy for one main reason, they work just like the functions below. All three of these functions were found to be public domain and free to use.&lt;/p&gt;&lt;h3 class="code"&gt;getCookie(), setCookie(), deleteCookie() open domain&lt;/h3&gt;&lt;pre animheight="540"&gt;&lt;code&gt;function getCookie( name ) {
var start = document.cookie.indexOf( name + "=" );
var len = start + name.length + 1;
if ( ( !start ) &amp;amp;&amp;amp; ( name != document.cookie.substring( 0, name.length ) ) ) {
return null;
}
if ( start == -1 ) return null;
var end = document.cookie.indexOf( ';', len );
if ( end == -1 ) end = document.cookie.length;
return unescape( document.cookie.substring( len, end ) );
}

function setCookie( name, value, expires, path, domain, secure ) {
var today = new Date();
today.setTime( today.getTime() );
if ( expires ) {
expires = expires * 1000 * 60 * 60 * 24;
}
var expires_date = new Date( today.getTime() + (expires) );
document.cookie = name+'='+escape( value ) +
( ( expires ) ? ';expires='+expires_date.toGMTString() : '' ) + //expires.toGMTString()
( ( path ) ? ';path=' + path : '' ) +
( ( domain ) ? ';domain=' + domain : '' ) +
( ( secure ) ? ';secure' : '' );
}

function deleteCookie( name, path, domain ) {
if ( getCookie( name ) ) document.cookie = name + '=' +
( ( path ) ? ';path=' + path : '') +
( ( domain ) ? ';domain=' + domain : '' ) +
';expires=Thu, 01-Jan-1970 00:00:01 GMT';
}

&lt;span style="font-family:georgia;"&gt;You can download all functions from (http://www.dustindiaz.com/) &lt;/span&gt;&lt;/code&gt;&lt;a style="font-family: georgia;" href="http://www.dustindiaz.com/basement/common.js" title="Top ten functions of all time reference file"&gt;all these functions wrapped up in a common.js&lt;/a&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2918706867610266523-6968708917437433868?l=bennyindia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bennyindia.blogspot.com/feeds/6968708917437433868/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2918706867610266523&amp;postID=6968708917437433868' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2918706867610266523/posts/default/6968708917437433868'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2918706867610266523/posts/default/6968708917437433868'/><link rel='alternate' type='text/html' href='http://bennyindia.blogspot.com/2009/05/javascript-custom-functions-all.html' title='JavaScript Custom functions - All developers Needed-'/><author><name>Benedict Alphonse</name><uri>http://www.blogger.com/profile/06273740826562598488</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_47TBi7XxXXY/Sg2nBmAKJKI/AAAAAAAABbw/a6YHZHKfCBE/S220/IMG_0125_Edited11.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2918706867610266523.post-1600683867917597211</id><published>2009-05-19T16:35:00.002+05:30</published><updated>2009-05-19T16:44:22.947+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Design Patterns'/><title type='text'>.NET Design Patterns in Brief</title><content type='html'>Original source :&lt;a href="http://www.dofactory.com"&gt; http://www.dofactory.com&lt;/a&gt;

Design patterns are recurring solutions to software design problems you find again and again in real-world application development. Patterns are about design and interaction of objects, as well as providing a communication platform concerning elegant, reusable solutions to commonly encountered programming challenges.
They are categorized in three groups: Creational, Structural, and Behavioral.

To give you a head start, the C# source code is provided in 2 forms: 'structural' and 'real-world'. Structural code uses type names as defined in the pattern definition and UML diagrams. Real-world code provides real-world programming situations where you may use these patterns.

&lt;table bgcolor="white" cellpadding="1" cellspacing="1" width="100%"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td colspan="2" align="left" bgcolor="#ffcc33" height="14"&gt;&lt;b&gt;Creational Patterns&lt;/b&gt;&lt;/td&gt;     &lt;/tr&gt;     &lt;tr&gt;         &lt;td align="left" bgcolor="#fffaef" width="120"&gt;  &lt;a href="http://www.dofactory.com/Patterns/PatternAbstract.aspx" class="alwayson"&gt;Abstract Factory&lt;/a&gt;&lt;/td&gt;         &lt;td align="left" bgcolor="#fffaef" height="14"&gt;  Creates an instance of several families of classes&lt;/td&gt;     &lt;/tr&gt;     &lt;tr&gt;         &lt;td align="left" bgcolor="#fffaef" width="120"&gt;  &lt;a href="http://www.dofactory.com/Patterns/PatternBuilder.aspx" class="alwayson"&gt;Builder&lt;/a&gt;&lt;/td&gt;         &lt;td align="left" bgcolor="#fffaef" height="14"&gt;  Separates object construction from its representation&lt;/td&gt;     &lt;/tr&gt;     &lt;tr&gt;         &lt;td align="left" bgcolor="#fffaef" width="120"&gt;  &lt;a href="http://www.dofactory.com/Patterns/PatternFactory.aspx" class="alwayson"&gt;Factory Method&lt;/a&gt;&lt;/td&gt;         &lt;td align="left" bgcolor="#fffaef" height="14"&gt;  Creates an instance of several derived classes&lt;/td&gt;     &lt;/tr&gt;     &lt;tr&gt;         &lt;td align="left" bgcolor="#fffaef" width="120"&gt;  &lt;a href="http://www.dofactory.com/Patterns/PatternPrototype.aspx" class="alwayson"&gt;Prototype&lt;/a&gt;&lt;/td&gt;         &lt;td align="left" bgcolor="#fffaef" height="14"&gt;  A fully initialized instance to be copied or cloned&lt;/td&gt;     &lt;/tr&gt;     &lt;tr&gt;         &lt;td align="left" bgcolor="#fffaef" width="120"&gt;  &lt;a href="http://www.dofactory.com/Patterns/PatternSingleton.aspx" class="alwayson"&gt;Singleton&lt;/a&gt;&lt;/td&gt;         &lt;td align="left" bgcolor="#fffaef" height="14"&gt;  A class of which only a single instance can exist&lt;/td&gt;     &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;     
 &lt;table bgcolor="#ffffff" cellpadding="1" cellspacing="1" width="100%"&gt;     &lt;tbody&gt;&lt;tr&gt;         &lt;td colspan="2" align="left" bgcolor="#ffcc33" height="14"&gt;  &lt;b&gt;Structural Patterns&lt;/b&gt;&lt;/td&gt;     &lt;/tr&gt;     &lt;tr&gt;         &lt;td align="left" bgcolor="#fffaef" width="120"&gt;  &lt;a href="http://www.dofactory.com/Patterns/PatternAdapter.aspx" class="alwayson"&gt;Adapter&lt;/a&gt;&lt;/td&gt;         &lt;td align="left" bgcolor="#fffaef" height="14"&gt;  Match interfaces of different classes&lt;/td&gt;     &lt;/tr&gt;     &lt;tr&gt;         &lt;td align="left" bgcolor="#fffaef" width="120"&gt;  &lt;a href="http://www.dofactory.com/Patterns/PatternBridge.aspx" class="alwayson"&gt;Bridge&lt;/a&gt;&lt;/td&gt;         &lt;td align="left" bgcolor="#fffaef" height="14"&gt;  Separates an object’s interface from its implementation&lt;/td&gt;     &lt;/tr&gt;     &lt;tr&gt;         &lt;td align="left" bgcolor="#fffaef" width="120"&gt;  &lt;a href="http://www.dofactory.com/Patterns/PatternComposite.aspx" class="alwayson"&gt;Composite&lt;/a&gt;&lt;/td&gt;         &lt;td align="left" bgcolor="#fffaef" height="14"&gt;  A tree structure of simple and composite objects&lt;/td&gt;     &lt;/tr&gt;     &lt;tr&gt;         &lt;td align="left" bgcolor="#fffaef" width="120"&gt;  &lt;a href="http://www.dofactory.com/Patterns/PatternDecorator.aspx" class="alwayson"&gt;Decorator&lt;/a&gt;&lt;/td&gt;         &lt;td align="left" bgcolor="#fffaef" height="14"&gt;  Add responsibilities to objects dynamically&lt;/td&gt;     &lt;/tr&gt;     &lt;tr&gt;         &lt;td align="left" bgcolor="#fffaef" width="120"&gt;  &lt;a href="http://www.dofactory.com/Patterns/PatternFacade.aspx" class="alwayson"&gt;Facade&lt;/a&gt;&lt;/td&gt;         &lt;td align="left" bgcolor="#fffaef" height="14"&gt;  A single class that represents an entire subsystem&lt;/td&gt;     &lt;/tr&gt;     &lt;tr&gt;         &lt;td align="left" bgcolor="#fffaef" width="120"&gt;  &lt;a href="http://www.dofactory.com/Patterns/PatternFlyweight.aspx" class="alwayson"&gt;Flyweight&lt;/a&gt;&lt;/td&gt;         &lt;td align="left" bgcolor="#fffaef" height="14"&gt;  A fine-grained instance used for efficient sharing&lt;/td&gt;     &lt;/tr&gt;     &lt;tr&gt;         &lt;td align="left" bgcolor="#fffaef" width="120"&gt;  &lt;a href="http://www.dofactory.com/Patterns/PatternProxy.aspx" class="alwayson"&gt;Proxy&lt;/a&gt;&lt;/td&gt;         &lt;td align="left" bgcolor="#fffaef" height="14"&gt;  An object representing another object&lt;/td&gt;     &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;
     &lt;table bgcolor="white" cellpadding="1" cellspacing="1" width="100%"&gt;&lt;tbody&gt;&lt;tr&gt;         &lt;td colspan="2" align="left" bgcolor="#ffcc33" height="14"&gt;  &lt;b&gt;Behavioral Patterns&lt;/b&gt;&lt;/td&gt;     &lt;/tr&gt;     &lt;tr&gt;         &lt;td align="left" bgcolor="#fffaef" width="120"&gt;  &lt;a href="http://www.dofactory.com/Patterns/PatternChain.aspx" class="alwayson"&gt;Chain of Resp.&lt;/a&gt;&lt;/td&gt;         &lt;td align="left" bgcolor="#fffaef" height="14"&gt;  A way of passing a request between a chain of objects&lt;/td&gt;     &lt;/tr&gt;     &lt;tr&gt;         &lt;td align="left" bgcolor="#fffaef" width="120"&gt;  &lt;a href="http://www.dofactory.com/Patterns/PatternCommand.aspx" class="alwayson"&gt;Command&lt;/a&gt;&lt;/td&gt;         &lt;td align="left" bgcolor="#fffaef" height="14"&gt;  Encapsulate a command request as an object&lt;/td&gt;     &lt;/tr&gt;     &lt;tr&gt;         &lt;td align="left" bgcolor="#fffaef" width="120"&gt;  &lt;a href="http://www.dofactory.com/Patterns/PatternInterpreter.aspx" class="alwayson"&gt;Interpreter&lt;/a&gt;&lt;/td&gt;         &lt;td align="left" bgcolor="#fffaef" height="14"&gt;  A way to include language elements in a program&lt;/td&gt;     &lt;/tr&gt;     &lt;tr&gt;         &lt;td align="left" bgcolor="#fffaef" width="120"&gt;  &lt;a href="http://www.dofactory.com/Patterns/PatternIterator.aspx" class="alwayson"&gt;Iterator&lt;/a&gt;&lt;/td&gt;         &lt;td align="left" bgcolor="#fffaef" height="14"&gt;  Sequentially access the elements of a collection&lt;/td&gt;     &lt;/tr&gt;     &lt;tr&gt;         &lt;td align="left" bgcolor="#fffaef" width="120"&gt;  &lt;a href="http://www.dofactory.com/Patterns/PatternMediator.aspx" class="alwayson"&gt;Mediator&lt;/a&gt;&lt;/td&gt;         &lt;td align="left" bgcolor="#fffaef" height="14"&gt;  Defines simplified communication between classes&lt;/td&gt;     &lt;/tr&gt;     &lt;tr&gt;         &lt;td align="left" bgcolor="#fffaef" width="120"&gt;  &lt;a href="http://www.dofactory.com/Patterns/PatternMemento.aspx" class="alwayson"&gt;Memento&lt;/a&gt;&lt;/td&gt;         &lt;td align="left" bgcolor="#fffaef" height="14"&gt;  Capture and restore an object's internal state&lt;/td&gt;     &lt;/tr&gt;     &lt;tr&gt;         &lt;td align="left" bgcolor="#fffaef" width="120"&gt;  &lt;a href="http://www.dofactory.com/Patterns/PatternObserver.aspx" class="alwayson"&gt;Observer&lt;/a&gt;&lt;/td&gt;         &lt;td align="left" bgcolor="#fffaef" height="14"&gt;  A way of notifying change to a number of classes&lt;/td&gt;     &lt;/tr&gt;     &lt;tr&gt;         &lt;td align="left" bgcolor="#fffaef" width="120"&gt;  &lt;a href="http://www.dofactory.com/Patterns/PatternState.aspx" class="alwayson"&gt;State&lt;/a&gt;&lt;/td&gt;         &lt;td align="left" bgcolor="#fffaef" height="14"&gt;  Alter an object's behavior when its state changes&lt;/td&gt;     &lt;/tr&gt;     &lt;tr&gt;         &lt;td align="left" bgcolor="#fffaef" width="120"&gt;  &lt;a href="http://www.dofactory.com/Patterns/PatternStrategy.aspx" class="alwayson"&gt;Strategy&lt;/a&gt;&lt;/td&gt;         &lt;td align="left" bgcolor="#fffaef" height="14"&gt;  Encapsulates an algorithm inside a class&lt;/td&gt;     &lt;/tr&gt;     &lt;tr&gt;         &lt;td align="left" bgcolor="#fffaef" width="120"&gt;  &lt;a href="http://www.dofactory.com/Patterns/PatternTemplate.aspx" class="alwayson"&gt;Template Method&lt;/a&gt;&lt;/td&gt;         &lt;td align="left" bgcolor="#fffaef" height="14"&gt;  Defer the exact steps of an algorithm to a subclass&lt;/td&gt;     &lt;/tr&gt;     &lt;tr&gt;         &lt;td align="left" bgcolor="#fffaef" width="120"&gt;  &lt;a href="http://www.dofactory.com/Patterns/PatternVisitor.aspx" class="alwayson"&gt;Visitor&lt;/a&gt;&lt;/td&gt;         &lt;td align="left" bgcolor="#fffaef" height="14"&gt;  Defines a new operation to a class without change&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2918706867610266523-1600683867917597211?l=bennyindia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bennyindia.blogspot.com/feeds/1600683867917597211/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2918706867610266523&amp;postID=1600683867917597211' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2918706867610266523/posts/default/1600683867917597211'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2918706867610266523/posts/default/1600683867917597211'/><link rel='alternate' type='text/html' href='http://bennyindia.blogspot.com/2009/05/net-design-patterns-in-brief.html' title='.NET Design Patterns in Brief'/><author><name>Benedict Alphonse</name><uri>http://www.blogger.com/profile/06273740826562598488</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_47TBi7XxXXY/Sg2nBmAKJKI/AAAAAAAABbw/a6YHZHKfCBE/S220/IMG_0125_Edited11.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2918706867610266523.post-4711424836458502747</id><published>2009-05-19T15:15:00.006+05:30</published><updated>2009-05-19T15:39:29.958+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><title type='text'>ASP.NET MVC Overview</title><content type='html'>&lt;span style=";font-family:arial;font-size:100%;"  &gt;&lt;p&gt;MVC is a framework methodology that divides an application's implementation into three component roles: models, views, and controllers.&lt;/p&gt; &lt;ul&gt;&lt;li&gt;"Models" in a MVC based application are the components of the application that are responsible for maintaining state.  Often this state is persisted inside a database (for example: we might have a Product class that is used to represent order data from the Products table inside SQL).&lt;/li&gt;&lt;/ul&gt; &lt;ul&gt;&lt;li&gt;"Views" in a MVC based application are the components responsible for displaying the application's user interface.  Typically this UI is created off of the model data (for example: we might create an Product "Edit" view that surfaces textboxes, dropdowns and checkboxes based on the current state of a Product object).&lt;/li&gt;&lt;/ul&gt; &lt;ul&gt;&lt;li&gt;"Controllers" in a MVC based application are the components responsible for handling end user interaction, manipulating the model, and ultimately choosing a view to render to display UI.  In a MVC application the view is only about displaying information - it is the controller that handles and responds to user input and interaction.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;One of the benefits of using a MVC methodology is that it helps enforce a clean separation of concerns between the models, views and controllers within an application.  Maintaining a clean separation of concerns makes the testing of applications much easier, since the contract between different application components are more clearly defined and articulated.&lt;/p&gt;&lt;p&gt;&lt;span style="font-weight: bold;"&gt;Advantages of MVC&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=""&gt;&lt;ul&gt;&lt;li&gt;It enables clean separation of concerns, testability, and TDD by default.  All core contracts within the MVC framework are interface based and easily mockable (it includes interface based IHttpRequest/IHttpResponse intrinsics).  You can unit test the application without having to run the Controllers within an ASP.NET process (making unit testing fast).  You can use any unit testing framework you want to-do this testing (including NUnit, MBUnit, MS Test, etc).&lt;/li&gt;&lt;/ul&gt; &lt;ul&gt;&lt;li&gt;It is highly extensible and pluggable.  Everything in the MVC framework is designed so that it can be easily replaced/customized (for example: you can optionally plug-in your own view engine, routing policy, parameter serialization, etc).  It also supports using existing dependency injection and IOC container models (Windsor, Spring.Net, NHibernate, etc).&lt;/li&gt;&lt;/ul&gt; &lt;ul&gt;&lt;li&gt;It includes a very powerful URL mapping component that enables you to build applications with clean URLs.  URLs do not need to have extensions within them, and are designed to easily support SEO and REST-friendly naming patterns.  For example, I could easily map the &lt;u&gt;/products/edit/4&lt;/u&gt; URL to the "Edit" action of the ProductsController class in my project above, or map the &lt;u&gt;/Blogs/blogExample/10-10-2007/SomeTopic/&lt;/u&gt; URL to a "DisplayPost" action of a BlogEngineController class.&lt;/li&gt;&lt;/ul&gt; &lt;ul&gt;&lt;li&gt;The MVC framework supports using the existing ASP.NET .ASPX, .ASCX, and .Master markup files as "view templates" (meaning you can easily use existing ASP.NET features like nested master pages, &lt;%= %&gt; snippets, declarative server controls, templates, data-binding, localization, etc).  It does not, however, use the existing post-back model for interactions back to the server.  Instead, you'll route all end-user interactions to a Controller class instead - which helps ensure clean separation of concerns and testability (it also means no viewstate or page lifecycle with MVC based views).&lt;/li&gt;&lt;/ul&gt; &lt;ul&gt;&lt;li&gt;The ASP.NET MVC framework fully supports existing ASP.NET features like forms/windows authentication, URL authorization, membership/roles, output and data caching, session/profile state management, health monitoring, configuration system, the provider architecture, etc.&lt;/li&gt;&lt;/ul&gt;Microsoft is having official site all about ASP.NET MVC. This site provides all information such as ASP.NET MVC Project template,learning videos and  tutorials :&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.asp.net/mvc/"&gt;&lt;span style=""&gt;http://www.asp.net/mvc/&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.asp.net/mvc/"&gt;&lt;span&gt;&lt;span style=";font-family:arial;font-size:100%;"  &gt;&lt;span style=""&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;ScottGu's &lt;span style=";font-family:arial;font-size:100%;"  &gt;&lt;a href="http://weblogs.asp.net/scottgu/archive/2009/04/28/free-asp-net-mvc-nerddinner-tutorial-now-in-html.aspx"&gt;Free ASP.NET MVC “NerdDinner” Tutorial  &lt;/a&gt;will give clear idea on ASP.NET MVC.&lt;/span&gt;&lt;p style="font-weight: bold;"&gt;&lt;span style=""&gt;My sincere thanks to &lt;a href="http://weblogs.asp.net/scottgu/"&gt;ScottGu &lt;/a&gt;for giving more ideas of ASP.NET MVC.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=""&gt;Happy Programming!&lt;/span&gt;&lt;/p&gt;&lt;/span&gt;&lt;span style=";font-family:arial;font-size:100%;"  &gt;&lt;p&gt;&lt;span style=""&gt;
&lt;/span&gt;&lt;/p&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2918706867610266523-4711424836458502747?l=bennyindia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bennyindia.blogspot.com/feeds/4711424836458502747/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2918706867610266523&amp;postID=4711424836458502747' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2918706867610266523/posts/default/4711424836458502747'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2918706867610266523/posts/default/4711424836458502747'/><link rel='alternate' type='text/html' href='http://bennyindia.blogspot.com/2009/05/aspnet-mvc-overview.html' title='ASP.NET MVC Overview'/><author><name>Benedict Alphonse</name><uri>http://www.blogger.com/profile/06273740826562598488</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_47TBi7XxXXY/Sg2nBmAKJKI/AAAAAAAABbw/a6YHZHKfCBE/S220/IMG_0125_Edited11.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2918706867610266523.post-2748120104688859372</id><published>2009-05-18T20:29:00.003+05:30</published><updated>2009-05-18T20:36:53.252+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='SilverLight'/><title type='text'>SilverLight Tutorials Links - Learning from scratch</title><content type='html'>&lt;p&gt;Silverlight tutorial sites :&lt;/p&gt; &lt;table border="0" cellpadding="2" cellspacing="0" width="693"&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td valign="top" width="200"&gt;&lt;strong&gt;Author/Site&lt;/strong&gt;&lt;/td&gt; &lt;td valign="top" width="491"&gt;&lt;strong&gt;Link&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="200"&gt;Andy Beauliue&lt;/td&gt; &lt;td valign="top" width="491"&gt;&lt;a title="http://www.andybeaulieu.com/Home/tabid/67/Default.aspx" href="http://www.andybeaulieu.com/Home/tabid/67/Default.aspx" mce_href="http://www.andybeaulieu.com/Home/tabid/67/Default.aspx"&gt;http://www.andybeaulieu.com/Home/tabid/67/Default.aspx&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="200"&gt;Brad Adams&lt;/td&gt; &lt;td valign="top" width="491"&gt;&lt;a title="http://blogs.msdn.com/brada/default.aspx" href="http://blogs.msdn.com/brada/default.aspx" mce_href="http://blogs.msdn.com/brada/default.aspx"&gt;http://blogs.msdn.com/brada/default.aspx&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="200"&gt;Chris Hay&lt;/td&gt; &lt;td valign="top" width="491"&gt;&lt;a title="http://www.screencast.com/users/chrishayuk" href="http://www.screencast.com/users/chrishayuk" mce_href="http://www.screencast.com/users/chrishayuk"&gt;http://www.screencast.com/users/chrishayuk&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="200"&gt;DotNet Curry&lt;/td&gt; &lt;td valign="top" width="491"&gt;&lt;a title="http://www.dotnetcurry.com/" href="http://www.dotnetcurry.com/" mce_href="http://www.dotnetcurry.com/"&gt;http://www.dotnetcurry.com/&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="200"&gt;Jesse Liberty&lt;/td&gt; &lt;td valign="top" width="491"&gt;&lt;a title="http://silverlight.net/blogs/jesseliberty/" href="http://silverlight.net/blogs/jesseliberty/" mce_href="http://silverlight.net/blogs/jesseliberty/"&gt;http://silverlight.net/blogs/jesseliberty/&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="200"&gt;Joe Stegman&lt;/td&gt; &lt;td valign="top" width="491"&gt;&lt;a title="http://blogs.msdn.com/jstegman/default.aspx" href="http://blogs.msdn.com/jstegman/default.aspx" mce_href="http://blogs.msdn.com/jstegman/default.aspx"&gt;http://blogs.msdn.com/jstegman/default.aspx&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="200"&gt;Nikola Mihaylov&lt;/td&gt; &lt;td valign="top" width="491"&gt;&lt;a title="http://blogs.msdn.com/nikola/default.aspx" href="http://blogs.msdn.com/nikola/default.aspx" mce_href="http://blogs.msdn.com/nikola/default.aspx"&gt;http://blogs.msdn.com/nikola/default.aspx&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="200"&gt;Page Brooks&lt;/td&gt; &lt;td valign="top" width="491"&gt;&lt;a title="http://pagebrooks.com/" href="http://pagebrooks.com/" mce_href="http://pagebrooks.com/"&gt;http://pagebrooks.com/&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="200"&gt;Pete Brown&lt;/td&gt; &lt;td valign="top" width="491"&gt;&lt;a title="http://community.irritatedvowel.com/blogs/pete_browns_blog/default.aspx" href="http://community.irritatedvowel.com/blogs/pete_browns_blog/default.aspx" mce_href="http://community.irritatedvowel.com/blogs/pete_browns_blog/default.aspx"&gt;http://community.irritatedvowel.com/blogs/pete_browns_blog/default.aspx&lt;/a&gt;

&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="200"&gt;Shawn Wildermuth&lt;/td&gt; &lt;td valign="top" width="491"&gt;&lt;a title="http://wildermuth.com/" href="http://wildermuth.com/"&gt;http://wildermuth.com/&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="200"&gt;Silverlight Learning Resources&lt;/td&gt; &lt;td valign="top" width="491"&gt;&lt;a title="http://silverlight.net/learn/" href="http://silverlight.net/learn/" mce_href="http://silverlight.net/learn/"&gt;http://silverlight.net/learn/&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="200"&gt;SilverlightShow&lt;/td&gt; &lt;td valign="top" width="491"&gt;&lt;a title="http://www.silverlightshow.net/" href="http://www.silverlightshow.net/" mce_href="http://www.silverlightshow.net/"&gt;http://www.silverlightshow.net/&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="200"&gt;Terence Tsang&lt;/td&gt; &lt;td valign="top" width="491"&gt;&lt;a title="http://www.shinedraw.com/" href="http://www.shinedraw.com/" mce_href="http://www.shinedraw.com/"&gt;http://www.shinedraw.com/&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="200"&gt;Tim Heuer&lt;/td&gt; &lt;td valign="top" width="491"&gt;&lt;a title="http://timheuer.com/blog/" href="http://timheuer.com/blog/" mce_href="http://timheuer.com/blog/"&gt;http://timheuer.com/blog/&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="200"&gt;Timmy Kokke&lt;/td&gt; &lt;td valign="top" width="491"&gt;&lt;a title="http://geekswithblogs.net/tkokke/Default.aspx" href="http://geekswithblogs.net/tkokke/Default.aspx" mce_href="http://geekswithblogs.net/tkokke/Default.aspx"&gt;http://geekswithblogs.net/tkokke/Default.aspx&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt; &lt;p&gt;Also, here is a great Silverlight Blog summary page: &lt;a title="http://www.netvibes.com/rboarman#Silverlight" href="http://www.netvibes.com/rboarman#Silverlight" mce_href="http://www.netvibes.com/rboarman#Silverlight"&gt;http://www.netvibes.com/rboarman#Silverlight&lt;/a&gt;&lt;/p&gt;&lt;p&gt;ScottGU Blog :&lt;a href="http://weblogs.asp.net/scottgu/pages/silverlight-posts.aspx"&gt; http://weblogs.asp.net/scottgu/pages/silverlight-posts.aspx&lt;/a&gt;
&lt;/p&gt;&lt;p&gt;Credit goes to Orginal Poster :  &lt;a href="http://silverlight.net/blogs/msnow/archive/2009/04/01/silverlight-tip-of-the-day-103-cool-silverlight-tutorial-blogs.aspx"&gt;Mike Snow&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2918706867610266523-2748120104688859372?l=bennyindia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bennyindia.blogspot.com/feeds/2748120104688859372/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2918706867610266523&amp;postID=2748120104688859372' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2918706867610266523/posts/default/2748120104688859372'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2918706867610266523/posts/default/2748120104688859372'/><link rel='alternate' type='text/html' href='http://bennyindia.blogspot.com/2009/05/silverlight-tutorials-links-learning.html' title='SilverLight Tutorials Links - Learning from scratch'/><author><name>Benedict Alphonse</name><uri>http://www.blogger.com/profile/06273740826562598488</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_47TBi7XxXXY/Sg2nBmAKJKI/AAAAAAAABbw/a6YHZHKfCBE/S220/IMG_0125_Edited11.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2918706867610266523.post-2279890871277557262</id><published>2009-05-18T20:02:00.004+05:30</published><updated>2009-05-18T20:10:19.402+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><title type='text'>Microsoft Excel to .NET Dataset Converter  Open source tool</title><content type='html'>Excel Dataset Reader is &lt;span id="ctl00_ctl00_MasterContent_Content_wikiSourceLabel"&gt;Lightweight and fast library written in C# for reading Microsoft Excel files ('97-2007). Which supports &lt;/span&gt;&lt;span id="ctl00_ctl00_MasterContent_Content_wikiSourceLabel"&gt;Cross-platform:

- Windows with .Net Framework 2
- Windows Mobile with Compact Framework
- Linux, OS X, BSD with Mono 2+

I used this tool for my development. its really superb and performing very good when compared with other tool.

you can download this tool along with source from codeplex :

&lt;a href="http://exceldatareader.codeplex.com/SourceControl/ListDownloadableCommits.aspx"&gt;http://exceldatareader.codeplex.com/SourceControl/ListDownloadableCommits.aspx&lt;/a&gt;


Happy Programming !





&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2918706867610266523-2279890871277557262?l=bennyindia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bennyindia.blogspot.com/feeds/2279890871277557262/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2918706867610266523&amp;postID=2279890871277557262' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2918706867610266523/posts/default/2279890871277557262'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2918706867610266523/posts/default/2279890871277557262'/><link rel='alternate' type='text/html' href='http://bennyindia.blogspot.com/2009/05/microsoft-excel-to-net-dataset.html' title='Microsoft Excel to .NET Dataset Converter  Open source tool'/><author><name>Benedict Alphonse</name><uri>http://www.blogger.com/profile/06273740826562598488</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_47TBi7XxXXY/Sg2nBmAKJKI/AAAAAAAABbw/a6YHZHKfCBE/S220/IMG_0125_Edited11.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2918706867610266523.post-5488690727670976637</id><published>2009-05-18T19:52:00.004+05:30</published><updated>2009-05-18T20:01:44.504+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='IIS'/><title type='text'>How to use OpenSSL with IIS</title><content type='html'>Overview &lt;p&gt;This document describes how to sign your own SSL certificate requests using the OpenSSL toolkit and use these self-signed certificates to allow HTTPS connections to Microsoft's IIS.
&lt;/p&gt; &lt;p&gt;If you know what a self-signed certificate is and understand the concept of a certificate authority, great. If not, this should still work but you'll have no idea what you've achieved when it does :)&lt;/p&gt;
&lt;h2&gt;Ingredients&lt;/h2&gt; &lt;ul&gt;&lt;li&gt;Windows Server family running Internet Information Services (IIS)&lt;/li&gt;&lt;li&gt;The &lt;a href="http://www.shininglightpro.com/products/Win32OpenSSL.html"&gt;OpenSSL tools&lt;/a&gt; for Windows from &lt;a href="http://www.shininglightpro.com/"&gt;Shining Light Productions&lt;/a&gt;. This is a Windows port of the popular &lt;a href="http://www.openssl.org/"&gt;OpenSSL toolkit&lt;/a&gt;.&lt;/li&gt;&lt;/ul&gt; &lt;h2&gt;Walkthrough&lt;/h2&gt; &lt;h3&gt;Install and configure the OpenSSL toolkit&lt;/h3&gt; &lt;ol&gt;&lt;li&gt;Get OpenSSL from the address above, and run the installer, accepting the defaults. These instructions assume OpenSSL is installed in &lt;code&gt;C:\OpenSSL&lt;/code&gt;.&lt;/li&gt;&lt;li&gt;Add &lt;code&gt;C:\OpenSSL\bin&lt;/code&gt; to your system path (Control Panel, System, Advanced, Environment Variables, System Variables) - this isn't strictly necessary but it makes things a lot easier.&lt;/li&gt;&lt;li&gt;Create a working directory - here, we'll use &lt;code&gt;c:\ssl&lt;/code&gt; as our working folder.&lt;/li&gt;&lt;li&gt;Download &lt;a href="http://www.dylanbeattie.net/docs/openssl.conf"&gt;this copy of openssl.conf&lt;/a&gt; to your working folder. (&lt;b&gt;Note:&lt;/b&gt; I have no idea what most of the options in this file mean. I just hacked it around until it worked...)&lt;/li&gt;&lt;li&gt;Set up the directory structure and files required by OpenSSL: &lt;pre&gt;C:\ssl&gt;&lt;b&gt;md keys&lt;/b&gt;

C:\ssl&gt;&lt;b&gt;md requests&lt;/b&gt;

C:\ssl&gt;&lt;b&gt;md certs&lt;/b&gt;
&lt;/pre&gt; &lt;/li&gt;&lt;li&gt;Create the file &lt;code&gt;database.txt&lt;/code&gt; - an empty (zero-byte) text file. This can be done using the 'touch' command if you have it (it's a Unix tool not available on Windows by default, but you might have one lying around), or by creating an empty file manually: &lt;pre&gt;c:\ssl&gt;&lt;b&gt;copy con database.txt
^Z&lt;/b&gt;

C:\ssl&gt;
&lt;/pre&gt;MS-DOS veterans will recognise this particular invocation. We're copying from CON (the console) to a file called database.txt, and that's a Control-Z end-of-file character on the first line. This should produce a zero-byte file called c:\ssl\database.txt &lt;/li&gt;&lt;li&gt;Create the serial number file serial.txt. This is a plain ASCII file containing the string "01" on the first line, followed by a newline. Again, we can use a little bit of ancient DOS magic: &lt;pre&gt;C:\ssl&gt;&lt;b&gt;copy con serial.txt
01
^Z&lt;/b&gt;

C:\ssl&gt;
&lt;/pre&gt; to achieve the desired effect. (That's keystrokes zero, one, return, control-Z, return) &lt;/li&gt;&lt;/ol&gt; &lt;h3&gt;Set up a Certificate Authority (CA)&lt;/h3&gt; &lt;ol&gt;&lt;li&gt;First, we create a 1024-bit private key to use when creating our CA.: &lt;pre&gt;C:\ssl&gt;&lt;b&gt;openssl genrsa -des3 -out keys/ca.key 1024&lt;/b&gt;
Loading 'screen' into random state - done
warning, not much extra random data, consider using the -rand option
Generating RSA private key, 1024 bit long modulus
...........++++++
..................++++++
e is 65537 (0x10001)
Enter PEM pass phrase: &lt;i&gt; - choose a memorable pass phrase to use for this key&lt;/i&gt;
Verifying password - Enter PEM pass phrase: &lt;i&gt; - type your pass phrase again for verification&lt;/i&gt;
&lt;/pre&gt;The pass phrase will be requested whenever you use this certificate for anything, so make sure you remember it. This will create a file called &lt;code&gt;c:\ssl\keys\ca.key,&lt;/code&gt; containing our certificate authority private key. &lt;/li&gt;&lt;li&gt;Next, we create a master certificate based on this key, to use when signing other certificates: &lt;pre&gt;C:\ssl&gt;&lt;b&gt;openssl req -config openssl.conf -new -x509 -days 1001 -key keys/ca.key -out certs/ca.cer&lt;/b&gt;
Using configuration from openssl.conf
Enter PEM pass phrase: &lt;i&gt; - type your passphrase here.&lt;/i&gt;
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) []:GB
State or Province Name (full name) []:Hampshire
Locality Name (eg, city) []:Southampton
Organization Name (eg, company) []:dylanbeattie.net
Organizational Unit Name (eg, section) []:
Common Name (eg, your websites domain name) []:ssl.dylanbeattie.net
Email Address []:ssl@dylanbeattie.net

C:\ssl&gt;
&lt;/pre&gt; This will create our CA certificate and store it as c:\ssl\certs\ca.cer&lt;/li&gt;&lt;li&gt;(optional) Finally, we export our CA certificate in PKCS12 format - this will allow Windows users to import the PKCS12 certificate into their Trusted Root Store, so they don't get warning messages every time they use one of our certificates. &lt;strong&gt;From &lt;a href="http://www.openssl.org/support/faq.html#USER12"&gt;the OpenSSL FAQ&lt;/a&gt;:&lt;/strong&gt; &lt;blockquote&gt; &lt;p&gt;12. How do I install a CA certificate into a browser?&lt;/p&gt; &lt;p&gt;The usual way is to send the DER encoded certificate to the browser as  MIME type application/x-x509-ca-cert, for example by clicking on an  appropriate link. On MSIE certain extensions such as .der or .cacert may  also work, or you can import the certificate using the certificate  import wizard.&lt;/p&gt; &lt;p&gt;You can convert a certificate to DER form using the command:&lt;/p&gt; &lt;pre&gt;openssl x509 -in ca.pem -outform DER -out ca.der&lt;/pre&gt; &lt;p&gt;Occasionally someone&lt;sup&gt;*&lt;/sup&gt; suggests using a command such as:&lt;/p&gt; &lt;pre&gt;openssl pkcs12 -export -out cacert.p12 -in cacert.pem -inkey cakey.pem&lt;/pre&gt; &lt;p&gt;&lt;strong&gt;DO NOT DO THIS!&lt;/strong&gt; This command will give away your CAs private key and  reduces its security to zero: allowing anyone to forge certificates in  whatever name they choose.&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;&lt;small&gt;* Guilty as charged - sorry! This guide originally recommended the insecure method warned about above. Thanks to Baahl for pointing out the error and Marco Fagiolini for the correct method.&lt;/small&gt;&lt;/p&gt;  &lt;!-- &lt;p&gt;&lt;strong&gt;UPDATE (2004-08-08): Apparently doing this includes the private key with the PKCS12 file, which means anyone with the PKCS12 cert can forge certificates from our CA. You should be able to import the ca.cer file directly into your browser instead. I haven't tested this yet, but in the meantime,  be warned. (I already told you I didn't know what I was doing...)&lt;/strong&gt; Thanks to Baahl for this heads-up.&lt;/p&gt; &lt;pre&gt; C:\ssl&gt;&lt;b&gt;openssl pkcs12 -export -in certs/ca.cer -inkey keys/ca.key -out certs/ca.p12&lt;/b&gt; Loading 'screen' into random state - done Enter PEM pass phrase: Enter Export Password: &lt;i&gt; - users will need this password when importing the certificate&lt;/i&gt; Verifying password - Enter Export Password:  C:\ssl&gt; &lt;/pre&gt; This will create &lt;code&gt;c:\ssl\certs\ca.p12,&lt;/code&gt; which can be imported via Internet Options -&gt; Content -&gt; Certificates on most Windows computers. --&gt; &lt;/li&gt;&lt;/ol&gt; &lt;h3&gt;Create an IIS Certificate Request&lt;/h3&gt; &lt;p&gt;This is described in detail elsewhere on the web - see &lt;a href="http://support.microsoft.com/default.aspx?scid=KB;en-us;q228821"&gt;Microsoft Knowledge Base Article Q228821&lt;/a&gt;. You should end up with a file called certreq.txt.&lt;/p&gt; &lt;h3&gt;Sign the Certificate Request&lt;/h3&gt; &lt;ol&gt;&lt;li&gt;Copy the &lt;code&gt;certreq.txt&lt;/code&gt; file into c:\ssl\requests&lt;/li&gt;&lt;li&gt;Sign the request &lt;pre&gt;C:\ssl&gt;&lt;b&gt;openssl ca -policy policy_anything -config openssl.conf -cert certs/ca.cer -in requests/certreq.txt -keyfile keys/ca.key -days 360 -out certs/iis.cer&lt;/b&gt;
Using configuration from openssl.conf
Loading 'screen' into random state - done
Enter PEM pass phrase:
Check that the request matches the signature
Signature ok
The Subjects Distinguished Name is as follows
commonName            :PRINTABLE:'myCommonName'
organizationalUnitName:PRINTABLE:'myOrganisationalUnit'
organizationName      :PRINTABLE:'myOrganisation'
localityName          :PRINTABLE:'myLocality'
stateOrProvinceName   :PRINTABLE:'myProvince'
countryName           :PRINTABLE:'GB'
Certificate is to be certified until Feb  2 01:13:14 2004 GMT (360 days)
Sign the certificate? [y/n]:y


1 out of 1 certificate requests certified, commit? [y/n]y
Write out database with 1 new entries
Data Base Updated

C:\ssl&gt;
&lt;/pre&gt; Let's just take a look at those command-line options in a bit more detail: &lt;ul&gt;&lt;li&gt;&lt;code&gt;-policy policy_anything&lt;/code&gt; - specifies that we're using the 'policy_anything' policy from our &lt;code&gt;openssl.conf&lt;/code&gt; file. This is a relaxed policy in which the name, country, etc. in the certificate don't need to match those used by the certification authority. Use &lt;code&gt;-policy policy_match&lt;/code&gt; for a more restrictive CA.&lt;/li&gt;&lt;li&gt;&lt;code&gt;-config openssl.conf&lt;/code&gt; - specifies we're reading our configuration from &lt;code&gt;openssl.conf&lt;/code&gt; in the current directory.&lt;/li&gt;&lt;li&gt;&lt;code&gt;-cert certs/ca.cer&lt;/code&gt; - specifies we're using our CA master certificate to sign the request.&lt;/li&gt;&lt;li&gt;&lt;code&gt;-in requests/certreq.txt&lt;/code&gt; - the certificate request we're signing.&lt;/li&gt;&lt;li&gt;&lt;code&gt;-keyfile keys/ca.key&lt;/code&gt; - the private key for our CA master certificate, which proves we're allowed to use it.&lt;/li&gt;&lt;li&gt;&lt;code&gt;-days 360&lt;/code&gt; - the time until the certficate will expire&lt;/li&gt;&lt;li&gt;&lt;code&gt;-out certs/iis.cer&lt;/code&gt; - the file in which to place our newly-signed certificate&lt;/li&gt;&lt;/ul&gt; &lt;/li&gt;&lt;li&gt;Convert the signed certificate into x509 format for use with IIS: &lt;pre&gt;C:\ssl&gt;&lt;b&gt;openssl x509 -in certs/iis.cer -out certs/iisx509.cer&lt;/b&gt;

C:\ssl&gt;
&lt;/pre&gt; This will leave the new certificate in &lt;code&gt;c:\ssl\certs\iisx509.cer&lt;/code&gt; - signed, sealed and ready to install&lt;/li&gt;&lt;/ol&gt; &lt;h3&gt;Install the new certificate under IIS&lt;/h3&gt; &lt;p&gt;Again, this is described elsewhere on the web - remember that the &lt;code&gt;iisx509.cer&lt;/code&gt; file is our &lt;b&gt;certificate response file&lt;/b&gt;, and the instructions in &lt;a href="http://support.microsoft.com/default.aspx?scid=kb;EN-US;228836"&gt;Knowledge Base article 228836&lt;/a&gt; should make everything clear.&lt;/p&gt;&lt;p&gt;Credit goes to orginal poster : &lt;a href="http://www.dylanbeattie.net/docs/openssl_iis_ssl_howto.html"&gt;Dylan Beattie&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2918706867610266523-5488690727670976637?l=bennyindia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bennyindia.blogspot.com/feeds/5488690727670976637/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2918706867610266523&amp;postID=5488690727670976637' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2918706867610266523/posts/default/5488690727670976637'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2918706867610266523/posts/default/5488690727670976637'/><link rel='alternate' type='text/html' href='http://bennyindia.blogspot.com/2009/05/how-to-use-openssl-with-iis.html' title='How to use OpenSSL with IIS'/><author><name>Benedict Alphonse</name><uri>http://www.blogger.com/profile/06273740826562598488</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_47TBi7XxXXY/Sg2nBmAKJKI/AAAAAAAABbw/a6YHZHKfCBE/S220/IMG_0125_Edited11.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2918706867610266523.post-7282561408264801821</id><published>2009-05-18T19:42:00.002+05:30</published><updated>2009-05-18T19:50:12.255+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Development'/><title type='text'>Open source Error logger Frameworks for .NET Applications</title><content type='html'>I was tried to find alternate error logger framework for Microsoft Error logger framework since its bit heavy. I came to know to that few Error loggers which are more flexible and light weight for .NET Applications

1. &lt;a href="http://logging.apache.org/log4net/index.html"&gt;Log4Net &lt;/a&gt;: is a tool to help the programmer output log statements to a variety                      of output targets. log4net is a port of the excellent log4j framework to the                      .NET runtime.

2. &lt;a href="http://www.nlog-project.org/"&gt;NLog &lt;/a&gt;: NLog is a free application logging library for .NET designed with simplicity and flexibility in mind. You can use NLog to write diagnostic traces from your application, so that they can be analyzed later. NLog can write your log messages to multiple targets.

Among all loggers frameworks,Log4Net is best logger i have seen ever.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2918706867610266523-7282561408264801821?l=bennyindia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bennyindia.blogspot.com/feeds/7282561408264801821/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2918706867610266523&amp;postID=7282561408264801821' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2918706867610266523/posts/default/7282561408264801821'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2918706867610266523/posts/default/7282561408264801821'/><link rel='alternate' type='text/html' href='http://bennyindia.blogspot.com/2009/05/open-source-error-logger-frameworks-for.html' title='Open source Error logger Frameworks for .NET Applications'/><author><name>Benedict Alphonse</name><uri>http://www.blogger.com/profile/06273740826562598488</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_47TBi7XxXXY/Sg2nBmAKJKI/AAAAAAAABbw/a6YHZHKfCBE/S220/IMG_0125_Edited11.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2918706867610266523.post-389278163928015121</id><published>2009-05-18T19:30:00.003+05:30</published><updated>2009-05-18T19:41:04.393+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Development'/><title type='text'>Open source WIKI Engines for ASP.NET Applications</title><content type='html'>I was asked to developed WIKI Pages for our application. I started looking to create a WIKI pages with fully functional. Finally I found few Open source WIKI engines written in .NET. Those WIKI engines providing source code which enables us to customize WIKI as per our requirement.

I am listing here my findings. It would help developers who are all going to create WIKI for their applications :&lt;span&gt;
&lt;a href="http://csharp-source.net/open-source/wiki-engines/deki-wiki"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;ol&gt;&lt;li style="font-family: verdana; font-weight: bold;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span&gt;&lt;a href="http://csharp-source.net/open-source/wiki-engines/deki-wiki"&gt;Deki Wiki&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;h3&gt;&lt;span style="font-size:100%;"&gt;&lt;span&gt;&lt;a href="http://csharp-source.net/open-source/wiki-engines/screwturn-wiki"&gt;ScrewTurn Wiki&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;&lt;/li&gt;&lt;li&gt;&lt;h3&gt;&lt;span style="font-size:100%;"&gt;&lt;span&gt;&lt;a href="http://csharp-source.net/open-source/wiki-engines/mindtouch-dekiwiki"&gt;MindTouch DekiWiki&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;&lt;/li&gt;&lt;li&gt;&lt;h3&gt;&lt;span style="font-size:100%;"&gt;&lt;span&gt;&lt;a href="http://csharp-source.net/open-source/wiki-engines/flexwiki"&gt;FlexWiki&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;&lt;/li&gt;&lt;li&gt;&lt;h3&gt;&lt;span style="font-size:100%;"&gt;&lt;span&gt;&lt;a href="http://csharp-source.net/open-source/wiki-engines/sushiwiki"&gt;SushiWiki&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;&lt;/li&gt;&lt;li&gt;&lt;h3&gt;&lt;span style="font-size:100%;"&gt;&lt;span&gt;&lt;a href="http://csharp-source.net/open-source/wiki-engines/perspective-wiki-engine"&gt;Perspective Wiki Engine&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;&lt;/li&gt;&lt;li&gt;&lt;h3&gt;&lt;span style="font-size:100%;"&gt;&lt;span&gt;&lt;a href="http://csharp-source.net/open-source/wiki-engines/dotnetwiki"&gt;DotNetWiki&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;&lt;/li&gt;&lt;/ol&gt;My choices are 1. Deki Wiki and 2. ScrewTurn WIKI.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2918706867610266523-389278163928015121?l=bennyindia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bennyindia.blogspot.com/feeds/389278163928015121/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2918706867610266523&amp;postID=389278163928015121' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2918706867610266523/posts/default/389278163928015121'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2918706867610266523/posts/default/389278163928015121'/><link rel='alternate' type='text/html' href='http://bennyindia.blogspot.com/2009/05/open-source-wiki-engines-for-aspnet.html' title='Open source WIKI Engines for ASP.NET Applications'/><author><name>Benedict Alphonse</name><uri>http://www.blogger.com/profile/06273740826562598488</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_47TBi7XxXXY/Sg2nBmAKJKI/AAAAAAAABbw/a6YHZHKfCBE/S220/IMG_0125_Edited11.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2918706867610266523.post-6916975924286121358</id><published>2009-05-18T19:02:00.007+05:30</published><updated>2009-05-18T19:19:59.944+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='WCF'/><title type='text'>WCF (Windows Communication Foundation) vs Web Services</title><content type='html'>I thought to find a difference between WCF (Windows Communication Foundation) and ASMX Web services. i googled and found some good posts from below links :

&lt;ol&gt;&lt;li&gt;&lt;a href="http://www.blogger.com/1.%20%20http://www.keithelder.net/blog/archive/2008/10/17/WCF-vs-ASMX-WebServices.aspx"&gt;http://www.keithelder.net/blog/archive/2008/10/17/WCF-vs-ASMX-WebServices.aspx&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;Where in Keith Elder explained major differences between WCF (Windows Communication Foundation)  and Web Services with real time example - aircraft analogy. It is really great post.

I saw below mentioned Power point presentation of WCF posted by same author :

&lt;a title="http://keithelder.net/Presentations/DemystyfyingWCF/DemystifyingWindowsCommunicationFoundation.ppt" href="http://keithelder.net/Presentations/DemystyfyingWCF/DemystifyingWindowsCommunicationFoundation.ppt"&gt;http://keithelder.net/Presentations/DemystyfyingWCF/DemystifyingWindowsCommunicationFoundation.ppt&lt;/a&gt;

This PPT explains basics of WCF nice.

   2. &lt;a href="http://www.techbubbles.com/wcf/wcf-vs-aspnet-web-services/"&gt;http://www.techbubbles.com/wcf/wcf-vs-aspnet-web-services/&lt;/a&gt;

Where in blogger explained major differences between WCF (Windows Communication Foundation)  and Web Services in terms of Serialization.

Happy Programming !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2918706867610266523-6916975924286121358?l=bennyindia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bennyindia.blogspot.com/feeds/6916975924286121358/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2918706867610266523&amp;postID=6916975924286121358' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2918706867610266523/posts/default/6916975924286121358'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2918706867610266523/posts/default/6916975924286121358'/><link rel='alternate' type='text/html' href='http://bennyindia.blogspot.com/2009/05/wcf-windows-communication-foundation-vs.html' title='WCF (Windows Communication Foundation) vs Web Services'/><author><name>Benedict Alphonse</name><uri>http://www.blogger.com/profile/06273740826562598488</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_47TBi7XxXXY/Sg2nBmAKJKI/AAAAAAAABbw/a6YHZHKfCBE/S220/IMG_0125_Edited11.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2918706867610266523.post-3255823425736653866</id><published>2009-05-16T21:06:00.003+05:30</published><updated>2009-05-17T13:47:25.154+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><title type='text'>.NET DateTime Patterns in ToString()</title><content type='html'>&lt;h2&gt;All the patterns:  &lt;/h2&gt;  &lt;table class="TableClass" cellpadding="2" cellspacing="1"&gt; &lt;tbody&gt;&lt;tr&gt; &lt;td class="TableCell"&gt;0&lt;/td&gt; &lt;td class="TableCell"&gt; MM/dd/yyyy&lt;/td&gt; &lt;td class="TableCell"&gt; 08/22/2006 &lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td class="TableCell"&gt;1&lt;/td&gt; &lt;td class="TableCell"&gt; dddd, dd MMMM yyyy&lt;/td&gt; &lt;td class="TableCell"&gt; Tuesday, 22 August 2006 &lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td class="TableCell"&gt;2&lt;/td&gt; &lt;td class="TableCell"&gt; dddd, dd MMMM yyyy&lt;/td&gt; &lt;td class="TableCell"&gt; HH:mm Tuesday, 22 August 2006 06:30 &lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td class="TableCell"&gt;3&lt;/td&gt; &lt;td class="TableCell"&gt; dddd, dd MMMM yyyy&lt;/td&gt; &lt;td class="TableCell"&gt; hh:mm tt Tuesday, 22 August 2006 06:30 AM &lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td class="TableCell"&gt;4&lt;/td&gt; &lt;td class="TableCell"&gt; dddd, dd MMMM yyyy&lt;/td&gt; &lt;td class="TableCell"&gt; H:mm Tuesday, 22 August 2006 6:30 &lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td class="TableCell"&gt;5&lt;/td&gt; &lt;td class="TableCell"&gt; dddd, dd MMMM yyyy&lt;/td&gt; &lt;td class="TableCell"&gt; h:mm tt Tuesday, 22 August 2006 6:30 AM &lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td class="TableCell"&gt;6&lt;/td&gt; &lt;td class="TableCell"&gt; dddd, dd MMMM yyyy HH:mm:ss&lt;/td&gt; &lt;td class="TableCell"&gt; Tuesday, 22 August 2006 06:30:07 &lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td class="TableCell"&gt;7&lt;/td&gt; &lt;td class="TableCell"&gt; MM/dd/yyyy HH:mm&lt;/td&gt; &lt;td class="TableCell"&gt; 08/22/2006 06:30 &lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td class="TableCell"&gt;8&lt;/td&gt; &lt;td class="TableCell"&gt; MM/dd/yyyy hh:mm tt&lt;/td&gt; &lt;td class="TableCell"&gt; 08/22/2006 06:30 AM &lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td class="TableCell"&gt;9&lt;/td&gt; &lt;td class="TableCell"&gt; MM/dd/yyyy H:mm&lt;/td&gt; &lt;td class="TableCell"&gt; 08/22/2006 6:30 &lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td class="TableCell"&gt;10&lt;/td&gt; &lt;td class="TableCell"&gt; MM/dd/yyyy h:mm tt&lt;/td&gt; &lt;td class="TableCell"&gt; 08/22/2006 6:30 AM &lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td class="TableCell"&gt;10&lt;/td&gt; &lt;td class="TableCell"&gt; MM/dd/yyyy h:mm tt&lt;/td&gt; &lt;td class="TableCell"&gt; 08/22/2006 6:30 AM &lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td class="TableCell"&gt;10&lt;/td&gt; &lt;td class="TableCell"&gt; MM/dd/yyyy h:mm tt&lt;/td&gt; &lt;td class="TableCell"&gt; 08/22/2006 6:30 AM &lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td class="TableCell"&gt;11&lt;/td&gt; &lt;td class="TableCell"&gt; MM/dd/yyyy HH:mm:ss&lt;/td&gt; &lt;td class="TableCell"&gt;08/22/2006 06:30:07&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td class="TableCell"&gt;12&lt;/td&gt; &lt;td class="TableCell"&gt; MMMM dd&lt;/td&gt; &lt;td class="TableCell"&gt; August 22 &lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td class="TableCell"&gt;13&lt;/td&gt; &lt;td class="TableCell"&gt; MMMM dd&lt;/td&gt; &lt;td class="TableCell"&gt; August 22 &lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td class="TableCell"&gt;14&lt;/td&gt; &lt;td class="TableCell"&gt; yyyy'-'MM'-'dd'T'HH':'mm':'ss.fffffffK&lt;/td&gt; &lt;td class="TableCell"&gt; 2006-08-22T06:30:07.7199222-04:00 &lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td class="TableCell"&gt;15&lt;/td&gt; &lt;td class="TableCell"&gt; yyyy'-'MM'-'dd'T'HH':'mm':'ss.fffffffK&lt;/td&gt; &lt;td class="TableCell"&gt; 2006-08-22T06:30:07.7199222-04:00 &lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td class="TableCell"&gt;16&lt;/td&gt; &lt;td class="TableCell"&gt; ddd, dd MMM yyyy HH':'mm':'ss 'GMT'&lt;/td&gt; &lt;td class="TableCell"&gt; Tue, 22 Aug 2006 06:30:07 GMT &lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td class="TableCell"&gt;17&lt;/td&gt; &lt;td class="TableCell"&gt; ddd, dd MMM yyyy HH':'mm':'ss 'GMT'&lt;/td&gt; &lt;td class="TableCell"&gt; Tue, 22 Aug 2006 06:30:07 GMT &lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td class="TableCell"&gt;18&lt;/td&gt; &lt;td class="TableCell"&gt; yyyy'-'MM'-'dd'T'HH':'mm':'ss&lt;/td&gt; &lt;td class="TableCell"&gt; 2006-08-22T06:30:07 &lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td class="TableCell"&gt;19&lt;/td&gt; &lt;td class="TableCell"&gt; HH:mm&lt;/td&gt; &lt;td class="TableCell"&gt; 06:30 &lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td class="TableCell"&gt;20&lt;/td&gt; &lt;td class="TableCell"&gt; hh:mm tt&lt;/td&gt; &lt;td class="TableCell"&gt; 06:30 AM &lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td class="TableCell"&gt;21&lt;/td&gt; &lt;td class="TableCell"&gt; H:mm&lt;/td&gt; &lt;td class="TableCell"&gt; 6:30 &lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td class="TableCell"&gt;22&lt;/td&gt; &lt;td class="TableCell"&gt; h:mm tt&lt;/td&gt; &lt;td class="TableCell"&gt; 6:30 AM &lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td class="TableCell"&gt;23&lt;/td&gt; &lt;td class="TableCell"&gt; HH:mm:ss&lt;/td&gt; &lt;td class="TableCell"&gt; 06:30:07 &lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td class="TableCell"&gt;24&lt;/td&gt; &lt;td class="TableCell"&gt; yyyy'-'MM'-'dd HH':'mm':'ss'Z'&lt;/td&gt; &lt;td class="TableCell"&gt; 2006-08-22 06:30:07Z &lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td class="TableCell"&gt;25&lt;/td&gt; &lt;td class="TableCell"&gt; dddd, dd MMMM yyyy HH:mm:ss&lt;/td&gt; &lt;td class="TableCell"&gt; Tuesday, 22 August 2006 06:30:07 &lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td class="TableCell"&gt;26&lt;/td&gt; &lt;td class="TableCell"&gt; yyyy MMMM&lt;/td&gt; &lt;td class="TableCell"&gt; 2006 August &lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td class="TableCell"&gt;27&lt;/td&gt; &lt;td class="TableCell"&gt; yyyy MMMM&lt;/td&gt; &lt;td class="TableCell"&gt; 2006 August &lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;   &lt;h2&gt;The patterns for DateTime.ToString ( 'd' ) :  &lt;/h2&gt;  &lt;table class="TableClass" cellpadding="2" cellspacing="1"&gt; &lt;tbody&gt;&lt;tr&gt; &lt;td class="TableCell"&gt;0&lt;/td&gt; &lt;td class="TableCell"&gt; MM/dd/yyyy&lt;/td&gt; &lt;td class="TableCell"&gt; 08/22/2006 &lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;   &lt;h2&gt;The patterns for DateTime.ToString ( 'D' ) :  &lt;/h2&gt;  &lt;table class="TableClass" cellpadding="2" cellspacing="1"&gt; &lt;tbody&gt;&lt;tr&gt; &lt;td class="TableCell"&gt;0&lt;/td&gt; &lt;td class="TableCell"&gt; dddd, dd MMMM yyyy&lt;/td&gt; &lt;td class="TableCell"&gt; Tuesday, 22 August 2006 &lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;   &lt;h2&gt;The patterns for DateTime.ToString ( 'f' ) :  &lt;/h2&gt;  &lt;table class="TableClass" cellpadding="2" cellspacing="1"&gt; &lt;tbody&gt;&lt;tr&gt; &lt;td class="TableCell"&gt;0&lt;/td&gt; &lt;td class="TableCell"&gt; dddd, dd MMMM yyyy HH:mm&lt;/td&gt; &lt;td class="TableCell"&gt; Tuesday, 22 August 2006 06:30 &lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td class="TableCell"&gt;1&lt;/td&gt; &lt;td class="TableCell"&gt; dddd, dd MMMM yyyy hh:mm&lt;/td&gt; &lt;td class="TableCell"&gt; tt Tuesday, 22 August 2006 06:30 AM &lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td class="TableCell"&gt;2&lt;/td&gt; &lt;td class="TableCell"&gt; dddd, dd MMMM yyyy H:mm&lt;/td&gt; &lt;td class="TableCell"&gt; Tuesday, 22 August 2006 6:30 &lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td class="TableCell"&gt;3&lt;/td&gt; &lt;td class="TableCell"&gt; dddd, dd MMMM yyyy h:mm&lt;/td&gt; &lt;td class="TableCell"&gt; tt Tuesday, 22 August 2006 6:30 AM &lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;   &lt;h2&gt;The patterns for DateTime.ToString ( 'F' ) :  &lt;/h2&gt;  &lt;table class="TableClass" cellpadding="2" cellspacing="1"&gt; &lt;tbody&gt;&lt;tr&gt; &lt;td class="TableCell"&gt;0&lt;/td&gt; &lt;td class="TableCell"&gt; dddd, dd MMMM yyyy HH:mm:ss&lt;/td&gt; &lt;td class="TableCell"&gt; Tuesday, 22 August 2006 06:30:07 &lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;   &lt;h2&gt;The patterns for DateTime.ToString ( 'g' ) :  &lt;/h2&gt;  &lt;table class="TableClass" cellpadding="2" cellspacing="1"&gt; &lt;tbody&gt;&lt;tr&gt; &lt;td class="TableCell"&gt;0&lt;/td&gt; &lt;td class="TableCell"&gt; MM/dd/yyyy HH:mm&lt;/td&gt; &lt;td class="TableCell"&gt; 08/22/2006 06:30 &lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td class="TableCell"&gt;1&lt;/td&gt; &lt;td class="TableCell"&gt; MM/dd/yyyy hh:mm&lt;/td&gt; &lt;td class="TableCell"&gt; tt 08/22/2006 06:30 AM &lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td class="TableCell"&gt;2&lt;/td&gt; &lt;td class="TableCell"&gt; MM/dd/yyyy H:mm&lt;/td&gt; &lt;td class="TableCell"&gt; 08/22/2006 6:30 &lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td class="TableCell"&gt;3&lt;/td&gt; &lt;td class="TableCell"&gt; MM/dd/yyyy h:mm tt&lt;/td&gt; &lt;td class="TableCell"&gt; 08/22/2006 6:30 AM &lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;   &lt;h2&gt;The patterns for DateTime.ToString ( 'G' ) :  &lt;/h2&gt;  &lt;table class="TableClass" cellpadding="2" cellspacing="1"&gt; &lt;tbody&gt;&lt;tr&gt; &lt;td class="TableCell"&gt;0&lt;/td&gt; &lt;td class="TableCell"&gt; MM/dd/yyyy HH:mm:ss&lt;/td&gt; &lt;td class="TableCell"&gt; 08/22/2006 06:30:07 &lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;   &lt;h2&gt;The patterns for DateTime.ToString ( 'm' ) :  &lt;/h2&gt;  &lt;table class="TableClass" cellpadding="2" cellspacing="1"&gt; &lt;tbody&gt;&lt;tr&gt; &lt;td class="TableCell"&gt;0&lt;/td&gt; &lt;td class="TableCell"&gt; MMMM dd&lt;/td&gt; &lt;td class="TableCell"&gt; August 22 &lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;   &lt;h2&gt;The patterns for DateTime.ToString ( 'r' ) :  &lt;/h2&gt;  &lt;table class="TableClass" cellpadding="2" cellspacing="1"&gt; &lt;tbody&gt;&lt;tr&gt; &lt;td class="TableCell"&gt;0&lt;/td&gt; &lt;td class="TableCell"&gt; ddd, dd MMM yyyy HH':'mm':'ss 'GMT'&lt;/td&gt; &lt;td class="TableCell"&gt; Tue, 22 Aug 2006 06:30:07 GMT &lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;   &lt;h2&gt;The patterns for DateTime.ToString ( 's' ) :  &lt;/h2&gt;  &lt;table class="TableClass" cellpadding="2" cellspacing="1"&gt; &lt;tbody&gt;&lt;tr&gt; &lt;td class="TableCell"&gt;0&lt;/td&gt; &lt;td class="TableCell"&gt; yyyy'-'MM'-'dd'T'HH':'mm':'ss&lt;/td&gt; &lt;td class="TableCell"&gt; 2006-08-22T06:30:07 &lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;   &lt;h2&gt;The patterns for DateTime.ToString ( 'u' ) :  &lt;/h2&gt;  &lt;table class="TableClass" cellpadding="2" cellspacing="1"&gt; &lt;tbody&gt;&lt;tr&gt; &lt;td class="TableCell"&gt;0&lt;/td&gt; &lt;td class="TableCell"&gt; yyyy'-'MM'-'dd HH':'mm':'ss'Z'&lt;/td&gt; &lt;td class="TableCell"&gt; 2006-08-22 06:30:07Z &lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;   &lt;h2&gt;The patterns for DateTime.ToString ( 'U' ) :  &lt;/h2&gt;  &lt;table class="TableClass" cellpadding="2" cellspacing="1"&gt; &lt;tbody&gt;&lt;tr&gt; &lt;td class="TableCell"&gt;0&lt;/td&gt; &lt;td class="TableCell"&gt; dddd, dd MMMM yyyy HH:mm:ss&lt;/td&gt; &lt;td class="TableCell"&gt; Tuesday, 22 August 2006 06:30:07 &lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;   &lt;h2&gt;The patterns for DateTime.ToString ( 'y' ) :  &lt;/h2&gt;  &lt;table class="TableClass" cellpadding="2" cellspacing="1"&gt; &lt;tbody&gt;&lt;tr&gt; &lt;td class="TableCell"&gt;0&lt;/td&gt; &lt;td class="TableCell"&gt; yyyy MMMM 2006 August &lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;     &lt;h2&gt;Building a custom DateTime.ToString Patterns &lt;/h2&gt;  &lt;p&gt;The following details the meaning of each pattern character. Not the &lt;strong&gt;K&lt;/strong&gt; and &lt;strong&gt;z&lt;/strong&gt; character. &lt;/p&gt;    &lt;table class="TableClass" cellpadding="2" cellspacing="1"&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td class="TableCell"&gt;&lt;strong&gt;d&lt;/strong&gt;&lt;/td&gt; &lt;td class="TableCell"&gt;Represents the day of the month as a number from 1 through 31. A single-digit day is formatted without a leading zero&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td class="TableCell"&gt;&lt;strong&gt;dd&lt;/strong&gt;&lt;/td&gt; &lt;td class="TableCell"&gt;Represents the day of the month as a number from 01 through 31. A single-digit day is formatted with a leading zero&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td class="TableCell"&gt;&lt;strong&gt;ddd&lt;/strong&gt;&lt;/td&gt; &lt;td class="TableCell"&gt;Represents the abbreviated name of the day of the week (Mon, Tues, Wed etc)&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td class="TableCell"&gt;&lt;strong&gt;dddd&lt;/strong&gt;&lt;/td&gt; &lt;td class="TableCell"&gt;Represents the full name of the day of the week (Monday, Tuesday etc)&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td class="TableCell"&gt;&lt;strong&gt;h&lt;/strong&gt;&lt;/td&gt; &lt;td class="TableCell"&gt;12-hour clock hour (e.g. 7)&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td class="TableCell"&gt;&lt;strong&gt;hh&lt;/strong&gt;&lt;/td&gt; &lt;td class="TableCell"&gt;12-hour clock, with a leading 0  (e.g. 07)&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td class="TableCell"&gt;&lt;strong&gt;H&lt;/strong&gt;&lt;/td&gt; &lt;td class="TableCell"&gt;24-hour clock hour  (e.g. 19)&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td class="TableCell"&gt;&lt;strong&gt;HH&lt;/strong&gt;&lt;/td&gt; &lt;td class="TableCell"&gt;24-hour clock hour, with a leading 0  (e.g. 19)&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td class="TableCell"&gt;&lt;strong&gt;m&lt;/strong&gt;&lt;/td&gt; &lt;td class="TableCell"&gt;Minutes&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td class="TableCell"&gt;&lt;strong&gt;mm&lt;/strong&gt;&lt;/td&gt; &lt;td class="TableCell"&gt;Minutes with a leading zero&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td class="TableCell"&gt;&lt;strong&gt;M&lt;/strong&gt;&lt;/td&gt; &lt;td class="TableCell"&gt;Month number&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td class="TableCell"&gt;&lt;strong&gt;MM&lt;/strong&gt;&lt;/td&gt; &lt;td class="TableCell"&gt;Month number with leading zero&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td class="TableCell"&gt;&lt;strong&gt;MMM&lt;/strong&gt;&lt;/td&gt; &lt;td class="TableCell"&gt;Abbreviated Month Name (e.g. Dec)&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td class="TableCell"&gt;&lt;strong&gt;MMMM&lt;/strong&gt;&lt;/td&gt; &lt;td class="TableCell"&gt;Full month name (e.g. December)&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td class="TableCell"&gt;&lt;strong&gt;s&lt;/strong&gt;&lt;/td&gt; &lt;td class="TableCell"&gt;Seconds&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td class="TableCell"&gt;&lt;strong&gt;ss&lt;/strong&gt;&lt;/td&gt; &lt;td class="TableCell"&gt;Seconds with leading zero&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td class="TableCell"&gt;&lt;strong&gt;t&lt;/strong&gt;&lt;/td&gt; &lt;td class="TableCell"&gt;Abbreviated AM / PM (e.g. A  or P)&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td class="TableCell"&gt;&lt;strong&gt;tt&lt;/strong&gt;&lt;/td&gt; &lt;td class="TableCell"&gt;AM / PM (e.g. AM  or PM&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td class="TableCell"&gt;&lt;strong&gt;y&lt;/strong&gt;&lt;/td&gt; &lt;td class="TableCell"&gt;Year, no leading zero (e.g. 2001 would be 1)&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td class="TableCell"&gt;&lt;strong&gt;yy&lt;/strong&gt;&lt;/td&gt; &lt;td class="TableCell"&gt;Year, leadin zero (e.g. 2001 would be 01)&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td class="TableCell"&gt;&lt;strong&gt;yyy&lt;/strong&gt;&lt;/td&gt; &lt;td class="TableCell"&gt;Year, (e.g. 2001 would be 2001)&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td class="TableCell"&gt;&lt;strong&gt;yyyy&lt;/strong&gt;&lt;/td&gt; &lt;td class="TableCell"&gt;Year, (e.g. 2001 would be 2001)&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td class="TableCell"&gt;&lt;strong&gt;K&lt;/strong&gt;&lt;/td&gt; &lt;td class="TableCell"&gt;Represents the time zone information of a date and time value (e.g. +05:00)&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td class="TableCell"&gt;&lt;strong&gt;z&lt;/strong&gt;&lt;/td&gt; &lt;td class="TableCell"&gt;With &lt;a linkindex="10" href="http://bennyindia.blogspot.com/2009/05/net-datetime-patterns-in-tostring.html"&gt;DateTime&lt;/a&gt; values, represents the signed offset of the local operating system's time zone from Coordinated Universal Time (UTC), measured in hours. (e.g. +6)&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td class="TableCell"&gt;&lt;strong&gt;zz&lt;/strong&gt;&lt;/td&gt; &lt;td class="TableCell"&gt;As z but with leadin zero (e.g. +06)&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td class="TableCell"&gt;&lt;strong&gt;zzz&lt;/strong&gt;&lt;/td&gt; &lt;td class="TableCell"&gt;With &lt;a linkindex="11" href="http://bennyindia.blogspot.com/2009/05/net-datetime-patterns-in-tostring.html"&gt;DateTime&lt;/a&gt;&lt;a href="http://bennyindia.blogspot.com/2009/05/net-datetime-patterns-in-tostring.html"&gt; &lt;/a&gt;values, represents the signed offset of the local operating system's time zone from UTC, measured in hours and minutes. (e.g. +06:00)&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td class="TableCell"&gt;&lt;strong&gt;f&lt;/strong&gt;&lt;/td&gt; &lt;td class="TableCell"&gt;Represents the most significant digit of the seconds fraction; that is, it represents the tenths of a second in a date and time value. &lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td class="TableCell"&gt;&lt;strong&gt;ff&lt;/strong&gt;&lt;/td&gt; &lt;td class="TableCell"&gt;Represents the two most significant digits of the seconds fraction; that is, it represents the hundredths of a second in a date and time value.&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td class="TableCell"&gt;&lt;strong&gt;fff&lt;/strong&gt;&lt;/td&gt; &lt;td class="TableCell"&gt;Represents the three most significant digits of the seconds fraction; that is, it represents the milliseconds in a date and time value.&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td class="TableCell"&gt;&lt;strong&gt;ffff&lt;/strong&gt;&lt;/td&gt; &lt;td class="TableCell"&gt;Represents the four most significant digits of the seconds fraction; that is, it represents the ten thousandths of a second in a date and time value. While it is possible to display the ten thousandths of a second component of a time value, that value may not be meaningful. The precision of date and time values depends on the resolution of the system clock. On Windows NT 3.5 and later, and Windows Vista operating systems, the clock's resolution is approximately 10-15 milliseconds. &lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td class="TableCell"&gt;&lt;strong&gt;fffff&lt;/strong&gt;&lt;/td&gt; &lt;td class="TableCell"&gt;Represents the five most significant digits of the seconds fraction; that is, it represents the hundred thousandths of a second in a date and time value. While it is possible to display the hundred thousandths of a second component of a time value, that value may not be meaningful. The precision of date and time values depends on the resolution of the system clock. On Windows NT 3.5 and later, and Windows Vista operating systems, the clock's resolution is approximately 10-15 milliseconds. &lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td class="TableCell"&gt;&lt;strong&gt;ffffff&lt;/strong&gt;&lt;/td&gt; &lt;td class="TableCell"&gt;Represents the six most significant digits of the seconds fraction; that is, it represents the millionths of a second in a date and time value. While it is possible to display the millionths of a second component of a time value, that value may not be meaningful. The precision of date and time values depends on the resolution of the system clock. On Windows NT 3.5 and later, and Windows Vista operating systems, the clock's resolution is approximately 10-15 milliseconds. &lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td class="TableCell"&gt;&lt;strong&gt;fffffff&lt;/strong&gt;&lt;/td&gt; &lt;td class="TableCell"&gt;Represents the seven most significant digits of the seconds fraction; that is, it represents the ten millionths of a second in a date and time value. While it is possible to display the ten millionths of a second component of a time value, that value may not be meaningful. The precision of date and time values depends on the resolution of the system clock. On Windows NT 3.5 and later, and Windows Vista operating systems, the clock's resolution is approximately 10-15 milliseconds. &lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td class="TableCell"&gt;&lt;strong&gt;F&lt;/strong&gt;&lt;/td&gt; &lt;td class="TableCell"&gt;Represents the most significant digit of the seconds fraction; that is, it represents the tenths of a second in a date and time value. Nothing is displayed if the digit is zero. &lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td class="TableCell"&gt;&lt;strong&gt;:&lt;/strong&gt;&lt;/td&gt; &lt;td class="TableCell"&gt;Represents the time separator defined in the current DateTimeFormatInfo..::.TimeSeparator property. This separator is used to differentiate hours, minutes, and seconds. &lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td class="TableCell"&gt;&lt;strong&gt;/&lt;/strong&gt; &lt;/td&gt; &lt;td class="TableCell"&gt; Represents the date separator defined in the current DateTimeFormatInfo..::.DateSeparator property. This separator is used to differentiate years, months, and days. &lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td class="TableCell"&gt;&lt;strong&gt;"&lt;/strong&gt; &lt;/td&gt; &lt;td class="TableCell"&gt; Represents a quoted string (quotation mark). Displays the literal value of any string between two quotation marks ("). Your application should precede each quotation mark with an escape character (\). &lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td class="TableCell"&gt;&lt;strong&gt;&lt;/strong&gt;'&lt;/td&gt; &lt;td class="TableCell"&gt; Represents a quoted string (apostrophe). Displays the literal value of any string between two apostrophe (') characters. &lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td class="TableCell"&gt;&lt;strong&gt;%c&lt;/strong&gt; &lt;/td&gt; &lt;td class="TableCell"&gt;Represents the result associated with a c custom format specifier, when the custom date and time format string consists solely of that custom format specifier. That is, to use the d, f, F, h, m, s, t, y, z, H, or M custom format specifier by itself, the application should specify %d, %f, %F, %h, %m, %s, %t, %y, %z, %H, or %M. For more information about using a single format specifier, see Using Single Custom Format Specifiers. &lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2918706867610266523-3255823425736653866?l=bennyindia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bennyindia.blogspot.com/feeds/3255823425736653866/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2918706867610266523&amp;postID=3255823425736653866' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2918706867610266523/posts/default/3255823425736653866'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2918706867610266523/posts/default/3255823425736653866'/><link rel='alternate' type='text/html' href='http://bennyindia.blogspot.com/2009/05/net-datetime-patterns-in-tostring.html' title='.NET DateTime Patterns in ToString()'/><author><name>Benedict Alphonse</name><uri>http://www.blogger.com/profile/06273740826562598488</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_47TBi7XxXXY/Sg2nBmAKJKI/AAAAAAAABbw/a6YHZHKfCBE/S220/IMG_0125_Edited11.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2918706867610266523.post-6920420127407544684</id><published>2009-05-15T21:25:00.004+05:30</published><updated>2009-05-15T23:07:28.487+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Development'/><title type='text'>Free Cheat sheets for all developers</title><content type='html'>Hi Everybody,

This is my first actual post of this blog. I would like to share something about Reference cards and Cheat sheets for all developers.

When I was googled, I found some nice Cheat sheets for all programming languages like C#, ASP.NET and Java in this site

&lt;a href="http://refcardz.dzone.com/"&gt;http://refcardz.dzone.com/&lt;/a&gt;

I hope it would more useful for all developers.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2918706867610266523-6920420127407544684?l=bennyindia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bennyindia.blogspot.com/feeds/6920420127407544684/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2918706867610266523&amp;postID=6920420127407544684' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2918706867610266523/posts/default/6920420127407544684'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2918706867610266523/posts/default/6920420127407544684'/><link rel='alternate' type='text/html' href='http://bennyindia.blogspot.com/2009/05/free-cheat-sheets-for-all-developers.html' title='Free Cheat sheets for all developers'/><author><name>Benedict Alphonse</name><uri>http://www.blogger.com/profile/06273740826562598488</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_47TBi7XxXXY/Sg2nBmAKJKI/AAAAAAAABbw/a6YHZHKfCBE/S220/IMG_0125_Edited11.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2918706867610266523.post-4346721050897933364</id><published>2009-05-15T20:40:00.002+05:30</published><updated>2009-05-15T20:45:05.786+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Agile'/><title type='text'>Agile Common FAQs</title><content type='html'>&lt;h3&gt;&lt;a name="WhatdoesAgilemean"&gt;What does Agile mean?&lt;/a&gt;
&lt;/h3&gt;  &lt;p&gt;Dictionary meaning of Agile is quick moving. Now how does that apply to software? Agile development methodology considers software as the most important entity and accepts user requirement changes. Agile advocates that we should accept changes and deliver the same in small releases. Agile accepts change as a norm and encourages constant feedback from the end user.
&lt;/p&gt;  &lt;p align="center"&gt;&lt;img src="http://www.codeproject.com/KB/aspnet/AgilePart1/Agile.JPG" border="0" height="99" width="235" /&gt;&lt;/p&gt;  &lt;p align="center"&gt;&lt;strong&gt;Figure: - Agile
&lt;/strong&gt;&lt;/p&gt;  &lt;p align="left"&gt;Below figure shows how Agile differs in principles from traditional methodologies.
&lt;/p&gt;  &lt;p align="center"&gt;&lt;img src="http://www.codeproject.com/KB/aspnet/AgilePart1/ChangeofAgilethinking.JPG" border="0" height="248" width="384" /&gt;&lt;/p&gt;  &lt;p align="center"&gt;&lt;strong&gt;Figure: - Change of Agile thinking
&lt;/strong&gt;&lt;/p&gt;  &lt;p align="left"&gt;• It’s not necessary to have hi-fi tools and process but a good team interaction can solve lot of problems.
• Working software is more important than documentation.
• Management should not pay attention to only customer contract rather interact with customer and analyze the requirements.
• In traditional methodologies we pledge to stick our plans but agile says “If the customer wants to change, analyze and change your plan accordingly”.

Below are principles of Agile methodology:-

• Welcome change and adapt to changing requirements
• Working software is the main measure of progress.
• Customer satisfaction is the most important thing and that can be attained by rapid, continuous delivery of useful software
• Day to day meetings between business people and development team is a must.
• Business and developers must work together. Face to face to communication is the most important thing.
• Deliver and update software regularly. In Agile we do not deliver software in one go, but rather we deliver frequently and deliver the important features first.
• Build projects around teams of motivated and trustful people.
• Design and execution should be kept simple.
• Strive for technical excellence in design and execution.
• Allow team to organize themselves.
&lt;/p&gt;  &lt;h3 align="left"&gt;&lt;a name="CanyouexplainAgilemodeling"&gt; Can you explain Agile modeling?&lt;/a&gt;
&lt;/h3&gt;  &lt;p align="left"&gt;Agile modeling is an approach to the modeling aspects of software development. It’s a practice for modeling and documentation for software systems. In one line

&lt;em&gt;&lt;strong&gt;It’s a collection of best practices for software modelling in light-weight manner.&lt;/strong&gt;&lt;/em&gt;
In abstraction we can say it augments other software processes. For instance let’s say your company is using UML and then Agile applies approach practices on UML.For example “Keep things simple” is Agile approach. So it means that we do not need to use all diagrams in our project, use only which are needed. If we summarize then in one word we can say Agile modeling says “Do only what’s needed and nothing more than that”.
&lt;/p&gt;  &lt;p align="center"&gt;&lt;img src="http://www.codeproject.com/KB/aspnet/AgilePart1/AgileModeling.JPG" border="0" height="308" width="236" /&gt;&lt;/p&gt;  &lt;p align="center"&gt;&lt;strong&gt;Figure: - Agile Modeling
&lt;/strong&gt;&lt;/p&gt;  &lt;h3 align="left"&gt;&lt;a name="WhatarecoreandsupplementaryprinciplesinAgilemodeling"&gt; What are core and supplementary principles in Agile modeling?&lt;/a&gt;
&lt;/h3&gt;  &lt;p align="left"&gt;Agile modeling defines set of practices which can show us the way towards becoming successful Agile modelers. These practices are divided in to two sections one the “Core Principles” and other “Supplementary Principles”. Below figure ‘Agile Model Principles’ shows the same in a pictorial format.
&lt;/p&gt;  &lt;p align="center"&gt;&lt;img src="http://www.codeproject.com/KB/aspnet/AgilePart1/AgileModelingPrinciples.JPG" border="0" height="370" width="393" /&gt;&lt;/p&gt;  &lt;p align="center"&gt;&lt;strong&gt;Figure: - Agile Model Principles
&lt;/strong&gt;&lt;/p&gt;  &lt;p align="left"&gt;Let’s understand one by one what those principles mean.
&lt;/p&gt;  &lt;p align="center"&gt;&lt;strong&gt;Core Principles
&lt;/strong&gt;&lt;/p&gt;  &lt;p align="left"&gt;&lt;strong&gt;Simplicity: -&lt;/strong&gt; Do not make complex model keep it simple. When you can explain your team with a pen and paper do not complex it by using modeling tool like rational rose. Do not add complexity to show off something. If the developer understands only flow chart then explain him with a flow chart, if he understand pseudo-code then use pseudo-code and so on. So look at your team what they understand and prepare document in a similar fashion.

&lt;strong&gt;Welcome Change: -&lt;/strong&gt; Requirements grow with time. Users can change the requirements as the project moves ahead. In traditional development cycle you will always hear the word “Freeze the requirement”, this has changed with Agile coming in. In Agile we welcome change and the same is reflected in the project.

&lt;strong&gt;Incrementally change: -&lt;/strong&gt; Nothing can be right at the first place itself. You can categorize your development with “The most required”, “Needed features” and “Luxury features”. In the first phase try to deliver the “The most required” and then incrementally deliver the other features.

&lt;strong&gt;Model exists with a purpose: -&lt;/strong&gt; Model should exist for a purpose and not for the sake of just existing. We should know who our target audience for whom the model is made. For instance if you are making a technical documents it’s for the developers, a power point presentation it’s for the top management and so on. If the model does not have target audience then it should not exist probably. In short “just deliver enough and not more”.

&lt;strong&gt;It should be light: -&lt;/strong&gt; Any document or artifact you create should be also updated over a period of time. So if you make 10 documents then you should note that as the source code changes you also need to update those documents. So make it light as possible. For instance if your technical document is made of all diagrams existing in UML, it becomes important to update all diagrams over a period of time, which is again a pain. So keep it light weight make a simple technical document and update the same when you have logical ends in the project, rather than updating it periodically.

&lt;strong&gt;Keep multiple models: -&lt;/strong&gt; Project issues vary from project to project and the same project behavior can vary from organization to organization. So do not think one model can solve all issues keep yourself flexible and think about multiple models. Depending on situation apply the model. For instance if you are using UML for technical documentation then every diagram in UML can reflect the same aspects in different way. For instance a class diagram shows the static view of project while a flow chart a dynamic view. So keep yourself flexible by using different diagrams and see which best fits your project or the scenario.

&lt;strong&gt;Software is the most important thing:- &lt;/strong&gt;The main goal of a software project is to produce high quality software which can be utilized by your end customer in a effective manner. Many projects end up with bulky documents and management artifacts. Documentation is for the software and not software for the documentation. So any document or activity which does not add value to the project should be questioned and validated.

&lt;strong&gt;Get Rapid and regular feedbacks: - &lt;/strong&gt;Software is finally made for the user. So try to get feedback on regular basis from the end user. Do not work in isolation involve the end user. Work closely with the end customer, get feedback, analyze requirements and try to meet there need.
&lt;/p&gt;  &lt;p align="center"&gt;&lt;strong&gt;Supplementary principles
&lt;/strong&gt;&lt;/p&gt;  &lt;p align="left"&gt;&lt;strong&gt;Content is important than presentation: -&lt;/strong&gt; The look and feel is not important rather the content or the message to be delivered by the content is important. For instance you can represent project architecture using complex UML diagrams, simple flow chart or by using simple text. It will look fancy that you can draw complex UML diagrams but if the end developer does not understand UML then it ends no where. A simple textual explanation could have met the requirement for communicating your architecture to the end developer / programmer.

&lt;strong&gt;Honest and open communication: -&lt;/strong&gt; Take suggestion, be honest and keep your mind open to new model. Be frank with the top management if your project is behind schedule. An open and free environment in project keeps resources motivated and the project healthy.
&lt;/p&gt;  &lt;h3 align="left"&gt;&lt;a name="WhatisthemainprinciplebehindAgiledocumentation"&gt; What is the main principle behind Agile documentation?&lt;/a&gt;
&lt;/h3&gt;  &lt;p align="left"&gt;The main deliverable in Agile is a working software and not documentation. Documentation is a support to get the working software. In traditional delivery cycle lot of documentation where generated in design and requirement phase. But we are sure many of documentation where either created just for the sake of it or it was just created. Below are the some of the key points to make documentation Agile:-

• Before creating any document ask a question do we need it and if we who is the stake holder. Document should exist only if needed and not for the sake of existence.
• The most important thing is we need to create documentation to provide enough data and no more than that. It should be simple and should communicate to stakeholders what it needs to communicate. For instance below figure ‘Agile Documentation’ shows two views for a simple class diagram. In the first view we have shown all the properties for “Customer” and the “Address” class. Now have a look at the second view where we have only shown the broader level view of the classes and relationships between them. The second view is enough and not more. If the developer wants to get in to details we can do that during development.
&lt;/p&gt;  &lt;p align="center"&gt;&lt;img src="http://www.codeproject.com/KB/aspnet/AgilePart1/Agiledocumentation.JPG" border="0" height="401" width="353" /&gt;&lt;/p&gt;  &lt;p align="center"&gt;&lt;strong&gt;Figure: - Agile documentation
&lt;/strong&gt;&lt;/p&gt;  &lt;p align="left"&gt;• Document only for the current and not for future. In short whatever documentation we require now we should produce and not something we need in the future. Documentation changes its form as it travels through every cycle. For instance in the requirement phase it’s the requirement document, in design it’s the technical documentation and so on. So only think which document you want to create now and not something in the future.
&lt;/p&gt;  &lt;h3 align="left"&gt;&lt;a name="WhatarethedifferentmethodologiestoimplementAgile"&gt; What are the different methodologies to implement Agile?&lt;/a&gt;
&lt;/h3&gt;  &lt;p align="left"&gt;Agile is a thinking approach to software development which promises to remove the issues we had with traditional waterfall methodology. In order to implement Agile practically in projects we have various methodologies. Below figure ‘Agile Methodologies’ shows the same in more detailed manner.
&lt;/p&gt;  &lt;p align="center"&gt;&lt;img src="http://www.codeproject.com/KB/aspnet/AgilePart1/AgileMethodologies.JPG" border="0" height="356" width="689" /&gt;&lt;/p&gt;  &lt;p align="center"&gt;&lt;strong&gt;Figure: - Agile Methodologies
&lt;/strong&gt;&lt;/p&gt;  &lt;p align="left"&gt;&lt;em&gt;&lt;strong&gt;Note: - We will cover each methodogly in detail in the coming sections.
&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;  &lt;h3 align="left"&gt;&lt;a name="WhatisXP"&gt; What is XP?&lt;/a&gt;
&lt;/h3&gt;  &lt;p align="left"&gt;Extreme Programming (also termed as XP) is an agile software development methodology. XP focuses on coding of the software. XP has four core values and fourteen principles.

XP has four core values:-

&lt;strong&gt;• Communication: -&lt;/strong&gt; Team should communicate on a regular basis, share information, discuss solutions and so on. Teams who communicate very often are able to solve problems more efficiently. For instance any kind of issues which are resolved in a cryptic fashion send an email to the whole team. This ensures that knowledge is shared with every one and in your absence some other developer can solve the problem.
&lt;strong&gt;• Simplicity: -&lt;/strong&gt; Keep things simple. Either it’s from a process angle, technical angle or from a documentation point of view. An over complicated process or a technical architecture is only calling for problems.
• Feedback: - Regular feedback from end user helps us to keep the project on track. So regular feedbacks should be enabled from end user and testing team.
&lt;strong&gt;• Courage: - &lt;/strong&gt;To bring change or to try something new, needs courage. When you try to bring change in an organization you are faced with huge resistance. Especially when your company is following traditional methodologies applying XP will always be resisted.

From the above four core values 14 principles are derived. Values give a broader level view while the 14 principles go deep in to how to implement XP.

• Rapid feedbacks: - Developers should receive rapid feedbacks from the end user. This avoids confusion in the last minute of delivery. In water fall model feedbacks are received in late intervals. This is minimized in XP.

&lt;strong&gt;• Keep it Simple: -&lt;/strong&gt; Encourage simplicity in project design and process. For instance rather than using complex tools probably simple handwritten flowcharts on board can solve the problem.

&lt;strong&gt;• Give incremental changes: -&lt;/strong&gt; Whenever you update patches and updates, release it in small pieces. If you are updating numerous patches in one go and if there is a defect, it will be difficult to track the same.

&lt;strong&gt;• Embrace Change: -&lt;/strong&gt; Do not be rigid with the customer saying that we have already signed the requirement so we can not change the architecture. End customer or users are finally human beings so they can change as the project moves ahead....Accept it if it’s logical.

&lt;strong&gt;• Light Weight: - &lt;/strong&gt;Keep documentation and process as simple as possible. Do not overdose the developer with unnecessary documentation. Developer’s main work is coding and ensuring that the code is defect free, so he should be more concentrating on the code rather than documentation.

&lt;strong&gt;• Deliver Quality: -&lt;/strong&gt; Any code you deliver should be defect free. Be committed to your work and deliver defect free code.

&lt;strong&gt;• Start small and grow big: -&lt;/strong&gt; Many times the end customer wants to start with a big bang theory. He can start with a big team, wants all the functionalities at the first roll out and so on. Start with small team and the “must have” features to be delivered. As we add features and the work load increases gradually increase your team strength.

&lt;strong&gt;• Play to win: -&lt;/strong&gt; Take all steps which are needed to make a project success. Any type of deadline and commitment try to meet the same with true spirit.

&lt;strong&gt;• Encourage honest communication: -&lt;/strong&gt; Promote honest communication. If communication happens face to face then there is less leakage of requirement. Encourage end user to sit with developers and give feedbacks; this makes your project stronger.

&lt;strong&gt;• Conduct testing honestly: - &lt;/strong&gt;Test plans should not be created for the sake of creation. Test plan should prove actually that you are on track record.

&lt;strong&gt;• Adapt according to situation: - &lt;/strong&gt;No two projects are same, no two organization are same and behavior of people from person to person. So it’s very essential that our approach also adapts according to situations.

&lt;strong&gt;• Metric honesty: -&lt;/strong&gt; Do not gather metrics for the sake of gathering or showing off to external people how many metrics your project derives. Pick metrics which makes sense to your project and helps you measure your project health.

&lt;strong&gt;• Accept responsibility: -&lt;/strong&gt; Do not impose or assign people on task which they do not like. Rather question the resource once which tasks he likes and assign accordingly. This will increase productivity to a huge level and maintains your project enthusiasm high.

&lt;strong&gt;• Work with people’s instincts: -&lt;/strong&gt; Normally in a project team there are highly motivated people, moderately motivated and people with less motivation. So give power to your motivated team members and encourage them.
&lt;/p&gt;  &lt;h3 align="left"&gt;&lt;a name="WhatareUserStoriesinXPandhowdifferentaretheyfromrequirement"&gt; What are User Stories in XP and how different are they from requirement?&lt;/a&gt;
&lt;/h3&gt;  &lt;p align="left"&gt;Use story is nothing but end users requirement. What differentiates a user story from a requirement is that they are short and sweet. In one sentence they are just enough and nothing more than that. User story ideally should be written on index cards. Below figure ‘User Story Index Card’ shows the card. Its 3 x 5 inches (8 x 13 cm) card. This will keep your stories as small as possible. Requirement document go in pages. As we are keeping the stories short its simple to read and understand. Traditional requirement documents are verbose and they tend to loose the main requirement of the project.
&lt;/p&gt;  &lt;p align="left"&gt;&lt;em&gt;&lt;strong&gt;Note: - When I was working in a multinational company I remember first 50 pages of the requirement document having things like history, backtracking, author of the document etc. I was completely drained till I started reading the core requirement.
&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p align="left"&gt;Every story has a title, short description and estimation. We will come to the estimation part later.
&lt;/p&gt;  &lt;p align="left"&gt;&lt;em&gt;&lt;strong&gt;Note: - Theoretically it’s good to have cards, but in real scenario you will not. We have seen in actual scenario project manager keeping stories in document and every story not more than 15 lines.
&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p align="center"&gt;&lt;img src="http://www.codeproject.com/KB/aspnet/AgilePart1/UserStoryIndexCard.JPG" border="0" height="297" width="409" /&gt;&lt;/p&gt;  &lt;p align="center"&gt;&lt;strong&gt;Figure: - User Story Index Card
&lt;/strong&gt;&lt;/p&gt;  &lt;h3 align="left"&gt;&lt;a name="WhowritesUserstories"&gt;Who writes User stories?&lt;/a&gt;
&lt;/h3&gt;  &lt;p align="left"&gt;It’s written and owned by the end customer and no one else.
&lt;/p&gt;  &lt;h3 align="left"&gt;&lt;a name="Whendowesayastoryisvalid"&gt;When do we say a story is valid?&lt;/a&gt;
&lt;/h3&gt;  &lt;p align="left"&gt;Story is valid if it can be estimated.
&lt;/p&gt;  &lt;h3 align="left"&gt;&lt;a name="WhenaretestplanswritteninXP"&gt;When are test plans written in XP?&lt;/a&gt;
&lt;/h3&gt;  &lt;p align="left"&gt;Test plans are written before writing the code.
&lt;/p&gt;  &lt;h3 align="left"&gt;&lt;a name="CanyouexplaintheXPdevelopmentlifecycle"&gt;Can you explain the XP development life cycle?&lt;/a&gt;
&lt;/h3&gt;  &lt;p align="left"&gt;XP development cycle consists of two phases one is ‘Release Planning’ and the other is ‘Iteration Planning’. In release planning we decide what should be delivered and in which priority. In iteration planning we break the requirements in to tasks and plan how to deliver those activities decided in release planning. Below figure ‘Actual Essence‘ shows what actually these two phases deliver.
&lt;/p&gt;  &lt;p align="center"&gt;&lt;img src="http://www.codeproject.com/KB/aspnet/AgilePart1/ActualEssence.JPG" border="0" height="197" width="440" /&gt;&lt;/p&gt;  &lt;p align="center"&gt;&lt;strong&gt;Figure: - Actual Essence
&lt;/strong&gt;&lt;/p&gt;  &lt;p align="left"&gt;If you are still having the old SDLC in mind below figure ‘Mapping to Traditional Cycle’ shows how the two phases map to SDLC.
&lt;/p&gt;  &lt;p align="center"&gt;&lt;img src="http://www.codeproject.com/KB/aspnet/AgilePart1/MappingtoTraditionalCycle.JPG" border="0" height="347" width="536" /&gt;&lt;/p&gt;  &lt;p align="center"&gt;&lt;strong&gt;Figure: - Mapping to Traditional Cycle
&lt;/strong&gt;&lt;/p&gt;  &lt;p align="left"&gt;So let’s explore both these phases in a more detailed manner. Both phases “Release Planning” and “Iteration Planning” have three common phases “Exploration”, “Commitment” and “Steering”.
&lt;/p&gt;  &lt;p align="center"&gt;&lt;img src="http://www.codeproject.com/KB/aspnet/AgilePart1/XPPlanningCycle.JPG" border="0" height="461" width="244" /&gt;&lt;/p&gt;  &lt;p align="center"&gt;&lt;strong&gt;Figure: - XP Planning Cycle
&lt;/strong&gt;&lt;/p&gt;  &lt;p align="left"&gt;&lt;strong&gt;Release Planning
&lt;/strong&gt;&lt;/p&gt;  &lt;p align="left"&gt;Release planning happens at the start of each project. In this phase project is broken in to small releases. Every release is broken down in to collection of user stories. Now let’s try to understand the three phases in release planning.

&lt;strong&gt;• Exploration: - &lt;/strong&gt;In this phase requirement gathering is done by using user story concept (Please read the previous question on user story to understand the concept of user story). In this phase we understand the requirement to get higher level understanding. Please note only higher level. User story card is size normally 3 X 5 inch, so you can not really go detail in that size of card. We think it’s absolutely fine rather than writing huge documents it sounds sense to have to the point requirement paragraphs. So here is a step by step explanation of how the exploration phase moves :-
o So the first step is user writes the story on the user card.
o Once the story is written the developer analyzes it and determines can we estimate the user story?. If the developer can not estimate then it’s again sent back to user to revise and elaborate the user story.
o Once the user story is clear and can be estimated, ideal day or story (read about story point, ideal day and estimation in the coming questions) are calculated.
o Now its time to say the user, ok we can not deliver everything at one go, so can you please prioritize. So in this phase the end user gives ranking to the user stories (In the next section we will deal with how a user story is ranked).
o Once the user is done with story prioritization, its time to calculate velocity determination (In the coming section we have one complete question on velocity determination).
o Agile is all about accepting end customer changes. In this phase we give a chance to the end user to decide if they want to change anything. If they want to change we again request the user to update the story.
o If everything is ok we go ahead for iteration planning.

Below figure “Release planning” shows the above discussed steps in a pictorial format.
&lt;/p&gt;  &lt;p align="center"&gt;&lt;img src="http://www.codeproject.com/KB/aspnet/AgilePart1/ReleasePlanning.JPG" border="0" height="531" width="464" /&gt;&lt;/p&gt;  &lt;p align="center"&gt;&lt;strong&gt;Figure: - Release Planning
&lt;/strong&gt;&lt;/p&gt;  &lt;p align="left"&gt;&lt;strong&gt;Iteration Planning
&lt;/strong&gt;&lt;/p&gt;  &lt;p align="left"&gt;Iteration planning is all about going deep in to every user story and breaking the same in to tasks. This phase can also be termed as detailing of every user story. Iteration planning is all about translating the user story in to task. Below are the steps in details for iteration planning:-

• User stories which need to be delivered in this iteration are broken down in to manageable tasks.
• Every task is then estimated. The result of the estimation is either ideal hours or task points (we will discuss about task point and ideal hours in the coming section).
• After the tasks are estimated we need to assign the task to developers. Each programmer picks a task and own responsibility to complete the task.
• Once he owns the responsibility he should estimate the same and commit to complete the same.
• In XP on any development task two developers should work. In this phase the developer makes partner of his choice for developing this task.
• In this phase we do designing of the task. We should not make lengthy and comprehensive design plans; rather it should be small and concentrated on the task. In traditional SDLC we have full devoted phase for designing and the output is a lengthy and complicated design document. One of the important characteristic of a software project is that as we come near execution we are clearer. So it’s best to prepare design just before execution.
• Now that you and your partner are familiar with the design plan its time to write a test plan. This is one of the huge differences as compared to original traditional SDLC. We first right the test plan and then start execution. Writing test plans before coding gives you a clear view of what is expected from the code.
• Once the test plan is completed its time to execute the code.
• In this phase we run the test plan and see that if all test plan pass.
• Nothing is perfect it has to be made perfect. Once you are done with coding, review the code to see if there is any scope of refactoring (Refactoring is explained in more depth in the coming sections).
• We the run the functional test to ensure everything is up to the mark.
&lt;/p&gt;  &lt;p align="center"&gt;&lt;img src="http://www.codeproject.com/KB/aspnet/AgilePart1/IterationPlanning.JPG" border="0" height="557" width="290" /&gt;&lt;/p&gt;  &lt;p align="center"&gt;&lt;strong&gt;Figure: - Iteration Planning
&lt;/strong&gt;&lt;/p&gt;  &lt;p align="left"&gt;One of the important points to realize is project is broken down in to set of releases  which is further analyzed using short user stories  user stories are further broken in to task ,which is estimated and executed by the developer. Once one release is done the next release is taken for delivery. For instance the below project shown in figure ‘Release, Stories and Task’ has two releases one and two.
&lt;/p&gt;  &lt;p align="center"&gt;&lt;img src="http://www.codeproject.com/KB/aspnet/AgilePart1/ReleaseStoriesandTasks.JPG" border="0" height="474" width="618" /&gt;&lt;/p&gt;  &lt;p align="center"&gt;&lt;strong&gt;Figure: - Release, Stories and Tasks
&lt;/strong&gt;&lt;/p&gt;  &lt;h3 align="left"&gt;&lt;a name="CanyouexplainhowplanninggameworksinExtremeProgramming"&gt;Can you explain how planning game works in Extreme Programming?&lt;/a&gt;
&lt;/h3&gt;  &lt;p align="left"&gt;The above question answers the question.
&lt;/p&gt;  &lt;h3 align="left"&gt;&lt;a name="HowdoweestimateinAgile"&gt;How do we estimate in Agile?&lt;/a&gt;
&lt;/h3&gt;  &lt;p align="left"&gt;If you read the Agile cycle carefully (explained in the previous section) you will see Agile estimation happens at two places.

&lt;strong&gt;• User Story Level Estimation: -&lt;/strong&gt; In this level a User story is estimated using Iteration Team velocity and the output is Ideal Man days or Story points.

&lt;strong&gt;• Task Level Estimation: -&lt;/strong&gt; This is a second level of estimation. This estimation is at the developer level according to the task assigned. This estimation ensures that the User story estimation is verified.

Estimation happens at two levels one when we take the requirement and one when we are very near to execution that’s at the task level. This looks very much logical because as we are very near to complete task estimation is more and more clear. So task level estimation just comes as a cross verification for user story level estimation.
&lt;/p&gt;  &lt;p align="center"&gt;&lt;img src="http://www.codeproject.com/KB/aspnet/AgilePart1/AgileEstimation.JPG" border="0" height="287" width="387" /&gt;&lt;/p&gt;  &lt;p align="center"&gt;&lt;strong&gt;Figure: - Agile Estimation
&lt;/strong&gt;&lt;/p&gt;  &lt;p align="center"&gt;&lt;strong&gt;User Story Level Estimation
&lt;/strong&gt;&lt;/p&gt;  &lt;p align="left"&gt;Estimation unit at user story in Agile is either “ideal days” or “Story points”.

&lt;strong&gt;Ideal days&lt;/strong&gt; are nothing but the actual time the developer spent or will spend on only coding. For instance attending phone calls, meetings, eating lunch and breakfast etc are not included in the ideal days. In old estimation technology we estimate eight hours as the complete time a developer will do coding. But actually a developer does not code continuously for eight hours, so the estimates can be very much wrong if we consider the full eight day hours.

Estimation units can also be represented in story points. &lt;strong&gt;Story Points&lt;/strong&gt; are abstract units given to represent the size of the story. In normal scenario one story point equals to one ideal day. Story point is a relative measure. If one story is one story point and the other is two story points that means the second story will take twice the effort as compared to the first story.

&lt;strong&gt;Velocity determination&lt;/strong&gt; defines how many user stories can be completed in one iteration. So first the user decides the length of the iteration. Length of iteration is decided depending on the release dates. Velocity is normally determined from history. So what ever was the last team history velocity same will be used in the further estimation. But if there is no history then the below formulae will be used:-
&lt;/p&gt;  &lt;p align="center"&gt;&lt;img src="http://www.codeproject.com/KB/aspnet/AgilePart1/VelocityDetermination.JPG" border="0" height="323" width="621" /&gt;&lt;/p&gt;  &lt;p align="center"&gt;&lt;strong&gt;Figure: - Velocity Determination
&lt;/strong&gt;&lt;/p&gt;  &lt;p align="left"&gt;There are two formulas in the above figure the first formula is used when we do not have history about the project and the second formulae is when we have a history of the iteration. Below are the details of all the parameters in the formulae:-

• Number of developers: - Total Number of developers in the iteration.
• Load factor: - This means how much productive time a developer will spend on the project. For instance if the load factor is 2 then developers are only 50% productive.
• How long is the iteration in business days: - One iteration is of how many man days.

Below figure ‘Iteration and Release calculation’ shows a simple sample with a team size of 5, load factor of 2, one iteration takes 11 business days and there two releases in the project.
&lt;/p&gt;  &lt;p align="center"&gt;&lt;img src="http://www.codeproject.com/KB/aspnet/AgilePart1/IterationandReleasecalculation.JPG" border="0" height="253" width="453" /&gt;&lt;/p&gt;  &lt;p align="center"&gt;&lt;strong&gt;Figure: - Iteration and Release calculation
&lt;/strong&gt;&lt;/p&gt;  &lt;p align="center"&gt;&lt;strong&gt;Task Level Estimation
&lt;/strong&gt;&lt;/p&gt;  &lt;p align="left"&gt;As the Agile cycle moves ahead user story is broken down in to task and assigned to each developer. Level of effort at the task level is a form of Task points or Ideal hours. Ideally one task point represents one ideal hour. Ideal hour is the time when developer spends only on coding and nothing else.

&lt;strong&gt;Individual Velocity determination&lt;/strong&gt; defines how many how many ideal hours a developer has within one iteration. Below figure ‘Individual Velocity Calculation’ shows in detail how to get the number of ideal hours in iteration for a developer. Below is a sample calculation which shows with 8 hours a day , iteration of 11 days and load factor of 2 ( i.e. developer code for only 50% time i.e. 4 hours) , we get 44 ideal hours for developer in that iteration.
&lt;/p&gt;  &lt;p align="center"&gt;&lt;img src="http://www.codeproject.com/KB/aspnet/AgilePart1/IndividualVelocityCalculation.JPG" border="0" height="169" width="495" /&gt;&lt;/p&gt;  &lt;p align="center"&gt;&lt;strong&gt;Figure: - Individual Velocity Calculation
&lt;/strong&gt;&lt;/p&gt;  &lt;h3 align="left"&gt;&lt;a name="OnWhatbasiscanstoriesbeprioritized"&gt;On What basis can stories be prioritized?&lt;/a&gt;
&lt;/h3&gt;  &lt;p align="left"&gt;User story should normally be prioritized from the business importance point of view. In real scenarios this is not the only criteria. Below are some of the factors to be accounted when prioritizing user stories:-

&lt;strong&gt;• Prioritize by business value: - &lt;/strong&gt;Business user assigns a value according to the business needs. There three level of ratings for business value:-
o &lt;strong&gt;Most important features: -&lt;/strong&gt; With out these features the software has no meaning.
o &lt;strong&gt;Important features: -&lt;/strong&gt; It’s important to have features. But if these features do not exist there are alternatives by which user can manage.
o&lt;strong&gt; Nice to have features: -&lt;/strong&gt; These features are not essential features but rather it’s over the top cream for the end user.
• &lt;strong&gt;Prioritize by risk: - &lt;/strong&gt;This factor helps us prioritize by risk from the development angle. Risk index is assigned from 0 to 2 and are classified in three main categories :-
o &lt;strong&gt;Completeness&lt;/strong&gt;
o &lt;strong&gt;Volatility &lt;/strong&gt;
o &lt;strong&gt;Complexity&lt;/strong&gt;

Below figure “Risk Index” shows the values and the classification accordingly.
&lt;/p&gt;  &lt;p align="center"&gt;&lt;img src="http://www.codeproject.com/KB/aspnet/AgilePart1/RiskIndex.JPG" border="0" height="312" width="735" /&gt;&lt;/p&gt;  &lt;p align="center"&gt;&lt;strong&gt;Figure: - Risk Index
&lt;/strong&gt;&lt;/p&gt;  &lt;h3 align="left"&gt;&lt;a name="CanyoupointoutsimpledifferencesbetweenAgileandtraditionalSDLC"&gt;Can you point out simple differences between Agile and traditional SDLC?&lt;/a&gt;
&lt;/h3&gt;  &lt;p align="left"&gt;Below figure “Agile and Traditional SDLC” points out some of the main differences. If you have worked practically on both these you can point out more differences.

• Lengthy requirement documents are now simple and short user stories.
• Estimation unit man days and man hours are now ideal days and ideal hours respectively.
• In traditional approach we freeze the requirement and complete the full design and then start coding. But in Agile we do designing task wise. So just before the developer starts a task he does design.
• In traditional SDLC we used always hear this voice ‘After signoff nothing can be changed’, in Agile we work for the customer, so we do accept changes.
• Unit test plans are written after coding or during coding in traditional SDLC. In Agile we write unit test plans before writing the code.
&lt;/p&gt;  &lt;p align="center"&gt;&lt;img src="http://www.codeproject.com/KB/aspnet/AgilePart1/AgileandTraditionalSDLC.JPG" border="0" height="357" width="435" /&gt;&lt;/p&gt;  &lt;p align="center"&gt;&lt;strong&gt;Figure: - Agile and Traditional SDLC&lt;/strong&gt;&lt;/p&gt;&lt;p style="text-align: left;"&gt;&lt;strong&gt;Credit goes to Orginal Poster : &lt;/strong&gt;&lt;b&gt;&lt;a id="ctl00_AboutAuthorRptr_ctl00_AboutAuthor_memberProfileLink" href="http://www.codeproject.com/Members/Shivprasad-koirala"&gt;Shivprasad koirala&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2918706867610266523-4346721050897933364?l=bennyindia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bennyindia.blogspot.com/feeds/4346721050897933364/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2918706867610266523&amp;postID=4346721050897933364' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2918706867610266523/posts/default/4346721050897933364'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2918706867610266523/posts/default/4346721050897933364'/><link rel='alternate' type='text/html' href='http://bennyindia.blogspot.com/2009/05/agile-common-faqs.html' title='Agile Common FAQs'/><author><name>Benedict Alphonse</name><uri>http://www.blogger.com/profile/06273740826562598488</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_47TBi7XxXXY/Sg2nBmAKJKI/AAAAAAAABbw/a6YHZHKfCBE/S220/IMG_0125_Edited11.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2918706867610266523.post-4679464695405403783</id><published>2009-05-15T19:51:00.000+05:30</published><updated>2009-05-15T19:55:23.039+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Agile'/><title type='text'>Agile Methodology - Best Practices</title><content type='html'>&lt;h2 style="font-family: verdana;"&gt;Introduction&lt;/h2&gt; &lt;p style="font-family: verdana;"&gt;The purpose of this article is to define a set of ideal practices for an agile software development project. The idea for this article came to me after discussing CMMI-type processes and realizing that there is no agile equivalent. I encourage you to leave comments about this article using the discussions module at the bottom of this page. Please note that the practices listed are the practices that I believe are essential to a good agile development project; they do not necessarily have anything to do with being agile. I have tried to list the practices in descending order of importance.&lt;/p&gt; &lt;h2 style="font-family: verdana;"&gt;Practice 1: Aggressive refactoring&lt;/h2&gt; &lt;p style="font-family: verdana;"&gt;In my opinion, refactoring is the most overlooked skill for a software developer. A well refactored application has a much higher value to the project sponsor than a poorly refactored application. The most common sign of code in need of refactoring is excessively long methods. I try to keep methods to less than 100 lines. Other common code smells are misleading or meaningless variable names, and code duplication. Static code analysis tools, such as FxCop, can provide a useful measure of code quality.&lt;/p&gt; &lt;h2 style="font-family: verdana;"&gt;Practice 2: Testing&lt;/h2&gt; &lt;p style="font-family: verdana;"&gt;Firstly, there should &lt;b&gt;be&lt;/b&gt; some developer testing. All the code that is written should be testable and should have tests written for it. It is acceptable to modify your program to facilitate good testing. I believe that the traditional testing terms; unit tests, integration tests and system tests have become outdated. Instead, I prefer the terms developer tests, functional tests and non-functional tests. Non-functional tests are things like performance testing, functional tests are tests that the customer cares about like use case tests or business transaction tests, and developer tests are everything else that the developer needs to test to prove to herself that the code is correct.&lt;/p&gt; &lt;p style="font-family: verdana;"&gt;We should automate as much testing as possible and run it as part of continuous integration. If code coverage analysis is included in the automated testing it provides a nice indication of the health of the system at any point of time.&lt;/p&gt; &lt;h2 style="font-family: verdana;"&gt;Practice 3: Automated build and deployment&lt;/h2&gt; &lt;p style="font-family: verdana;"&gt;The project should have an automated build, an automated deployment and ideally automated testing. In the optimal situation, a developer can click a button and the build process will build the latest source, deploy, test and report on the result. Automating these processes not only saves time but also eliminates a huge number of bugs and time wasters.&lt;/p&gt; &lt;h2 style="font-family: verdana;"&gt;Practice 4: Continuous integration&lt;/h2&gt; &lt;p style="font-family: verdana;"&gt;If a project has automated build, deployment and testing then continuous integration is really just a matter of automating the kick-off of that build, deploy test cycle. Every checkin should result in a new build and test, on a separate build server. The results of this should be reported to every team member and it should be an established team practice to immediately fix the build. A working build should be everyone's top priority. People should not be made to feel bad if they break the build, as this decreases their courage.&lt;/p&gt; &lt;h2 style="font-family: verdana;"&gt;Practice 5: Source control&lt;/h2&gt; &lt;p style="font-family: verdana;"&gt;A source control system should be used to store all project artifacts including: code, non-code documentation, build scripts, database schema and data scripts, and tests. The code should not be checked into the build until it compiles and passes its tests.&lt;/p&gt; &lt;h2 style="font-family: verdana;"&gt;Practice 6: Communication plan&lt;/h2&gt; &lt;p style="font-family: verdana;"&gt;There should be a defined, direct communication channel between the developers and the customers. This can be (best to worst): on demand face-to-face communication, daily or weekly face-face communication, contact phone numbers, instant messaging, email mailing list, intermediary (BA or PM). These communication channels can and should be combined.&lt;/p&gt; &lt;h2 style="font-family: verdana;"&gt;Practice 7: Task tracking&lt;/h2&gt; &lt;p style="font-family: verdana;"&gt;There should be a defined technique for recording and prioritizing development tasks and bugs. The system should make it possible to assign responsibility for tasks to individuals. If tasks are tracked against estimates then the estimate should be performed by the person who will do the task.&lt;/p&gt; &lt;h2 style="font-family: verdana;"&gt;Practice 8: Self documenting code&lt;/h2&gt; &lt;p style="font-family: verdana;"&gt;Code comments should be subjected to the same quality requirements as the code itself. Everything possible should be done to ensure that no other technical documentation is required. When non-code technical documentation is required it should be subject to the following restrictions: referenced from the code, always up-to-date (change when the code changes), only one version per baseline, stored in source control.&lt;/p&gt; &lt;h2 style="font-family: verdana;"&gt;Practice 9: Peer review&lt;/h2&gt; &lt;p style="font-family: verdana;"&gt;There must be some form of peer review, such as code review of fellow programmers. If the developers are subjected to performance reviews then the peer reviews they do should be an input to that process. This helps to avoid the temptation to approve everything to avoid confrontation. Make sure that the reviews are for quality, not just for correctness.&lt;/p&gt; &lt;h2 style="font-family: verdana;"&gt;Practice 10: Work-in-progress&lt;/h2&gt; &lt;p style="font-family: verdana;"&gt;A working version of the latest iteration should always be available for customer feedback. The advantage of this is that customers see very quickly when something has been developed contrary to what they had in mind. Shortening this feedback loop decreases the cost of change.&lt;/p&gt; &lt;h2 style="font-family: verdana;"&gt;Practice 11: Feedback mechanism&lt;/h2&gt; &lt;p style="font-family: verdana;"&gt;There should be a defined mechanism for project team members, including the customer, to provide feedback on the project's processes. My suggestion is to hold a short meeting at the end of each iteration.&lt;/p&gt;&lt;p style="font-family: verdana;"&gt;Credit goes to Orginal Poster : &lt;b&gt;&lt;a id="ctl00_AboutAuthorRptr_ctl00_AboutAuthor_memberProfileLink" href="http://www.codeproject.com/Members/Liam-McLennan"&gt;Liam McLennan&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2918706867610266523-4679464695405403783?l=bennyindia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bennyindia.blogspot.com/feeds/4679464695405403783/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2918706867610266523&amp;postID=4679464695405403783' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2918706867610266523/posts/default/4679464695405403783'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2918706867610266523/posts/default/4679464695405403783'/><link rel='alternate' type='text/html' href='http://bennyindia.blogspot.com/2009/05/agile-methodology-best-practices.html' title='Agile Methodology - Best Practices'/><author><name>Benedict Alphonse</name><uri>http://www.blogger.com/profile/06273740826562598488</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_47TBi7XxXXY/Sg2nBmAKJKI/AAAAAAAABbw/a6YHZHKfCBE/S220/IMG_0125_Edited11.jpg'/></author><thr:total>2</thr:total></entry></feed>
