<?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-2316872447148661582</id><updated>2012-01-23T21:37:34.827-08:00</updated><category term='C#'/><category term='PHP'/><category term='Web Development'/><category term='SEO'/><category term='SQL'/><category term='Multimedia'/><category term='WEB 2.0'/><category term='Javascript'/><category term='Web Security'/><category term='HTML'/><category term='Web Browsers'/><category term='Google API'/><category term='Windows Development'/><category term='Image Processing'/><category term='Social Networking'/><category term='Silverlight'/><category term='ASP.NET'/><category term='Blogging'/><title type='text'>Fresh Web Developer</title><subtitle type='html'>Web development, ASP.NET, PHP, Javscript, AJAX,&lt;br&gt; XHTML,  Web Services, MS SQL Server, C#.NET,
WCF, Silverlight</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://freshwebdeveloper.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2316872447148661582/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://freshwebdeveloper.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Amit Kekan</name><uri>http://www.blogger.com/profile/01943272049710032037</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://1.bp.blogspot.com/-Z3n5FM5plI0/TkJYJsx-tbI/AAAAAAAAAGY/L0wdzzV400k/s220/600full-kung-fu-panda-2-artwork.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>41</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2316872447148661582.post-5226434235238397234</id><published>2011-10-12T03:44:00.000-07:00</published><updated>2011-10-12T03:44:17.865-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>XML File Reading &amp; Writing - Simplified</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;span style="font-size: x-large;"&gt;Simple Example of Reading &amp;amp; Writing a xml file&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Sample XML File:&lt;br /&gt;&amp;lt;?xml version="1.0" encoding="utf-8"?&amp;gt;&lt;br /&gt;&amp;lt;Products&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;Product&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Id&amp;gt;1&amp;lt;/Id&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Name&amp;gt;Froyo&amp;lt;/Name&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Cost&amp;gt;10.50&amp;lt;/Cost&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;/Product&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;Product&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Id&amp;gt;2&amp;lt;/Id&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Name&amp;gt;Gingerbread&amp;lt;/Name&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Cost&amp;gt;20.60&amp;lt;/Cost&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;/Product&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;Product&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Id&amp;gt;3&amp;lt;/Id&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Name&amp;gt;Ice Cream Sandwich&amp;lt;/Name&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Cost&amp;gt;30.70&amp;lt;/Cost&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;/Product&amp;gt;&lt;br /&gt;&amp;lt;/Products&amp;gt;&lt;br /&gt;&lt;br /&gt;C# code to create such file:&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; XmlDocument doc = new XmlDocument();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; XmlDeclaration dec = doc.CreateXmlDeclaration("1.0", null, null);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; doc.AppendChild(dec);// Create the root element&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; XmlElement root = doc.CreateElement("Products");&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; doc.AppendChild(root);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //ProductList can be any collection or array etc&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach (product p1 in productList)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; XmlElement product = doc.CreateElement("Product");&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; XmlElement id = doc.CreateElement("Id");&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; id.InnerText = p1._id.ToString();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; XmlElement name = doc.CreateElement("Name");&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; name.InnerText = p1._name;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; XmlElement validation = doc.CreateElement("Validation");&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; validation.InnerText = p1._validation.ToString();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; product.AppendChild(id);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; product.AppendChild(name);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; product.AppendChild(validation);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; root.AppendChild(product);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string xmlOutput = doc.OuterXml;&lt;br /&gt;&lt;br /&gt;C# code to read such a file:&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (File.Exists(FilePath))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; XmlDocument doc = new XmlDocument();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; doc.Load(FilePath);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach (XmlNode node in doc.DocumentElement.SelectNodes("Product"))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int pid = Convert.ToInt32(node.SelectSingleNode("Id").InnerText);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string pname = node.SelectSingleNode("Name").InnerText;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; double cost= Convert.ToDouble(node.SelectSingleNode("Cost").InnerText);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;Short an simple....something to remember :)&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2316872447148661582-5226434235238397234?l=freshwebdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://freshwebdeveloper.blogspot.com/feeds/5226434235238397234/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2316872447148661582&amp;postID=5226434235238397234' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2316872447148661582/posts/default/5226434235238397234'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2316872447148661582/posts/default/5226434235238397234'/><link rel='alternate' type='text/html' href='http://freshwebdeveloper.blogspot.com/2011/10/xml-file-reading-writing-simplified.html' title='XML File Reading &amp; Writing - Simplified'/><author><name>Amit Kekan</name><uri>http://www.blogger.com/profile/01943272049710032037</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://1.bp.blogspot.com/-Z3n5FM5plI0/TkJYJsx-tbI/AAAAAAAAAGY/L0wdzzV400k/s220/600full-kung-fu-panda-2-artwork.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2316872447148661582.post-1890806097612121691</id><published>2011-06-05T23:31:00.000-07:00</published><updated>2011-06-05T23:33:09.941-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Windows Development'/><title type='text'>Windows App - Detecting Running Instance</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;strong&gt;Code to detect if an windows application instance is already running or not:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span style="font-family: Calibri;"&gt;static class Program&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;/// &lt;summary&gt;&lt;/summary&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;/// The main entry point for the application.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;/// &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;[STAThread]&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;static void Main()&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;if (IsPreviousInstanceRunning)&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;MessageBox.Show("Another instance of this application is already running...", "Application already running", MessageBoxButtons.OK, MessageBoxIcon.Information);&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;else&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Application.EnableVisualStyles();&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Application.SetCompatibleTextRenderingDefault(false);&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Application.Run(new frmMain());&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;private static bool IsPreviousInstanceRunning&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;get&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;// get the name of our process&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;string proc = Process.GetCurrentProcess().ProcessName;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;// get the list of all processes by that name&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Process[] processes = Process.GetProcessesByName(proc);&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;// if there is more than one process...&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;if (processes.Length &amp;gt; 1)&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;return true;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;return false;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;o:p&gt;&lt;span style="font-family: Calibri;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2316872447148661582-1890806097612121691?l=freshwebdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://freshwebdeveloper.blogspot.com/feeds/1890806097612121691/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2316872447148661582&amp;postID=1890806097612121691' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2316872447148661582/posts/default/1890806097612121691'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2316872447148661582/posts/default/1890806097612121691'/><link rel='alternate' type='text/html' href='http://freshwebdeveloper.blogspot.com/2011/06/windows-applications-detecting-already.html' title='Windows App - Detecting Running Instance'/><author><name>Amit Kekan</name><uri>http://www.blogger.com/profile/01943272049710032037</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://1.bp.blogspot.com/-Z3n5FM5plI0/TkJYJsx-tbI/AAAAAAAAAGY/L0wdzzV400k/s220/600full-kung-fu-panda-2-artwork.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2316872447148661582.post-9002121217717495410</id><published>2011-05-20T05:30:00.000-07:00</published><updated>2011-05-20T05:31:31.390-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Silverlight'/><title type='text'>Started learning Silverlight</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-z_VYOjuqze0/TdZd8ofSZpI/AAAAAAAAAGE/JTiizMukfV4/s1600/silverlight_h_web.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="129" src="http://3.bp.blogspot.com/-z_VYOjuqze0/TdZd8ofSZpI/AAAAAAAAAGE/JTiizMukfV4/s400/silverlight_h_web.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #38761d; font-size: x-large;"&gt;&lt;b&gt;Just when i figured out the keys to the door, they changed the lock!!!&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #38761d; font-size: x-large;"&gt;&lt;b&gt; &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #38761d; font-size: x-large;"&gt;&lt;b&gt;Yeah... I am still a Fresh Web Developer&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2316872447148661582-9002121217717495410?l=freshwebdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://freshwebdeveloper.blogspot.com/feeds/9002121217717495410/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2316872447148661582&amp;postID=9002121217717495410' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2316872447148661582/posts/default/9002121217717495410'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2316872447148661582/posts/default/9002121217717495410'/><link rel='alternate' type='text/html' href='http://freshwebdeveloper.blogspot.com/2011/05/silverlight.html' title='Started learning Silverlight'/><author><name>Amit Kekan</name><uri>http://www.blogger.com/profile/01943272049710032037</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://1.bp.blogspot.com/-Z3n5FM5plI0/TkJYJsx-tbI/AAAAAAAAAGY/L0wdzzV400k/s220/600full-kung-fu-panda-2-artwork.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-z_VYOjuqze0/TdZd8ofSZpI/AAAAAAAAAGE/JTiizMukfV4/s72-c/silverlight_h_web.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2316872447148661582.post-8372463111625045806</id><published>2011-05-16T04:42:00.000-07:00</published><updated>2011-05-16T04:42:30.366-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>Dynamic Stored Procedures</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;span style="font-size: x-large;"&gt;H&lt;/span&gt;ave you every felt the need to write a stored procedure that would be&amp;nbsp;modified at runtime?&lt;br /&gt;&lt;br /&gt;Well then let me show you how you can achieve this in SQL Server 2005 or upper version.&lt;br /&gt;&lt;br /&gt;First of all let me tell you about the scenario where i had to write such a stored procedure:&lt;br /&gt;Recently i was dealing with a large database (having more than 5 million records), and i had to provide the client with an option to search and filter data from a table with various search parameters in an asp.net web page. &lt;br /&gt;Now few of the parameters when combined together in the where clause of the search query worked fine without much delay (mostly integer columns), but some the text columns took really long time especially when combined together in the where clause. For instance:&lt;br /&gt;Query: select * from table 1 where&lt;br /&gt;personame ='' or&lt;br /&gt;cityid= '' or&lt;br /&gt;state='' .....&lt;br /&gt;&lt;br /&gt;In such a scenario i had to write an dynamic stored procedure which would accept parameters and form query according to the number of&amp;nbsp; paramters passed.&lt;br /&gt;&lt;br /&gt;Here is the stored procedure that i had wrote for fetching some patients information from an insurance database:&lt;br /&gt;&lt;br /&gt;ALTER procedure [dbo].[sp_GetEligibility]&amp;nbsp; &lt;br /&gt;(@Insured nvarchar(50)=null,@GroupKey nvarchar(50)=null,MAX_RESULTS nvarchar(50)=null )&lt;br /&gt;&amp;nbsp; &lt;br /&gt;AS&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; BEGIN&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if @MAX_RESULTS is null&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; begin&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; set @MAX_RESULTS=250&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; end&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DECLARE @SQL nvarchar(MAX)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DECLARE @SQLWhere nvarchar(MAX)&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; set @SQLWhere = ''&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; set @Insured = LTRIM(RTRIM(@Insured)) &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; set @GroupKey = LTRIM(RTRIM(@GroupKey)) &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (@Insured is not null And @Insured &amp;lt;&amp;gt; '')&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; begin &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; --set @SQLWhere = @SQLWhere + ' and (I.ssn LIKE ''%' + @Insured + '%'' ) '&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; set @SQLWhere = @SQLWhere + ' and (I.ssn LIKE ''%'' + @Insured + ''%'' ) '&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; end&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (@GroupKey is not null And @GroupKey = '')&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; begin&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; set @GroupKey = null &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; end &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Else if @GroupKey &amp;lt;&amp;gt; '0' &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; begin&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; --set @SQLWhere = @SQLWhere + ' and (E.fk_group = '+ @GroupKey + ')'&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; set @SQLWhere = @SQLWhere + ' and (E.fk_group =&amp;nbsp; @GroupKey )'&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; end &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; IF not (@Insured is null and @GroupKey is null)&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; BEGIN&amp;nbsp; &lt;br /&gt;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;Select @SQL ='Select TOP(' + @MAX_RESULTS + ') * from (' +&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'select TOP(' + @MAX_RESULTS + ') I.first_name,' +&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'R.Relationship,' +&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'I.last_name, ' +&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'I.SSN,' + &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'E.subscriber_id,' +&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'I.first_name + '' ''+ I.last_name as Names,' + &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'e.eff_date,' +&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'e.term_date,' + &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'G.group_name,' + &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'B.benefitPlan_name, ' +&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'convert(varchar,D.eff_date ,101) as dependEffDate,' +&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'convert(varchar,d.Term_date ,101)&amp;nbsp; as dependTermdate,' +&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'I.pk_insured,' +&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '(SELECT top 1 ' + &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '(' +&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; '&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;SELECT distinct(C.benefit_name + '', '')' +&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; '&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;FROM&amp;nbsp; EligibilityBenefitCodes B ' +&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; '&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;left join BenefitPlanCodes C on c.pk_benefitplancodes = B.fk_benefitplancodes' +&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; '&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;left join BenefitPlan BP on BP.pk_benefitplan= C.fk_benefitplan ' + &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; '&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;WHERE&amp;nbsp; C.pk_benefitplancodes = B.fk_benefitplancodes' +&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; '&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;and&amp;nbsp; B.fk_eligibility = E.pk_eligibility&amp;nbsp; FOR XML PATH('''')' +&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ' )' + &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ')AS TypeofCoverage ' +&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'from Eligibility E With(NOLOCK) ' +&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Inner Join Dependents D With(NOLOCK) ON e.fk_insured=D.fk_&lt;wbr&gt;&lt;/wbr&gt;insuredprimary ' +&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Inner Join Insured I With(NOLOCK) ON I.pk_insured=D.fk_&lt;wbr&gt;&lt;/wbr&gt;insuredDependent and E.fk_insured = I.pk_insured ' +&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Inner Join BenefitPlan B With(NOLOCK) ON E.fk_benefitplan=B.pk_&lt;wbr&gt;&lt;/wbr&gt;benefitplan ' +&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Inner Join Relation R With(NOLOCK) ON I.fk_relation=R.pk_relation ' +&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Inner Join [Group] G With(NOLOCK) ON E.fk_group = G.pk_group ' +&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'where e.eff_date &amp;lt;= getDate()&amp;nbsp; and E.IsArchived=0 ' +&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; @SQLWhere +&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ' UNION&amp;nbsp; ' + &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'select TOP(' + @MAX_RESULTS + ') I.first_name,R.Relationship,I.&lt;wbr&gt;&lt;/wbr&gt;last_name, I.SSN,&amp;nbsp; E.subscriber_id, ' +&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'I.first_name + '' ''+ I.last_name as Names, e.eff_date, ' +&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'e.term_date, G.group_name, B.benefitPlan_name, ' +&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'convert(varchar,D.eff_date ,101) as dependEffDate, ' +&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'convert(varchar,d.Term_date ,101)&amp;nbsp; as dependTermdate, ' +&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'I.pk_insured&amp;nbsp; , ' +&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '(SELECT top 1' +&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ' (&amp;nbsp; ' +&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '&amp;nbsp; SELECT distinct(C.benefit_name + '', '')' +&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'FROM&amp;nbsp; EligibilityBenefitCodes B ' +&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'left join BenefitPlanCodes C on c.pk_benefitplancodes = B.fk_benefitplancodes ' +&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'left join BenefitPlan BP on BP.pk_benefitplan= C.fk_benefitplan ' +&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'WHERE&amp;nbsp; C.pk_benefitplancodes = B.fk_benefitplancodes&amp;nbsp; and&amp;nbsp; B.fk_eligibility = E.pk_eligibility ' +&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ' FOR XML PATH('''') ' +&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '&amp;nbsp; )) AS BenefitCode ' +&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'from Eligibility E With(NOLOCK) ' +&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Inner Join Dependents D With(NOLOCK) ON e.fk_insured=D.fk_&lt;wbr&gt;&lt;/wbr&gt;insuredprimary ' +&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Inner Join Insured I With(NOLOCK) ON I.pk_insured=D.fk_&lt;wbr&gt;&lt;/wbr&gt;insuredDependent ' +&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Inner Join BenefitPlan B With(NOLOCK) ON E.fk_benefitplan=B.pk_&lt;wbr&gt;&lt;/wbr&gt;benefitplan ' +&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Inner Join Relation R With(NOLOCK) ON I.fk_relation=R.pk_relation ' +&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Inner Join [Group] G With(NOLOCK) ON E.fk_group = G.pk_group ' +&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'where&amp;nbsp; e.eff_date &amp;lt;= getDate()&amp;nbsp; and E.IsArchived=0 ' +&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; @SQLWhere +&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ')A&amp;nbsp; ' + &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; '&amp;nbsp; order by A.Relationship,A.first_name,A.&lt;wbr&gt;&lt;/wbr&gt;last_name desc'&amp;nbsp; &lt;br /&gt;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; --EXEC(@SQL)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; --For preventing SQL Injection use following method&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; EXEC sp_executesql @SQL, N'@Insured nvarchar(50),@GroupKey nvarchar(50)',@Insured,@&lt;wbr&gt;&lt;/wbr&gt;GroupKey&lt;br /&gt;&lt;br /&gt;&amp;nbsp; END&lt;br /&gt;&lt;br /&gt;END &lt;br /&gt;&lt;br /&gt;As you can see in this example, the stored procedure generates the sql query as string and at the end the parameters are passed to the generated final query.&lt;br /&gt;This is pretty much similar to the if else conditions that we used to write in code behind to generate a query.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2316872447148661582-8372463111625045806?l=freshwebdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://freshwebdeveloper.blogspot.com/feeds/8372463111625045806/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2316872447148661582&amp;postID=8372463111625045806' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2316872447148661582/posts/default/8372463111625045806'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2316872447148661582/posts/default/8372463111625045806'/><link rel='alternate' type='text/html' href='http://freshwebdeveloper.blogspot.com/2011/05/dynamic-stored-procedures.html' title='Dynamic Stored Procedures'/><author><name>Amit Kekan</name><uri>http://www.blogger.com/profile/01943272049710032037</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://1.bp.blogspot.com/-Z3n5FM5plI0/TkJYJsx-tbI/AAAAAAAAAGY/L0wdzzV400k/s220/600full-kung-fu-panda-2-artwork.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2316872447148661582.post-5634026214119661707</id><published>2010-09-06T10:10:00.000-07:00</published><updated>2010-09-06T10:10:55.660-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><title type='text'>IntelliSense &amp; Type Safety for Session Variables</title><content type='html'>&lt;span style="font-size: x-large;"&gt;K&lt;/span&gt;eeping track of your Session variables in ASP.NET can become a bit cumbersome task if you end up creating many variables across a large Web Application. Sometimes you might make common mistakes like misspelling the session variable name or at times end up with incorrect data types.&lt;br /&gt;&lt;br /&gt;I have found a very good solution for this problem which i use regularly in my ASP.NET applications. The solution is to use an "SessionHandler" class in your Application in which one creates properties to access the session variables. By this method we not only are able to access the Session variables through Visual Studio IntelliSense but also apply type safety to them.&lt;br /&gt;&lt;br /&gt;Here is an quick example of this class:&lt;br /&gt;&lt;br /&gt;&lt;style&gt;BODY { MARGIN: 8px}.LW-yrriRe { FONT: x-small arial}.MsoNormal { MARGIN: 0px}&lt;/style&gt;using System;&lt;br /&gt;using System.Data;&lt;br /&gt;using System.Configuration;&lt;br /&gt;using  System.Web;&lt;br /&gt;using System.Web.Security;&lt;br /&gt;using System.Web.UI;&lt;br /&gt;using  System.Web.UI.WebControls;&lt;br /&gt;using  System.Web.UI.WebControls.&lt;wbr&gt;&lt;/wbr&gt;WebParts;&lt;br /&gt;using  System.Web.UI.HtmlControls;&lt;br /&gt;/*&lt;br /&gt;&amp;nbsp;* &lt;br /&gt;&amp;nbsp;File Name :  SessionHandler.cs&lt;br /&gt;&amp;nbsp;Class Name: SessionHandler&lt;br /&gt;&amp;nbsp;Summary&amp;nbsp;&amp;nbsp; : This  class is used to handle the session variables and keep a track of them using the  &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SessionHandler class object. &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Advantage is that  these variables are shown in VS Intellisense.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; And we can also  implement type safety.&lt;br /&gt;&amp;nbsp;* &lt;br /&gt;&amp;nbsp;*/&lt;br /&gt;public static class  SessionHandler&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  //////////////////////////////&lt;wbr&gt;&lt;/wbr&gt;//////////////////////////////&lt;wbr&gt;&lt;/wbr&gt;//////////////////////////////&lt;wbr&gt;&lt;/wbr&gt;/&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  private static string _UserKey = "UserKey";&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private static string  _Username = "Username";&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  private static string _LoginType = "LoginType";&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  //////////////////////////////&lt;wbr&gt;&lt;/wbr&gt;//////////////////////////////&lt;wbr&gt;&lt;/wbr&gt;//////////////////////////////&lt;wbr&gt;&lt;/wbr&gt;/&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  public static string UserKey&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; get&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  object obj =  HttpContext.Current.Session[&lt;wbr&gt;&lt;/wbr&gt;SessionHandler._UserKey];&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if  (obj == null)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return  string.Empty;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return obj.ToString();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  HttpContext.Current.Session[&lt;wbr&gt;&lt;/wbr&gt;SessionHandler._UserKey] = value;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  //////////////////////////////&lt;wbr&gt;&lt;/wbr&gt;//////////////////////////////&lt;wbr&gt;&lt;/wbr&gt;//////////////////////////////&lt;wbr&gt;&lt;/wbr&gt;/&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  public static string LoginType&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; get&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; object obj =  HttpContext.Current.Session[&lt;wbr&gt;&lt;/wbr&gt;SessionHandler._LoginType];&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  if (obj == null)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return  string.Empty;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return obj.ToString();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  HttpContext.Current.Session[&lt;wbr&gt;&lt;/wbr&gt;SessionHandler._LoginType] = value;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  //////////////////////////////&lt;wbr&gt;&lt;/wbr&gt;//////////////////////////////&lt;wbr&gt;&lt;/wbr&gt;//////////////////////////////&lt;wbr&gt;&lt;/wbr&gt;/&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  public static string Username&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; get&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; object obj =  HttpContext.Current.Session[&lt;wbr&gt;&lt;/wbr&gt;SessionHandler._Username];&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  if (obj == null)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return  string.Empty;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return obj.ToString();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  HttpContext.Current.Session[&lt;wbr&gt;&lt;/wbr&gt;SessionHandler._Username] = value;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Please Note:&lt;/b&gt; You need to add this class file to your AppCode folder in your Web Application.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2316872447148661582-5634026214119661707?l=freshwebdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://freshwebdeveloper.blogspot.com/feeds/5634026214119661707/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2316872447148661582&amp;postID=5634026214119661707' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2316872447148661582/posts/default/5634026214119661707'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2316872447148661582/posts/default/5634026214119661707'/><link rel='alternate' type='text/html' href='http://freshwebdeveloper.blogspot.com/2010/09/intellisense-type-safety-for-session.html' title='IntelliSense &amp; Type Safety for Session Variables'/><author><name>Amit Kekan</name><uri>http://www.blogger.com/profile/01943272049710032037</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://1.bp.blogspot.com/-Z3n5FM5plI0/TkJYJsx-tbI/AAAAAAAAAGY/L0wdzzV400k/s220/600full-kung-fu-panda-2-artwork.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2316872447148661582.post-6008860005495596201</id><published>2010-06-06T09:05:00.000-07:00</published><updated>2010-06-06T09:07:26.638-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Windows Development'/><title type='text'>Working On Windows Application</title><content type='html'>&lt;span style="font-size: x-large;"&gt;W&lt;/span&gt;eb to Windows Application shift was not something i was hoping for when i stared with ASP.NET.&lt;br /&gt;But as it turns around i got a Good Domain "Medical Insurance" to work on, and so i readily accepted the challange. &lt;br /&gt;Been busy eversince last 4 months.&lt;br /&gt;Hey it does get boring at times but just look at the good things i got to learn...&lt;br /&gt;&lt;br /&gt;1.Large database handling techniques!!&lt;br /&gt;2.Really improved my SQL Server knowledge and skills.&lt;br /&gt;3.Learnt a lot more about Crystal Reports and Windows Application.&lt;br /&gt;4.Got to know how to communicate with clients (USA). And loving it!&lt;br /&gt;5.Really learnt how to work in a shared environment, using source safe, communicating with developers across the globe, coding standards etc etc.&lt;br /&gt;&lt;br /&gt;So all in all its a great addition to my Resume!&lt;br /&gt;&lt;br /&gt;And now the Best Part is that we are implementing the same functionality on a Web Portal as well. &lt;br /&gt;Ain't that great!!&lt;br /&gt;&lt;br /&gt;ASP.NET here i come again!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2316872447148661582-6008860005495596201?l=freshwebdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://freshwebdeveloper.blogspot.com/feeds/6008860005495596201/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2316872447148661582&amp;postID=6008860005495596201' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2316872447148661582/posts/default/6008860005495596201'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2316872447148661582/posts/default/6008860005495596201'/><link rel='alternate' type='text/html' href='http://freshwebdeveloper.blogspot.com/2010/06/working-on-windows-application.html' title='Working On Windows Application'/><author><name>Amit Kekan</name><uri>http://www.blogger.com/profile/01943272049710032037</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://1.bp.blogspot.com/-Z3n5FM5plI0/TkJYJsx-tbI/AAAAAAAAAGY/L0wdzzV400k/s220/600full-kung-fu-panda-2-artwork.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2316872447148661582.post-4278536130815438164</id><published>2010-04-01T07:48:00.000-07:00</published><updated>2010-04-01T08:07:55.437-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><title type='text'>Web 2.0 pop-up dialog using Ajax Control Toolkit</title><content type='html'>&lt;span style="font-size: x-large;"&gt;T&lt;/span&gt;ired of using the old boring Windows Xp style JavaScript pop-ups to get user confirmation on a web page?&lt;br /&gt;&lt;br /&gt;&amp;nbsp;Then you have come to the right place cause i will just show you how easy it is to create a customized Vista type confirm dialog using the Ajax Control Toolkit and ASP.NET 2.0 or greater.&lt;br /&gt;&lt;br /&gt;There's absolutely no need to know any hard core JavaScript here !!&lt;br /&gt;&lt;br /&gt;So here are the steps:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Step 1: Install the Ajax Control Toolkit on your machine if&amp;nbsp; already not done. Start your web application and add the Ajax Control Toolkit dll to your bin folder.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Step 2: Include the following&amp;nbsp; the reference on your page&lt;br /&gt;&lt;br /&gt;&amp;lt;%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="cc1" %&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Alternative if you have configured your Toolbox then simply ignore the step 1,2 and go directly to step 3.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Step 3: Now you would require to add a asp:Panel on your page that will hold the HTML required for the popup screen.&amp;nbsp; ex:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;asp:Panel ID="PanelDeleteAlert" runat="server" CssClass="confirmBox"&lt;br /&gt;Style="display: none;width: 300px;"&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;div id="confirmHeader"&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;span&amp;gt;Confirm&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;div id="confirmMsg" align="center"&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;div class="rowdiv"&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;div class="celldiv"&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;img src="../images/confirm.gif" alt="" /&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;div class="celldiv"&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;span&amp;gt;Delete&amp;lt;asp:Label ID="lblDeleteName"&lt;br /&gt;runat="server" Font-Bold="true" Text="Do you want to delete this?"&amp;gt;&amp;lt;/asp:Label&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; from contact list?&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/div&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/div&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;div id="confirmButtons"&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;asp:Button ID="ButtonOk2" runat="server" Text="OK"&lt;br /&gt;CssClass="button" /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;asp:Button ID="ButtonCancel2" runat="server"&lt;br /&gt;Text="Cancel" CssClass="button" /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/div&amp;gt;&lt;br /&gt;&amp;lt;/asp:Panel&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Step 4: Now you need a LinkButton/Button on who's click you need to show the pop-up, an ConfirmButtonExtender &amp;amp; an ModalPopupExtenderfrom from Toolkit. Configure these as follows:&lt;br /&gt;&lt;br /&gt;&amp;lt;div style="float: right"&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;asp:LinkButton ID="butDelete" OnClick="butDelete_Click"&lt;br /&gt;runat="server" CssClass="linktext"&amp;nbsp; Text="Delete Contact"&amp;gt;&amp;lt;/asp:LinkButton&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;cc1:ConfirmButtonExtender ID="ConfirmButtonExtender2"&lt;br /&gt;runat="server" TargetControlID="butDelete"&amp;nbsp; ConfirmText="Do you want to delete this&lt;br /&gt;contact?" DisplayModalPopupID="ModalPopupExtender2" Enabled="True"&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/cc1:ConfirmButtonExtender&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;cc1:ModalPopupExtender ID="ModalPopupExtender2"&lt;br /&gt;runat="server" TargetControlID="butDelete"&amp;nbsp; PopupControlID="PanelDeleteAlert"&lt;br /&gt;OkControlID="ButtonOk2" CancelControlID="ButtonCancel2" BackgroundCssClass="modalBackground" /&amp;gt;&lt;br /&gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&lt;br /&gt;Step 5: You need to create proper CSS for the Panel and&amp;nbsp; for the background when the Pop-up is open. You can use your imagination for designing the Panel and for the Background you can use the following CSS&lt;br /&gt;&lt;br /&gt;/*Modal Popup*/&lt;br /&gt;&lt;br /&gt;.modalBackground {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; background-color:Gray;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; filter:alpha(opacity=70);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; opacity:0.7;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;.modalPopup {&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; background-color:#ffffdd;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; border-width:3px;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; border-style:solid;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; border-color:Gray;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; padding:3px;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; width:250px;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Step 6: That's it go ahead and test your application&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;So as you can see using your own imagination and some good CSS techniques , you can come up with a really neat looking confirmation dialog!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2316872447148661582-4278536130815438164?l=freshwebdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://freshwebdeveloper.blogspot.com/feeds/4278536130815438164/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2316872447148661582&amp;postID=4278536130815438164' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2316872447148661582/posts/default/4278536130815438164'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2316872447148661582/posts/default/4278536130815438164'/><link rel='alternate' type='text/html' href='http://freshwebdeveloper.blogspot.com/2010/04/creating-fancy-popup-confirmation.html' title='Web 2.0 pop-up dialog using Ajax Control Toolkit'/><author><name>Amit Kekan</name><uri>http://www.blogger.com/profile/01943272049710032037</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://1.bp.blogspot.com/-Z3n5FM5plI0/TkJYJsx-tbI/AAAAAAAAAGY/L0wdzzV400k/s220/600full-kung-fu-panda-2-artwork.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2316872447148661582.post-1503363765282504536</id><published>2009-06-14T10:48:00.000-07:00</published><updated>2009-06-17T10:40:08.403-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>Encrypt Sensitive Data in SQL Server 2005</title><content type='html'>&lt;span style="font-weight: bold;font-size:180%;" &gt;S&lt;/span&gt;QL Server 2005 provides easier functions for encrypting and decrypting user sensitive information such as credit card numbers or bank account details, so as to deter any hacking attempts.&lt;br /&gt;&lt;br /&gt;Data encryption in SQL Server 2005 can be done either by using password mechanism or by making use of keys and certificates. These methods are as follows:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;1.Encryption by PassPhrase&lt;/span&gt;&lt;br /&gt;This is a simple method in which we use the SQL method EncryptByPassPhrase('&lt;span style="font-style: italic;"&gt;password&lt;/span&gt;','&lt;span style="font-style: italic;"&gt;original_value&lt;/span&gt;')  with our insert,update,select queries.&lt;br /&gt;&lt;br /&gt;For an example suppose we have a table named user_info with the  column named credit_card_no (varchar)  in which we have to stored the encrypted credit card no then the query would be as follows:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 102, 0);"&gt;Update  user_info set credit_card_no=EncryptByPassPhrase('&lt;/span&gt;&lt;span style="font-style: italic; font-weight: bold; color: rgb(0, 102, 0);"&gt;password&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 102, 0);"&gt;',@credit_card_no);&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;where &lt;span style="font-weight: bold; font-style: italic;"&gt;password&lt;/span&gt; is the key used to generate the encrypted value.&lt;br /&gt;The same key is used to decrypt the credit_card_no as follows:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 102, 0);"&gt;Select DecryptByPassPhrase('&lt;/span&gt;&lt;span style="font-style: italic; font-weight: bold; color: rgb(0, 102, 0);"&gt;password&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 102, 0);"&gt;',credit_card_no) as decrypted_no from user_info.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 0, 0);"&gt;Note&lt;/span&gt;:The &lt;span style="font-style: italic;"&gt;password&lt;/span&gt; has to be protected and remembered by the programmer. Hence can be vulnerable.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;2.Encryption by Keys               &lt;br /&gt;&lt;/span&gt;&lt;br /&gt;The limitation of encryption by passphrase method is that we have to supply the password each time the data has to be accessed. But if we encrypt our symmetric key with a certificate then we won't have to pass the passphrase each time. To create a key or its certificate, we must first create or open the master key for the database.&lt;br /&gt;The following command creates a master key:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 102, 0);"&gt;create master key encryption by password='&lt;/span&gt;&lt;span style="font-style: italic; font-weight: bold; color: rgb(0, 102, 0);"&gt;password&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 102, 0);"&gt;';&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Now we can create a certificate and then a symmetric key that is attached to that certificate. The following SQL script creates the certificate 'DemoCert' and a key 'DemoKey' associated with that certificate:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 102, 0);"&gt;create certificate DemoCert with subject='Demo Certificate;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 102, 0);"&gt;create symmetric key DemoKey with algorithm=AES_256 encryption by certificate DemoCert;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Now that we possess a key we can do encryption using the EncryptByKey()  method and considering the previous table user_info as follows:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 102, 0);"&gt;open symmetric key DemoKey decryption by certificate DemoCert;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 102, 0);"&gt;update user_info set credit_card_no=EncryptByKey(Key_GUID('DemoKey'),@credit_card_no);&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Similarly we can decrypt it as follows:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 102, 0);"&gt;open symmetric key DemoKey decryption by certificate DemoCert;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 102, 0);"&gt;select cast(DecryptByKey(credit_card_no)  as varchar(16))  as  decrypted_no from user_info;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This is a lenghty method but is very secure as we do not have to pass the&lt;span style="font-style: italic;"&gt; password&lt;/span&gt; for the process of encryption/decryption.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;So this is one advance features of SQL Server 2005 that not many of us use. But it can surely come in handy when dealing with large user database that requires some security features!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2316872447148661582-1503363765282504536?l=freshwebdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://freshwebdeveloper.blogspot.com/feeds/1503363765282504536/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2316872447148661582&amp;postID=1503363765282504536' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2316872447148661582/posts/default/1503363765282504536'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2316872447148661582/posts/default/1503363765282504536'/><link rel='alternate' type='text/html' href='http://freshwebdeveloper.blogspot.com/2009/06/encrypt-sensitive-data-in-sql-server.html' title='Encrypt Sensitive Data in SQL Server 2005'/><author><name>Amit Kekan</name><uri>http://www.blogger.com/profile/01943272049710032037</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://1.bp.blogspot.com/-Z3n5FM5plI0/TkJYJsx-tbI/AAAAAAAAAGY/L0wdzzV400k/s220/600full-kung-fu-panda-2-artwork.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2316872447148661582.post-8394054594358316050</id><published>2009-06-03T08:54:00.000-07:00</published><updated>2010-01-17T02:33:02.034-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><title type='text'>Directory, Files Listing using GridView</title><content type='html'>&lt;span style="font-size:180%;"&gt;&lt;span style="font-weight: bold;"&gt;Web Hosting Control Panel Type Directory Listing!!&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:180%;"&gt;&lt;span style="font-weight: bold;"&gt;H&lt;/span&gt;&lt;/span&gt;ave you ever seen a Control Panel provided for a web hosting account?  Notice the way they use, to show all the files and folders inside your sites folders? Well just in case you were wondering how to do the same using ASP.NET 2.0 then let me tell you that i have achieved the same using quiet a simple technique that i found Googling around!&lt;br /&gt;&lt;br /&gt;The following piece of code demonstrated how by using the System.IO namespace and the ASP.NET 2.0 GridView,  we can achieve the task of folder/files listing very easily........&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;ASPX Page:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="true" /&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;asp:GridView ID="GridView2" runat="server" AutoGenerateColumns="true" /&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Code Behind:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;protected void page_load()&lt;br /&gt;{&lt;br /&gt; ListFolder();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;protected void ListFolder()&lt;br /&gt;{&lt;br /&gt;  string basepath="~/myfolder";&lt;br /&gt; DirectoryInfo  dirInfo = new DirectoryInfo(Server.MapPath(basepath));&lt;br /&gt;&lt;br /&gt; //For All Files&lt;br /&gt; FileInfo[]   fileInfo = dirInfo.GetFiles("*.*",SearchOptions.AllDirectories);&lt;br /&gt;&lt;br /&gt;//For All Subdirectories&lt;br /&gt; DirectoryInfo[]  subDirInfo = dirInfo.GetDirectories("*.*",AllDirectories);&lt;br /&gt;&lt;br /&gt; GridView1.DataSource = fileInfo;&lt;br /&gt; GridView1.DataBind();&lt;br /&gt;&lt;br /&gt; GridView2.DataSource = subDirInfo;&lt;br /&gt; GridView2.DataBind();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;As you can see this method takes very little code and you can even customize it to provide delete functionality. Furthermore by combining the files and folders dataset we can achieve a complete directory listing.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2316872447148661582-8394054594358316050?l=freshwebdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://freshwebdeveloper.blogspot.com/feeds/8394054594358316050/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2316872447148661582&amp;postID=8394054594358316050' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2316872447148661582/posts/default/8394054594358316050'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2316872447148661582/posts/default/8394054594358316050'/><link rel='alternate' type='text/html' href='http://freshwebdeveloper.blogspot.com/2009/06/directory-files-listing-using-aspnet-20.html' title='Directory, Files Listing using GridView'/><author><name>Amit Kekan</name><uri>http://www.blogger.com/profile/01943272049710032037</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://1.bp.blogspot.com/-Z3n5FM5plI0/TkJYJsx-tbI/AAAAAAAAAGY/L0wdzzV400k/s220/600full-kung-fu-panda-2-artwork.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2316872447148661582.post-3520007639665789953</id><published>2009-05-17T09:24:00.000-07:00</published><updated>2009-05-17T09:56:16.084-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><title type='text'>Free Shopping Cart Solutions</title><content type='html'>&lt;span style="font-weight: bold;font-size:180%;" &gt;Free Shopping Carts - OsCommerce, Cre Loaded, Magento&lt;/span&gt;....&lt;br /&gt;Its been days since i have return my last post. I was kept really busy by my  employer. To be honest i was also a bit lazy in thinking of something new for my blog.&lt;br /&gt;None of the less i spent a lot of my recent time working on free Shopping Cart Applications.&lt;br /&gt;&lt;br /&gt;There are some really interesting points that i would like to share about these Apps.&lt;br /&gt;First of all the very thing that came to my mind is that "&lt;span style="font-weight: bold;"&gt;If people are providing good free software on the internet then what will happen to us hard working Software Developers&lt;/span&gt;".&lt;br /&gt;&lt;br /&gt;To back up my thoughts i would like to press the points that these free Shopping Cart solutions provide a great bit of functionality, something that would take a lot of time to build from the scratch. Also the communities are pretty active and provide further customization support.&lt;br /&gt;A few of their cool features include.&lt;br /&gt;1.CMS support&lt;br /&gt;2.Paypal ,  Authorize.Net etc payment modules.&lt;br /&gt;3.FedEx , UPS, UPSC etc shipping modules.&lt;br /&gt;4.Multilingual Suppport.&lt;br /&gt;5.Multi Store Support (Magento)&lt;br /&gt;6. And off course great catalog support&lt;br /&gt;&lt;br /&gt;The sad part for me was that the only major thing that i was doing is understanding the structure, design integration and bug solving!!&lt;br /&gt;&lt;br /&gt;There were times when i was really scratching my brains trying to search solution to a simple problem and just couldn't find it. Yes and &lt;span style="font-weight: bold; color: rgb(255, 0, 0);"&gt;Magento&lt;/span&gt; was the one to be blamed!!!&lt;br /&gt;&lt;br /&gt;But the fact that not may people are aware of these Free Applications (yes these people are the  end clients), having knowledge of customizing them can really be very handy.&lt;br /&gt;&lt;br /&gt;Here's a short rating of the apps based on my experience of handling them:&lt;br /&gt;1.&lt;span style="font-weight: bold;"&gt;CRE Loaded&lt;/span&gt; - Great out of the box and easy to setup, tech support&lt;br /&gt;2.&lt;span style="font-weight: bold;"&gt;Magento&lt;/span&gt; - Huge functionality provided but takes ages to understand and setup due to overly streched mechanism. Also functions really &lt;span style="font-weight: bold;"&gt;Slowly&lt;/span&gt;(and i mean really slowly compared to any PHP site)&lt;br /&gt;3.&lt;span style="font-weight: bold;"&gt;Oscommerce&lt;/span&gt; - Base version of cre loaded. Needs lot of customization.&lt;br /&gt;4.&lt;span style="font-weight: bold;"&gt;Joomla-Virtue Mart&lt;/span&gt; - Has the power of Joomla with it. Good for setting up small store.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2316872447148661582-3520007639665789953?l=freshwebdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://freshwebdeveloper.blogspot.com/feeds/3520007639665789953/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2316872447148661582&amp;postID=3520007639665789953' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2316872447148661582/posts/default/3520007639665789953'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2316872447148661582/posts/default/3520007639665789953'/><link rel='alternate' type='text/html' href='http://freshwebdeveloper.blogspot.com/2009/05/free-shopping-carts-oscommerce-cre.html' title='Free Shopping Cart Solutions'/><author><name>Amit Kekan</name><uri>http://www.blogger.com/profile/01943272049710032037</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://1.bp.blogspot.com/-Z3n5FM5plI0/TkJYJsx-tbI/AAAAAAAAAGY/L0wdzzV400k/s220/600full-kung-fu-panda-2-artwork.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2316872447148661582.post-1816874942733428566</id><published>2009-02-28T08:51:00.000-08:00</published><updated>2009-02-28T09:19:56.213-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Multimedia'/><title type='text'>Windows Media Service</title><content type='html'>&lt;span style="font-size:180%;"&gt;&lt;span style="font-weight: bold;"&gt;Windows Media Services For Website&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Well its been some time since i have updated my blog, i had my own reasons. Any way this is something that i was working on this month.&lt;br /&gt;&lt;br /&gt; My main goal was to create a live audio/video broadcast over the internet and show it on  my web page.&lt;br /&gt;&lt;br /&gt;Well i searched high and low over the internet and the best possible solution that i found was the Windows Media Services!&lt;br /&gt;&lt;br /&gt;Yes! Its very simple to setup and not much programing need. All you need is a web server(can even be your own system), the Windows Media Encoder software and a Web page with a media player that plays the audio-video stream.&lt;br /&gt;&lt;br /&gt;You can loads of info on setting up the Windows Media Encoder on the internet.&lt;br /&gt;Now the HTML required for setting up the Active X media player control on your web page is as follows:&lt;br /&gt;&lt;br /&gt;&amp;lt;object ID="MediaPlayer" WIDTH="320" HEIGHT="270"&lt;br /&gt;CLASSID="CLSID:22D6f312-B0F6-11D0-94AB-0080C74C7E95" STANDBY="Loading&lt;br /&gt;Windows Media Player components..." TYPE="application/x-oleobject"&lt;br /&gt;CODEBASE="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=6,4,7,1112"&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;param name="autoStart" value="True"&amp;gt;&lt;br /&gt;&amp;lt;param name="filename" value="http://myserver.mystream.com:1121"&amp;gt;&lt;br /&gt;&amp;lt;param NAME="ShowControls" VALUE="False"&amp;gt;&lt;br /&gt;&amp;lt;param NAME="ShowStatusBar" VALUE="False"&amp;gt;&lt;br /&gt;&amp;lt;embed TYPE="application/x-mplayer2" SRC="myserver.mystream.com:1121"&lt;br /&gt;NAME="MediaPlayer" WIDTH="320" HEIGHT="270" autostart="1"&lt;br /&gt;showcontrols="0"&amp;gt;&lt;br /&gt;&amp;lt;/embed&amp;gt;&lt;br /&gt;&amp;lt;/object&amp;gt;&lt;br /&gt;&lt;br /&gt;Please note that the address:" myserver.mystream.com:1121" is generated by the media encoder software based on the Web Server  and the network port(1121) you select for broadcasting!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2316872447148661582-1816874942733428566?l=freshwebdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://freshwebdeveloper.blogspot.com/feeds/1816874942733428566/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2316872447148661582&amp;postID=1816874942733428566' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2316872447148661582/posts/default/1816874942733428566'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2316872447148661582/posts/default/1816874942733428566'/><link rel='alternate' type='text/html' href='http://freshwebdeveloper.blogspot.com/2009/02/windows-media-service.html' title='Windows Media Service'/><author><name>Amit Kekan</name><uri>http://www.blogger.com/profile/01943272049710032037</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://1.bp.blogspot.com/-Z3n5FM5plI0/TkJYJsx-tbI/AAAAAAAAAGY/L0wdzzV400k/s220/600full-kung-fu-panda-2-artwork.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2316872447148661582.post-7805283684817354701</id><published>2009-01-12T08:08:00.000-08:00</published><updated>2009-01-12T08:50:40.363-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Social Networking'/><category scheme='http://www.blogger.com/atom/ns#' term='WEB 2.0'/><title type='text'>Discovering Twitter</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_GM-4KdVAthw/SWtzC-RsTdI/AAAAAAAAAEs/ey-mwDCBWPM/s1600-h/twitter_logo_s.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 175px; height: 41px;" src="http://1.bp.blogspot.com/_GM-4KdVAthw/SWtzC-RsTdI/AAAAAAAAAEs/ey-mwDCBWPM/s400/twitter_logo_s.png" alt="" id="BLOGGER_PHOTO_ID_5290448682190917074" border="0" /&gt;&lt;/a&gt;&lt;span style="font-weight: bold;font-size:180%;" &gt;T&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;witter&lt;/span&gt; as we all know is the latest buzz word talked about over the Internet. For those who don't know Twitter is a free &lt;span style="font-weight: bold;"&gt;social networking&lt;/span&gt;  service that allows its users to send and read other users' updates (otherwise known as &lt;b&gt;tweets&lt;/b&gt;). You can read a hell lot about it on &lt;a href="http://en.wikipedia.org/wiki/Twitter" target="_blank"&gt;Wikipedia&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Excited and eager to check out this new website i immediately created and account and started tweeting(&lt;a href="http://twitter.com/amitkekan" target="_blank"&gt;Check Out here&lt;/a&gt;).  Guess what Twitter even has big celebrities like &lt;a href="http://twitter.com/britneyspears" target="_blank"&gt;Britney Spears&lt;/a&gt; and popular people like the new US President &lt;a href="http://twitter.com/BarackObama" target="_blank"&gt;Barak Obama&lt;/a&gt; having their own Twitter account(i don't think they actually post there though) which were recently Hacked!!&lt;br /&gt;&lt;br /&gt;Initially i found the idea of tweeting quiet original and unique. But as with many things it soon got boring. The fact that i had to get people to follow me in order to view their tweets and updates is just so repeating   procedure. Even most of my friends didn't reply to the invitations that i sent. For many people are getting tired of Social Networking sites.&lt;br /&gt;&lt;br /&gt;But to be honest i was quiet disappointed !&lt;br /&gt;&lt;br /&gt;Eventually i have discovered a good use of Twitter and that's using it to promote your site/blog and following some famous, geeky, new  etc etc people!&lt;br /&gt;Lets see if twitter can be the next big  thing on the WEB especially since it has competitions like MySpace, Facebook &amp;amp; Orkut.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2316872447148661582-7805283684817354701?l=freshwebdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://freshwebdeveloper.blogspot.com/feeds/7805283684817354701/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2316872447148661582&amp;postID=7805283684817354701' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2316872447148661582/posts/default/7805283684817354701'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2316872447148661582/posts/default/7805283684817354701'/><link rel='alternate' type='text/html' href='http://freshwebdeveloper.blogspot.com/2009/01/discovering-twitter.html' title='Discovering Twitter'/><author><name>Amit Kekan</name><uri>http://www.blogger.com/profile/01943272049710032037</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://1.bp.blogspot.com/-Z3n5FM5plI0/TkJYJsx-tbI/AAAAAAAAAGY/L0wdzzV400k/s220/600full-kung-fu-panda-2-artwork.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_GM-4KdVAthw/SWtzC-RsTdI/AAAAAAAAAEs/ey-mwDCBWPM/s72-c/twitter_logo_s.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2316872447148661582.post-949695373956543189</id><published>2009-01-07T08:22:00.000-08:00</published><updated>2009-05-17T09:53:04.552-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Blogging'/><title type='text'>Re Thinking Blogging Strategy ??</title><content type='html'>&lt;span style="font-weight: bold;font-size:180%;" &gt;W&lt;/span&gt;hen i started blogging, I had a mission in my mind and it was to make &lt;span style="font-weight: bold; color: rgb(0, 153, 0);"&gt;$&lt;/span&gt; money &lt;span style="font-weight: bold; color: rgb(0, 153, 0);"&gt;$&lt;/span&gt;....some really good &lt;span style="font-weight: bold; color: rgb(0, 153, 0);"&gt;$&lt;/span&gt; money &lt;span style="font-weight: bold; color: rgb(0, 153, 0);"&gt;$&lt;/span&gt; using various add programs like Google Adsense. The 'weapon' of my choice for a 'Blog Topic' naturally was by default Web Development as i was already into it.&lt;br /&gt;&lt;br /&gt;       But soon after searching various blogs, articles and stuff on Google Search (and even reading them) it just struck my mind that earning money from blogging no child's play!!&lt;br /&gt;You gotta think...think and think before writing a good article, play with keywords and other SEO techniques and sit on your butt! for couple more hours in day to finally just get some Internet Traffic.&lt;br /&gt;&lt;br /&gt;And even after doing all this activity on regular basis you have to pray that people who do visit your blog also mercy fully click on the ADDS!! Well its been three months for my blog and there's hardly any revenue form it!&lt;br /&gt;&lt;br /&gt;       Well the New Years here and so I have finally decided that its about time that I Re Think my Blogging Strategy ! should i continue Blogging ? should i change my Blog Topic ?  should i buy a separate web space with my very own domain ? Uh.... So confusing .....&lt;br /&gt;&lt;br /&gt;Anyway my Blog still helps me keep important piece of software CODE  that i cant really remember in a place where i can find it easily and that  too for &lt;span style="font-weight: bold;"&gt;ABSOLUTELY FREE!!&lt;/span&gt;&lt;br /&gt;That's something that still kept me going on.&lt;br /&gt;&lt;br /&gt;Well i am no J.K. Rowling to come up with exciting stuff each time to write on blogs, so changing the topic is just out of question!&lt;br /&gt;Lets see where the light takes me........................................................&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2316872447148661582-949695373956543189?l=freshwebdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://freshwebdeveloper.blogspot.com/feeds/949695373956543189/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2316872447148661582&amp;postID=949695373956543189' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2316872447148661582/posts/default/949695373956543189'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2316872447148661582/posts/default/949695373956543189'/><link rel='alternate' type='text/html' href='http://freshwebdeveloper.blogspot.com/2009/01/re-thinking-blogging-strategy.html' title='Re Thinking Blogging Strategy ??'/><author><name>Amit Kekan</name><uri>http://www.blogger.com/profile/01943272049710032037</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://1.bp.blogspot.com/-Z3n5FM5plI0/TkJYJsx-tbI/AAAAAAAAAGY/L0wdzzV400k/s220/600full-kung-fu-panda-2-artwork.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2316872447148661582.post-8379695043302222210</id><published>2009-01-06T08:07:00.000-08:00</published><updated>2009-01-06T08:25:16.293-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Javascript'/><title type='text'>Javascript for TextBox Restriction</title><content type='html'>&lt;span style="font-weight: bold;font-size:180%;" &gt;J&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-weight: bold;"&gt;avaScript for restricting users from entering unwanted characters in a textbox/ text field.!&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;One of the easiest way of restricting a user from entering unwanted characters in a text field can be accomplished by using JavaScript functions as below:&lt;br /&gt;&lt;br /&gt;&amp;lt;script type="text/javascript" language="javascript"&amp;gt;&lt;br /&gt;function keyRestrict(e, validchars)&lt;br /&gt;{&lt;br /&gt;var key='', keychar='';&lt;br /&gt;key = getKeyCode(e);&lt;br /&gt;if (key == null) return true;&lt;br /&gt;keychar = String.fromCharCode(key);&lt;br /&gt;keychar = keychar.toLowerCase();&lt;br /&gt;validchars = validchars.toLowerCase();&lt;br /&gt;if (validchars.indexOf(keychar) != -1)&lt;br /&gt;return true;&lt;br /&gt;if ( key==null || key==0 || key==8 || key==9 || key==13 || key==27 )&lt;br /&gt;return true;&lt;br /&gt;return false;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function getKeyCode(e)&lt;br /&gt;{&lt;br /&gt;if (window.event)&lt;br /&gt;  return window.event.keyCode;&lt;br /&gt;else if (e)&lt;br /&gt;  return e.which;&lt;br /&gt;else&lt;br /&gt;  return null;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&lt;br /&gt;After placing the above script in your head section of the web page all you need to do is call the function on the keypress event of a textbox/text  field and pass in all the characters that you want to be allowed as follows:&lt;br /&gt;&lt;br /&gt;&amp;lt; type="text" name="zip" id="zip" style="width:100px;" maxlength="7" onkeypress="return keyRestrict(event,'1234567890. ')" /&gt;&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 0, 0);"&gt;Note:&lt;/span&gt; Please ensure that you conduct server side validations for user input, as JavaScript can be easily disabled in any browser and the above restrictions can be bypassed.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2316872447148661582-8379695043302222210?l=freshwebdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://freshwebdeveloper.blogspot.com/feeds/8379695043302222210/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2316872447148661582&amp;postID=8379695043302222210' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2316872447148661582/posts/default/8379695043302222210'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2316872447148661582/posts/default/8379695043302222210'/><link rel='alternate' type='text/html' href='http://freshwebdeveloper.blogspot.com/2009/01/javascript-for-textbox-restriction.html' title='Javascript for TextBox Restriction'/><author><name>Amit Kekan</name><uri>http://www.blogger.com/profile/01943272049710032037</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://1.bp.blogspot.com/-Z3n5FM5plI0/TkJYJsx-tbI/AAAAAAAAAGY/L0wdzzV400k/s220/600full-kung-fu-panda-2-artwork.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2316872447148661582.post-1422094131208376561</id><published>2009-01-01T08:58:00.000-08:00</published><updated>2009-01-01T09:18:38.571-08:00</updated><title type='text'>Happy New Year!!!</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_GM-4KdVAthw/SVz6FD4ua1I/AAAAAAAAAEk/rPC5vLSEHBg/s1600-h/image003.gif"&gt;&lt;img style="cursor: pointer;" src="http://1.bp.blogspot.com/_GM-4KdVAthw/SVz6FD4ua1I/AAAAAAAAAEk/rPC5vLSEHBg/s400/image003.gif" alt="" id="BLOGGER_PHOTO_ID_5286375027475639122" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2316872447148661582-1422094131208376561?l=freshwebdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://freshwebdeveloper.blogspot.com/feeds/1422094131208376561/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2316872447148661582&amp;postID=1422094131208376561' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2316872447148661582/posts/default/1422094131208376561'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2316872447148661582/posts/default/1422094131208376561'/><link rel='alternate' type='text/html' href='http://freshwebdeveloper.blogspot.com/2009/01/happy-new-year.html' title='Happy New Year!!!'/><author><name>Amit Kekan</name><uri>http://www.blogger.com/profile/01943272049710032037</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://1.bp.blogspot.com/-Z3n5FM5plI0/TkJYJsx-tbI/AAAAAAAAAGY/L0wdzzV400k/s220/600full-kung-fu-panda-2-artwork.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_GM-4KdVAthw/SVz6FD4ua1I/AAAAAAAAAEk/rPC5vLSEHBg/s72-c/image003.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2316872447148661582.post-1042621712317235374</id><published>2008-12-28T07:25:00.000-08:00</published><updated>2009-01-01T08:57:43.298-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><title type='text'>GridView Custom Pager Template</title><content type='html'>&lt;span style="font-size:180%;"&gt;&lt;span style="font-weight: bold;"&gt;T&lt;/span&gt;&lt;/span&gt;his is a Custom GridView Pager Template with DropDownList for pagination , Next-Previous, First-Last navigation  and TextBox with save button to control the Page Size.&lt;br /&gt;                             I had searched many site for this functionality. Finally after referring a few good examples I came up with the following according to my need.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;****************************HTML*****************************&lt;br /&gt;&lt;br /&gt;&amp;lt;PagerTemplate&amp;gt;&lt;br /&gt;             &amp;lt;div id="pager" &amp;gt;&lt;br /&gt;             &amp;lt;asp:DropDownList ID="ddlPageSelector" runat="server" AutoPostBack="true"&amp;gt;&lt;br /&gt;             &amp;lt;/asp:DropDownList&amp;gt;&lt;br /&gt;             View&lt;br /&gt;&amp;lt;asp:TextBox ID="txtPageSize"&lt;br /&gt;runat="server" Width="25px"  EnableViewState="true"&amp;gt;&amp;lt;/asp:TextBox&amp;gt;&lt;br /&gt;        &lt;br /&gt;             results per page &amp;lt;asp:LinkButton ID="lnkSavePageSize" runat="server"&lt;br /&gt;OnClick="lnkSavePageSize_click"&amp;gt;&amp;lt;strong&amp;gt;Save&amp;lt;/strong&amp;gt;&amp;lt;/asp:LinkButton&amp;gt;&lt;br /&gt;|&lt;br /&gt;             &amp;lt;asp:Label ID="lblNumber" runat="server"&amp;gt;&amp;lt;/asp:Label&amp;gt;  |&lt;br /&gt;&lt;br /&gt;             &amp;lt;asp:LinkButton Text="First" CommandName="Page" CommandArgument="First" runat="server" ID="btnFirst"  /&amp;gt;&lt;br /&gt;&lt;br /&gt;             &amp;lt;asp:LinkButton Text="Previous" CommandName="Page" CommandArgument="Prev" runat="server" ID="btnPrevious"  /&amp;gt; -&lt;br /&gt;&lt;br /&gt;             &amp;lt;asp:LinkButton Text="Next" CommandName="Page" CommandArgument="Next" runat="server" ID="btnNext"  /&amp;gt;&lt;br /&gt;&lt;br /&gt;             &amp;lt;asp:LinkButton Text="Last" CommandName="Page" CommandArgument="Last" runat="server" ID="btnLast"   /&amp;gt;&lt;br /&gt;&lt;br /&gt;             &amp;lt;/div&amp;gt;&lt;br /&gt;         &amp;lt;/PagerTemplate&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;******************************CODE BEHIND************************&lt;br /&gt;//need to bind the following event with your gridview control&lt;br /&gt;&lt;br /&gt;protected void myGridView_RowCreated(object sender, GridViewRowEventArgs e)&lt;br /&gt;{&lt;br /&gt; if (e.Row.RowType == DataControlRowType.Pager)&lt;br /&gt; {&lt;br /&gt;&lt;br /&gt;     SetPagerButtonStates(myGridView, e.Row, this);&lt;br /&gt;&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;//This is a custom function&lt;br /&gt;public void SetPagerButtonStates(GridView gridView, GridViewRow gvPagerRow, Page page)&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; int pageIndex = gridView.PageIndex;&lt;br /&gt; int pageCount = gridView.PageCount;&lt;br /&gt;&lt;br /&gt; LinkButton btnFirst = (LinkButton)gvPagerRow.FindControl("btnFirst");&lt;br /&gt; LinkButton btnPrevious = (LinkButton)gvPagerRow.FindControl("btnPrevious");&lt;br /&gt; LinkButton btnNext = (LinkButton)gvPagerRow.FindControl("btnNext");&lt;br /&gt; LinkButton btnLast = (LinkButton)gvPagerRow.FindControl("btnLast");&lt;br /&gt; Label lblNumber = (Label)gvPagerRow.FindControl("lblNumber");&lt;br /&gt; TextBox txtPageSize = (TextBox)gvPagerRow.FindControl("txtPageSize");&lt;br /&gt; lblNumber.Text = "Pages " + Convert.ToString(pageIndex+1) + " of " + pageCount.ToString();&lt;br /&gt;&lt;br /&gt; btnFirst.Enabled = btnPrevious.Enabled = (pageIndex != 0);&lt;br /&gt; btnNext.Enabled = btnLast.Enabled = (pageIndex &amp;lt; (pageCount - 1));&lt;br /&gt;&lt;br /&gt; if (btnNext.Enabled == false)&lt;br /&gt; {&lt;br /&gt;     btnNext.Attributes.Remove("CssClass");&lt;br /&gt; }&lt;br /&gt; DropDownList ddlPageSelector =&lt;br /&gt;(DropDownList)gvPagerRow.FindControl("ddlPageSelector");&lt;br /&gt; ddlPageSelector.Items.Clear();&lt;br /&gt;&lt;br /&gt; for (int i = 1; i &amp;lt;= gridView.PageCount; i++)&lt;br /&gt; {&lt;br /&gt;&lt;br /&gt;     ddlPageSelector.Items.Add(i.ToString());&lt;br /&gt;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; ddlPageSelector.SelectedIndex = pageIndex;&lt;br /&gt; txtPageSize.Text = gridView.PageSize.ToString();&lt;br /&gt;&lt;br /&gt;//Used delegates over here&lt;br /&gt; ddlPageSelector.SelectedIndexChanged += delegate&lt;br /&gt; {&lt;br /&gt;&lt;br /&gt;     gridView.PageIndex = ddlPageSelector.SelectedIndex;&lt;br /&gt;&lt;br /&gt;     gridView.DataBind();&lt;br /&gt;&lt;br /&gt; };&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;protected void lnkSavePageSize_click(object sender, EventArgs e)&lt;br /&gt;{&lt;br /&gt; GridViewRow pagerRow = myGridView.BottomPagerRow;&lt;br /&gt; TextBox temp1= (TextBox)pagerRow.FindControl("txtPageSize");&lt;br /&gt; if(temp1.Text!="")&lt;br /&gt; {&lt;br /&gt;     myGridView.PageSize = Convert.ToInt32(temp1.Text);&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Link for Reference:&lt;a href="http://weblogs.asp.net/rajbk/archive/2006/08/14/gridview-dropdownlist-pager.aspx" target="_blank"&gt;Click Here&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2316872447148661582-1042621712317235374?l=freshwebdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://freshwebdeveloper.blogspot.com/feeds/1042621712317235374/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2316872447148661582&amp;postID=1042621712317235374' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2316872447148661582/posts/default/1042621712317235374'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2316872447148661582/posts/default/1042621712317235374'/><link rel='alternate' type='text/html' href='http://freshwebdeveloper.blogspot.com/2008/12/gridview-custom-pager-template.html' title='GridView Custom Pager Template'/><author><name>Amit Kekan</name><uri>http://www.blogger.com/profile/01943272049710032037</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://1.bp.blogspot.com/-Z3n5FM5plI0/TkJYJsx-tbI/AAAAAAAAAGY/L0wdzzV400k/s220/600full-kung-fu-panda-2-artwork.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2316872447148661582.post-5674049611590443395</id><published>2008-12-26T08:55:00.000-08:00</published><updated>2008-12-26T09:14:12.351-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Javascript'/><title type='text'>Javascript RegExp Function</title><content type='html'>&lt;span style="font-weight: bold;font-size:180%;" &gt;                  J&lt;/span&gt;avaScript provides a very useful function for client side user input validation. This function uses regular expressions for validation against the input.&lt;br /&gt;                   If you are a PHP developer then you must have knowledge of this feature, whereas for ASP.NET 2.0 we already have the regular expression validator control which also uses similar regular expressions.&lt;br /&gt;A simple example of the &lt;span style="font-weight: bold;"&gt;RegExp&lt;/span&gt; is as follows:&lt;br /&gt;&lt;br /&gt;&amp;lt;script type="text/javascript" langusge="javascript"&amp;gt;&lt;br /&gt;&lt;br /&gt;function validate_phone(obj)&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt; //for US phone number format: (xxx) xxx-xxxx&lt;br /&gt;&lt;br /&gt; var &lt;span style="font-weight: bold;"&gt;RegExp&lt;/span&gt;=&lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;/&lt;/span&gt;\(\d{3}\)\ \d{3}-\d{4}&lt;span style="font-weight: bold; color: rgb(255, 0, 0);"&gt;/&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt; if(RegExp.test(obj.value))&lt;br /&gt; {&lt;br /&gt;  &lt;br /&gt;      return true;&lt;br /&gt; }&lt;br /&gt; else&lt;br /&gt; {&lt;br /&gt;    &lt;br /&gt;     obj.select();   &lt;br /&gt;     obj.focus();&lt;br /&gt;     return false;&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&lt;br /&gt;Note: Passing a correct regular expression is very important. You can find various regular expressions according to your need by Googling around. Also note that the regular expression must be inside the &lt;span style="font-weight: bold; color: rgb(255, 0, 0);"&gt;/ /&lt;/span&gt; i.e  var RegExp=&lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;/&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;       &lt;/span&gt;&lt;span style="color: rgb(255, 0, 0); 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/2316872447148661582-5674049611590443395?l=freshwebdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://freshwebdeveloper.blogspot.com/feeds/5674049611590443395/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2316872447148661582&amp;postID=5674049611590443395' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2316872447148661582/posts/default/5674049611590443395'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2316872447148661582/posts/default/5674049611590443395'/><link rel='alternate' type='text/html' href='http://freshwebdeveloper.blogspot.com/2008/12/javascript-regexp-function.html' title='Javascript RegExp Function'/><author><name>Amit Kekan</name><uri>http://www.blogger.com/profile/01943272049710032037</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://1.bp.blogspot.com/-Z3n5FM5plI0/TkJYJsx-tbI/AAAAAAAAAGY/L0wdzzV400k/s220/600full-kung-fu-panda-2-artwork.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2316872447148661582.post-6720432923240725133</id><published>2008-12-24T08:48:00.000-08:00</published><updated>2008-12-24T09:08:35.469-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Javascript'/><title type='text'>Regular Expression for File Upload Validation</title><content type='html'>&lt;span style="font-weight: bold;font-size:180%;" &gt;T&lt;/span&gt;his is a  Regular Expression for validating the file upload HTML/ASP.NET control on the client side using JavaScript!&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;"    &lt;span style="color: rgb(0, 102, 0);"&gt;^.+\.(([jJ][pP][eE]?[gG])&lt;span style="color: rgb(51, 51, 255);"&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;|&lt;/span&gt;&lt;/span&gt; ([gG][iI][fF]) &lt;span style="color: rgb(255, 0, 0);"&gt;|&lt;/span&gt; ([bB][mM][pP­]) &lt;span style="color: rgb(255, 0, 0);"&gt;|&lt;/span&gt; ([pP][nN][gG]) &lt;span style="color: rgb(255, 0, 0);"&gt;|&lt;/span&gt;([wW][mM][fF]))$ &lt;/span&gt;    "&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;As you can see you can specify any file format between the &lt;span style="color: rgb(255, 0, 0);"&gt;|    |&lt;/span&gt; fields which stand for OR.&lt;br /&gt;You can use this function in ASP.NET 2.0 with the &lt;span style="font-weight: bold;"&gt;Regular Expression Validator&lt;/span&gt; or can use the JavaScript &lt;span style="font-weight: bold;"&gt;RegExp&lt;/span&gt; function for PHP.&lt;br /&gt;&lt;br /&gt;Note: Its always a good idea to validate the user input on the server side!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2316872447148661582-6720432923240725133?l=freshwebdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://freshwebdeveloper.blogspot.com/feeds/6720432923240725133/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2316872447148661582&amp;postID=6720432923240725133' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2316872447148661582/posts/default/6720432923240725133'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2316872447148661582/posts/default/6720432923240725133'/><link rel='alternate' type='text/html' href='http://freshwebdeveloper.blogspot.com/2008/12/regular-expression-for-file-upload.html' title='Regular Expression for File Upload Validation'/><author><name>Amit Kekan</name><uri>http://www.blogger.com/profile/01943272049710032037</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://1.bp.blogspot.com/-Z3n5FM5plI0/TkJYJsx-tbI/AAAAAAAAAGY/L0wdzzV400k/s220/600full-kung-fu-panda-2-artwork.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2316872447148661582.post-5197911530899339393</id><published>2008-12-22T08:42:00.000-08:00</published><updated>2008-12-22T09:04:21.488-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Javascript'/><title type='text'>Using Session variables in Javascript</title><content type='html'>One of the common problems Web Developers face is interaction between client side and server side scripts. With the advent of AJAX it has become very simple.&lt;br /&gt;But there are situations were we need  to change the JavaScript  variables dynamically without changing the rest of the script. For example some flash elements require JavaScript variables for their functionality like keeping track of the tabs. &lt;br /&gt;This can be achieved very easily through the use of session variable as follows:&lt;br /&gt;&lt;br /&gt;&amp;lt;script type="text/javascript" language="javascript"&amp;gt;&lt;br /&gt;&lt;br /&gt;function myFunction()&lt;br /&gt;{&lt;br /&gt; var var1=21;&lt;br /&gt; var var2=&amp;lt;%=Convert.ToString(Session["myVariable"])%&amp;gt;&lt;br /&gt; ------&lt;br /&gt; ------&lt;br /&gt; ------&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&lt;br /&gt;All you need to do is assign the session variable with the value you want on the page load in code behind.&lt;br /&gt;&lt;br /&gt;I was quiet curious and also tried the vice verse i.e assigning a Session Variable in JavaScript. But it doesn't work !!!! Have to use alternate methods. If any one knows a way of doing so..Please Comment&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2316872447148661582-5197911530899339393?l=freshwebdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://freshwebdeveloper.blogspot.com/feeds/5197911530899339393/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2316872447148661582&amp;postID=5197911530899339393' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2316872447148661582/posts/default/5197911530899339393'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2316872447148661582/posts/default/5197911530899339393'/><link rel='alternate' type='text/html' href='http://freshwebdeveloper.blogspot.com/2008/12/using-session-variables-in-javascript.html' title='Using Session variables in Javascript'/><author><name>Amit Kekan</name><uri>http://www.blogger.com/profile/01943272049710032037</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://1.bp.blogspot.com/-Z3n5FM5plI0/TkJYJsx-tbI/AAAAAAAAAGY/L0wdzzV400k/s220/600full-kung-fu-panda-2-artwork.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2316872447148661582.post-4358194598873619586</id><published>2008-12-21T06:51:00.000-08:00</published><updated>2008-12-21T06:58:32.448-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='HTML'/><title type='text'>Working with HTML Div element</title><content type='html'>&lt;span style="font-size:180%;"&gt;&lt;span style="font-weight: bold;"&gt;W&lt;/span&gt;&lt;/span&gt;hen i started my Web development career all i knew about HTML was table,td,tr,css and a few other tags. Most of the times i used ASP.NET components, without much tweaking. But soon i came across Web 2.0 techniques and realized the advantages of using Div elements + advance CSS handling. And so i began (again!) .......&lt;br /&gt;&lt;br /&gt;      To my initial horror i just couldn't get any thing in write place. Div' s overlapping each other, validation alerts flying all over the place, page changing structure after postback,.....just to name a few problems. But i had to focus, do my homework and start correctly. After reading some useful articles on the NET (You can find many!) and taking some expert tips from our lead designer, i finally started getting things write.&lt;br /&gt;&lt;br /&gt;      Now i was writing less HTML code as most things were configured through CSS. Just required to apply proper classes to the DIV's or give id's to them. You can follow any of the methods classes/id's but using same id's on same page is not W3C complaint. Also the most important thing that i realized about div's is that it's  more cross browser compliant hence saves a lot of time configuring your web page for different  browsers. Web pages look more cleaner than before.&lt;br /&gt;  So now i think that i have started off with WEB 2.0 (WEB 3.0 buzz already round the corner!!).&lt;br /&gt;   The learning path just got longer......................................................&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2316872447148661582-4358194598873619586?l=freshwebdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://freshwebdeveloper.blogspot.com/feeds/4358194598873619586/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2316872447148661582&amp;postID=4358194598873619586' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2316872447148661582/posts/default/4358194598873619586'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2316872447148661582/posts/default/4358194598873619586'/><link rel='alternate' type='text/html' href='http://freshwebdeveloper.blogspot.com/2008/12/working-with-html-div-element.html' title='Working with HTML Div element'/><author><name>Amit Kekan</name><uri>http://www.blogger.com/profile/01943272049710032037</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://1.bp.blogspot.com/-Z3n5FM5plI0/TkJYJsx-tbI/AAAAAAAAAGY/L0wdzzV400k/s220/600full-kung-fu-panda-2-artwork.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2316872447148661582.post-5145990005533187024</id><published>2008-12-11T08:09:00.000-08:00</published><updated>2008-12-11T08:16:16.496-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='HTML'/><title type='text'>Rounded Corner Box Using Div and CSS</title><content type='html'>&lt;span style="font-size:180%;"&gt;&lt;span style="font-weight: bold;"&gt;E&lt;/span&gt;&lt;/span&gt;ver since the advent of WEB 2.0, the way web pages have been designed has changed significantly. People these days go for more of a soft look to their pages with rounded corners every where. One of the best way of designing rounded corner box is by using div and CSS combination. Here is a sample code for the same...&lt;br /&gt;&lt;br /&gt;&amp;lt;style type="text/css"&amp;gt;&lt;br /&gt;&lt;br /&gt;.round_box {&lt;br /&gt;  background: url(round_tl.png) no-repeat top left;&lt;br /&gt;}&lt;br /&gt;.round_top {&lt;br /&gt;  background: url(round_tr.png) no-repeat top right;&lt;br /&gt;}&lt;br /&gt;.round_bottom {&lt;br /&gt;  background: url(round_bl.png) no-repeat bottom left;&lt;br /&gt;}&lt;br /&gt;.round_bottom div {&lt;br /&gt;  background: url(round_br.png) no-repeat bottom right;&lt;br /&gt;}&lt;br /&gt;.round_content {&lt;br /&gt;  background: url(round_r.png) top right repeat-y;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;.round_top div,.round_top,&lt;br /&gt;.round_bottom div, .round_bottom {&lt;br /&gt;  width: 100%;&lt;br /&gt;  height: 15px;&lt;br /&gt;  font-size: 1px;&lt;br /&gt;}&lt;br /&gt;.round_content, .round_bottom {&lt;br /&gt;  margin-top: -19px;&lt;br /&gt;}&lt;br /&gt;.round_content { padding: 0 15px; }&lt;br /&gt;&lt;br /&gt;&amp;lt;/style&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;body&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;div class="round_box"&amp;gt;&lt;br /&gt; &amp;lt;div class="round_top"&amp;gt;&amp;lt;div&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;    &amp;lt;div class="round_content"&amp;gt;&lt;br /&gt;       &amp;lt;p&amp;gt;Your Content Here&amp;lt;/p&amp;gt;&lt;br /&gt;    &amp;lt;/div&amp;gt;&lt;br /&gt; &amp;lt;div class="round_bottom"&amp;gt;&amp;lt;div&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/body&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Note:&lt;/span&gt; You must have the correct image for cornering your pages!&lt;br /&gt;&lt;br /&gt;I have found a great site that auto generates the HTML Code,CSS and corner images according to your choices for &lt;span style="font-weight: bold;"&gt;Absolutely FREE!!&lt;/span&gt; Check it out : &lt;a href="http://www.roundedcornr.com/" target="_blank"&gt;RoundedCornr&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2316872447148661582-5145990005533187024?l=freshwebdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://freshwebdeveloper.blogspot.com/feeds/5145990005533187024/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2316872447148661582&amp;postID=5145990005533187024' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2316872447148661582/posts/default/5145990005533187024'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2316872447148661582/posts/default/5145990005533187024'/><link rel='alternate' type='text/html' href='http://freshwebdeveloper.blogspot.com/2008/12/rounded-corner-box-using-div-and-css.html' title='Rounded Corner Box Using Div and CSS'/><author><name>Amit Kekan</name><uri>http://www.blogger.com/profile/01943272049710032037</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://1.bp.blogspot.com/-Z3n5FM5plI0/TkJYJsx-tbI/AAAAAAAAAGY/L0wdzzV400k/s220/600full-kung-fu-panda-2-artwork.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2316872447148661582.post-1200712156250202811</id><published>2008-12-10T07:52:00.000-08:00</published><updated>2008-12-10T07:57:46.519-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='HTML'/><title type='text'>Using Div to generate Table Like Structure</title><content type='html'>&lt;span style="font-size:180%;"&gt;&lt;span style="font-weight: bold;"&gt;"&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-size:180%;" &gt;T&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;he Div tag defines a division or a section in an HTML document. The Div tag is often used to group block-elements to format them with styles"&lt;/span&gt;- offical defination by W3Schools.&lt;br /&gt;      If you are new to using div elements then the very first problem that you might  face is generating the table,tr,td structure using only div's (since you were so hooked up on the old Table structure).  But the fact is that using div's you can (and will) save lot of HTML coding (after learning few simple tricks), plus the div elements are also very very flexible.&lt;br /&gt;Here's a basic code snippet to get you started with...&lt;br /&gt;&lt;br /&gt;&amp;lt;style type="text/css"&amp;gt;&lt;br /&gt;&lt;br /&gt;.tablediv {&lt;br /&gt;display:  table;&lt;br /&gt;border:1px solid  #666666;&lt;br /&gt;border-spacing:5px;/*cellspacing:poor IE support for  this*/&lt;br /&gt;border-collapse:separate;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;.rowdiv  {&lt;br /&gt;display:  table-row;&lt;br /&gt;width:auto;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;.celldiv {&lt;br /&gt;float:left; /*fix for IE since display:inline doesn't work */&lt;br /&gt;display:  table-cell;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&amp;lt;/style&amp;gt;&lt;br /&gt;&lt;br /&gt;/* Style can be used in HTML as follows:*/&lt;br /&gt;&lt;br /&gt;&amp;lt;body&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;div class="tablediv" style="width:500px;"&amp;gt;&lt;br /&gt;    &amp;lt;div class="rowdiv" style="width:100%;"&amp;gt;&lt;br /&gt;          &amp;lt;div class="celldiv" style="width="50%;"&amp;gt; one cell/td  in a table&amp;lt;/div&amp;gt;&lt;br /&gt;          &amp;lt;div class="celldiv" style="width="50%;"&amp;gt; one cell/td  in a table&amp;lt;/div&amp;gt;&lt;br /&gt;    &amp;lt;/div&amp;gt;&lt;br /&gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/body&amp;gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2316872447148661582-1200712156250202811?l=freshwebdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://freshwebdeveloper.blogspot.com/feeds/1200712156250202811/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2316872447148661582&amp;postID=1200712156250202811' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2316872447148661582/posts/default/1200712156250202811'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2316872447148661582/posts/default/1200712156250202811'/><link rel='alternate' type='text/html' href='http://freshwebdeveloper.blogspot.com/2008/12/using-div-to-generate-table-like.html' title='Using Div to generate Table Like Structure'/><author><name>Amit Kekan</name><uri>http://www.blogger.com/profile/01943272049710032037</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://1.bp.blogspot.com/-Z3n5FM5plI0/TkJYJsx-tbI/AAAAAAAAAGY/L0wdzzV400k/s220/600full-kung-fu-panda-2-artwork.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2316872447148661582.post-5938999880492179930</id><published>2008-12-08T06:01:00.000-08:00</published><updated>2008-12-08T07:50:01.174-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Google API'/><title type='text'>Calculate Latitude-Longitude using Google API</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_GM-4KdVAthw/ST1Bt22yIMI/AAAAAAAAAEE/6tSVCfc0NL4/s1600-h/Google.png"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 400px; height: 145px;" src="http://1.bp.blogspot.com/_GM-4KdVAthw/ST1Bt22yIMI/AAAAAAAAAEE/6tSVCfc0NL4/s400/Google.png" alt="" id="BLOGGER_PHOTO_ID_5277446594423300290" border="0" /&gt;&lt;/a&gt;&lt;span style="font-size:180%;"&gt;&lt;span style="font-weight: bold;"&gt;G&lt;/span&gt;&lt;/span&gt;oogle API provide a nifty tool for calculations the latitude and longitude of the place based upon the address. These geographical  data can be used for Google Map Generation. Make sure that you read the Google Maps API documents before starting.&lt;br /&gt;&lt;br /&gt;//code for using google maps to calculate latitude and longitude dynamically&lt;br /&gt;&lt;br /&gt;&amp;lt;script type="text/javascript" language="javascript"&amp;gt;&lt;br /&gt;&lt;br /&gt;var geocoder;&lt;br /&gt;var map;&lt;br /&gt;var xmlHttp;&lt;br /&gt;&lt;br /&gt;// this function has to be called when page loads..FOR IE facing Operation aborted problem call this function at end of page before &amp;lt;/body&amp;gt; tag &amp;amp; make sure google map version is 2.118 or greater&lt;br /&gt;&lt;br /&gt;function load()&lt;br /&gt;{&lt;br /&gt;  map = new GMap2(document.getElementById("map"));&lt;br /&gt;  map.addControl(new GSmallMapControl());&lt;br /&gt;  map.addControl(new GMapTypeControl());&lt;br /&gt;  map.setCenter(new GLatLng(0,0), 8);//temporay center&lt;br /&gt;  geocoder = new GClientGeocoder();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;//call this function after validations have been performed and true&lt;br /&gt;function showAddress(address)&lt;br /&gt;{&lt;br /&gt;     var flag_addr1=0;&lt;br /&gt;     var map = new GMap2(document.getElementById("map"));&lt;br /&gt;     map.addControl(new GSmallMapControl());&lt;br /&gt;     map.addControl(new GMapTypeControl());&lt;br /&gt;     if (geocoder)&lt;br /&gt;     {&lt;br /&gt;  &lt;br /&gt;            geocoder.getLatLng(address, function(point)&lt;br /&gt;           {&lt;br /&gt;     &lt;br /&gt;              if (!point)&lt;br /&gt;              {                &lt;br /&gt;                   alert("Address " +address+" not found");&lt;br /&gt;                  flag_addr1 = 0;&lt;br /&gt;                                              &lt;br /&gt;              }&lt;br /&gt;              else&lt;br /&gt;              {&lt;br /&gt;&lt;br /&gt;                  //hidden fields on the webform , inside a form(postback values used for updating database)&lt;br /&gt;                  document.getElementById("lat").value = point.lat().toFixed(5);&lt;br /&gt;                  document.getElementById("lng").value = point.lng().toFixed(5);&lt;br /&gt;                  flag_addr1 = 1;                                    &lt;br /&gt;                  //setTimeout("document.frm_add_place.submit()",2000);&lt;br /&gt;              &lt;br /&gt;                  document.frm_add_place.submit(); //used to submit form only when correct address is found&lt;br /&gt;              &lt;br /&gt;              }&lt;br /&gt;             }&lt;br /&gt;       );      &lt;br /&gt;     }&lt;br /&gt; &lt;br /&gt;}&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&lt;br /&gt;Note: You can call the showAddress()  JavaScript function before a user submits a form and pass values entered by user like state,city,zip code, street address.&lt;br /&gt;The values in the hidden fields lat,lng can be used to store in database for dynamic map generation.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2316872447148661582-5938999880492179930?l=freshwebdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://freshwebdeveloper.blogspot.com/feeds/5938999880492179930/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2316872447148661582&amp;postID=5938999880492179930' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2316872447148661582/posts/default/5938999880492179930'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2316872447148661582/posts/default/5938999880492179930'/><link rel='alternate' type='text/html' href='http://freshwebdeveloper.blogspot.com/2008/12/calculate-latitude-longitude-using.html' title='Calculate Latitude-Longitude using Google API'/><author><name>Amit Kekan</name><uri>http://www.blogger.com/profile/01943272049710032037</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://1.bp.blogspot.com/-Z3n5FM5plI0/TkJYJsx-tbI/AAAAAAAAAGY/L0wdzzV400k/s220/600full-kung-fu-panda-2-artwork.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_GM-4KdVAthw/ST1Bt22yIMI/AAAAAAAAAEE/6tSVCfc0NL4/s72-c/Google.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2316872447148661582.post-6548488727001254646</id><published>2008-12-07T09:05:00.000-08:00</published><updated>2009-06-06T10:32:16.762-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Google API'/><title type='text'>Generate Google Maps Dynamically</title><content type='html'>&lt;span style="font-weight: bold;font-size:130%;" &gt;&lt;span style="font-size:180%;"&gt;G&lt;/span&gt;enerate Google Maps Dynamically&lt;/span&gt; &lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;using SQL database&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_GM-4KdVAthw/ST1AcpyFgwI/AAAAAAAAAD8/2Gl6a1e-Lcs/s1600-h/maps_logo.gif"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 276px; height: 110px;" src="http://3.bp.blogspot.com/_GM-4KdVAthw/ST1AcpyFgwI/AAAAAAAAAD8/2Gl6a1e-Lcs/s400/maps_logo.gif" alt="" id="BLOGGER_PHOTO_ID_5277445199344534274" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size:180%;"&gt;&lt;span style="font-weight: bold;"&gt;               G&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;oogle Maps&lt;/span&gt; - have become an essential part of web development. Almost every client here and there is now requesting  for some of the Google Map functionality to be incorporated into their web site. A common place for Google Maps is on the Contact US pages. Here's the detailed for all your need.&lt;br /&gt;&lt;br /&gt;The following illustrate the use of Google Map API to dynamically generate the required points who's details are stored in the database and each points are selected using SQL Queries&lt;br /&gt;&lt;br /&gt;// JavaScript Document&lt;br /&gt;//Code for google maps to dynamically add various points, set their center and set auto zoom levels&lt;br /&gt;//Also change the icons&lt;br /&gt;&lt;br /&gt;&amp;lt;script type="text/javascript" language="javascript"&amp;gt;&lt;br /&gt;&lt;br /&gt;var iconBlue = new GIcon();&lt;br /&gt;iconBlue.image = 'http://labs.google.com/ridefinder/images/mm_20_blue.png';&lt;br /&gt;iconBlue.shadow = 'http://labs.google.com/ridefinder/images/mm_20_shadow.png';&lt;br /&gt;iconBlue.iconSize = new GSize(12, 20);&lt;br /&gt;iconBlue.shadowSize = new GSize(22, 20);&lt;br /&gt;iconBlue.iconAnchor = new GPoint(6, 20);&lt;br /&gt;iconBlue.infoWindowAnchor = new GPoint(5, 1);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;var iconRed = new GIcon(G_DEFAULT_ICON);&lt;br /&gt;iconRed.shadow = 'http://www.google.com/mapfiles/shadow50.png';&lt;br /&gt;&lt;br /&gt;iconRed.iconSize = new GSize(20, 34);&lt;br /&gt;iconRed.shadowSize = new GSize(37, 34);&lt;br /&gt;iconRed.iconAnchor = new GPoint(9, 34);&lt;br /&gt;iconRed.infoWindowAnchor = new GPoint(9, 2);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;// this function has to be called when page loads..FOR IE facing Operation aborted problem call this function at end of page before &amp;lt;/body&amp;gt; tag &amp;amp; make sure google map version is 2.118 or greater.&lt;br /&gt;function load()&lt;br /&gt;{&lt;br /&gt;if (GBrowserIsCompatible())&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;  var queryparameters="";&lt;br /&gt;&lt;br /&gt;  var map = new GMap2(document.getElementById("mapsearch"));//name of maps div on page.must be unique&lt;br /&gt;  var bounds = new GLatLngBounds();&lt;br /&gt;  map.addControl(new GSmallMapControl());&lt;br /&gt;  map.addControl(new GMapTypeControl());&lt;br /&gt;&lt;br /&gt;  map.setCenter(new GLatLng(0,0, 15); //temporaray center&lt;br /&gt;          &lt;br /&gt;  GDownloadUrl("getCoordinates.php?"+queryparameters, function(data) {&lt;br /&gt;&lt;br /&gt;    var xml = GXml.parse(data);  &lt;br /&gt;    var markers = xml.documentElement.getElementsByTagName("marker");&lt;br /&gt;    for (var i = 0; i &amp;lt; markers.length; i++)&lt;br /&gt;    {&lt;br /&gt;      //sample XML file data retrieved from getCoordinates.php which fires a query and generates an XML file that is echoed back;&lt;br /&gt;&lt;br /&gt;      //below is all the data tto be shown in ballon on the map&lt;br /&gt;      var CenterName = markers[i].getAttribute("CenterName").replace("'", "′");&lt;br /&gt;      var Street = markers[i].getAttribute("Street").replace("'", "′");&lt;br /&gt;      var City = markers[i].getAttribute("City").replace("'", "′");&lt;br /&gt;      var State = markers[i].getAttribute("State").replace("'", "′");&lt;br /&gt;      var ZipCode = markers[i].getAttribute("ZipCode");&lt;br /&gt;      var Phone = markers[i].getAttribute("Phone");&lt;br /&gt;      var Website = markers[i].getAttribute("Website");&lt;br /&gt;      var point = new GLatLng(parseFloat(markers[i].getAttribute("latitude")),&lt;br /&gt;                             parseFloat(markers[i].getAttribute("langitude")));&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;      var marker = createMarker(point,CenterName,Street,City,State,ZipCode,i);&lt;br /&gt;      map.addOverlay(marker);&lt;br /&gt;      bounds.extend(point);&lt;br /&gt;      //marker.setImage('../markerIcons/largeTDBlueIcons/blank.png'); can be used for single image&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    //these functions automatically set the zoom levels and map center&lt;br /&gt;    map.setZoom(map.getBoundsZoomLevel(bounds));&lt;br /&gt;    map.setCenter(bounds.getCenter());&lt;br /&gt;  });&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function redirect(CenterName,Street,City,State,ZipCode,point)&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;    window.open("http://maps.google.com/maps?near="+Street+","+City+","+State + " "+ ZipCode+"&amp;amp;geocode=CTmv3KDtfEkVFUq6QgIdO865-CHwxO4kUuJYPQ&amp;amp;q=" + document.getElementById('txtsearch').value +"&amp;amp;f=li&amp;amp;hl=en&amp;amp;dq=shopping+centers+loc:"+Street+"&amp;amp;sll="+point);&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function createMarker(point,CenterName,Street,City,State,ZipCode,index)&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;//Select a marker icon dynamically palced on server&lt;br /&gt; var letter = String.fromCharCode("A".charCodeAt(0) + index); //for lettered icons&lt;br /&gt; var num=index+1;  //for numbered icons&lt;br /&gt;  var letteredIcon = new GIcon(iconRed);&lt;br /&gt;   letteredIcon.image = "../markerIcons/largeTDBlueIcons/marker" + num + ".png"; //location of icon image&lt;br /&gt;      &lt;br /&gt;// Set up our GMarkerOptions object&lt;br /&gt;&lt;br /&gt;markerOptions = { icon:letteredIcon };&lt;br /&gt;var marker = new GMarker(point, markerOptions);&lt;br /&gt;&lt;br /&gt;var to_str="http://maps.google.com/maps?li=d&amp;amp;hl=en&amp;amp;f=d&amp;amp;iwstate1=dir:to&amp;amp;daddr="+Street+","+City+","+State+" "+ZipCode+"&amp;amp;iwloc=1";&lt;br /&gt;var from_str="http://maps.google.com/maps?li=d&amp;amp;hl=en&amp;amp;f=d&amp;amp;saddr="+Street+","+City+","+State+" "+ZipCode+"&amp;amp;iwstate1=dir:from&amp;amp;iwloc=1";&lt;br /&gt;&lt;br /&gt;var html = "&amp;lt;b&amp;gt;" + CenterName  + "&amp;lt;/b&amp;gt;&amp;lt;br/&amp;gt;" + Street + "&amp;lt;br/&amp;gt;" + City  + "," + State + " " + ZipCode +  "&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;Get Direction:&amp;lt;a href='"+to_str+"' target='_blank'&amp;gt;To Here &amp;lt;/a&amp;gt;  &amp;lt;a href='"+from_str+"' target='_blank'&amp;gt;From Here&amp;lt;/a&amp;gt;&amp;lt;br/&amp;gt; Search near:&amp;lt;input type='text' name='txtsearch' id='txtsearch' value='' /&amp;gt;&amp;lt;input type='button' name='Search' id='Search' value='Search'   onclick='redirect(\""+CenterName+"\",\""+Street+"\",\""+City+"\",\""+State+"\",\""+ZipCode+"\",\""+point+"\");'/&amp;gt;" ;&lt;br /&gt;&lt;br /&gt; GEvent.addListener(marker, 'click', function(){&lt;br /&gt;  marker.openInfoWindowHtml(html);&lt;br /&gt;});&lt;br /&gt;&lt;br /&gt;return marker;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2316872447148661582-6548488727001254646?l=freshwebdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://freshwebdeveloper.blogspot.com/feeds/6548488727001254646/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2316872447148661582&amp;postID=6548488727001254646' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2316872447148661582/posts/default/6548488727001254646'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2316872447148661582/posts/default/6548488727001254646'/><link rel='alternate' type='text/html' href='http://freshwebdeveloper.blogspot.com/2008/12/google-maps-dynamic-generation.html' title='Generate Google Maps Dynamically'/><author><name>Amit Kekan</name><uri>http://www.blogger.com/profile/01943272049710032037</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://1.bp.blogspot.com/-Z3n5FM5plI0/TkJYJsx-tbI/AAAAAAAAAGY/L0wdzzV400k/s220/600full-kung-fu-panda-2-artwork.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_GM-4KdVAthw/ST1AcpyFgwI/AAAAAAAAAD8/2Gl6a1e-Lcs/s72-c/maps_logo.gif' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2316872447148661582.post-810105694044224863</id><published>2008-12-05T09:07:00.000-08:00</published><updated>2008-12-08T06:07:07.270-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Randomly Rotate Array Elements</title><content type='html'>&lt;span style="font-size:180%;"&gt;&lt;span style="font-weight: bold;"&gt;A&lt;/span&gt;&lt;/span&gt;rray shuffling can be at times quiet confusing especially if you want to do it randomly. But hears a simple code function in C# which uses the Array.Reverse function that will save the day :&lt;br /&gt;&lt;br /&gt;protected void myFunction()&lt;br /&gt;{&lt;br /&gt;          Array test = new Array('abc','asd','yyj','jsd','jrd','tyf','qwe','asd');&lt;br /&gt;          Random random = new Random();&lt;br /&gt;          int index1=random.Next(0, test.Length);&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;protected Array RotateArrayFromLeft(Array ArrayToBeRotated, int N)&lt;br /&gt;{&lt;br /&gt;           int a_length = ArrayToBeRotated.Length;&lt;br /&gt;           if ((N &amp;gt;= 0) &amp;amp;&amp;amp; (N &amp;lt;= a_length))&lt;br /&gt;          {&lt;br /&gt;                   Array.Reverse(ArrayToBeRotated, 0, N);&lt;br /&gt;                   Array.Reverse(ArrayToBeRotated, N, alength - N);&lt;br /&gt;                   Array.Reverse(ArrayToBeRotated);&lt;br /&gt;           }&lt;br /&gt;           return ArrayToBeRotated;&lt;br /&gt;}&lt;br /&gt;Note: This function shuffles a array from its left position, you can modify it according to your&lt;br /&gt;needs.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2316872447148661582-810105694044224863?l=freshwebdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://freshwebdeveloper.blogspot.com/feeds/810105694044224863/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2316872447148661582&amp;postID=810105694044224863' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2316872447148661582/posts/default/810105694044224863'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2316872447148661582/posts/default/810105694044224863'/><link rel='alternate' type='text/html' href='http://freshwebdeveloper.blogspot.com/2008/12/randomly-rotate-array-elements.html' title='Randomly Rotate Array Elements'/><author><name>Amit Kekan</name><uri>http://www.blogger.com/profile/01943272049710032037</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://1.bp.blogspot.com/-Z3n5FM5plI0/TkJYJsx-tbI/AAAAAAAAAGY/L0wdzzV400k/s220/600full-kung-fu-panda-2-artwork.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2316872447148661582.post-8395189344481173040</id><published>2008-12-03T09:05:00.000-08:00</published><updated>2009-06-06T10:37:23.319-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SEO'/><title type='text'>Dynamic  Meta Tags</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_GM-4KdVAthw/ST1Fz8RUp7I/AAAAAAAAAEU/Z56pPDgCs2s/s1600-h/Meta+Tag.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 220px; height: 147px;" src="http://3.bp.blogspot.com/_GM-4KdVAthw/ST1Fz8RUp7I/AAAAAAAAAEU/Z56pPDgCs2s/s320/Meta+Tag.jpg" alt="" id="BLOGGER_PHOTO_ID_5277451097002518450" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:180%;" &gt;M&lt;/span&gt;eta tags are HTML or XHTML elements used to provide structured meta data about a Web page.   Meta tags can be used to specify page &lt;span style="font-style: italic;"&gt;description, keywords&lt;/span&gt; and any other Meta Data not provided through the other &lt;span style="font-style: italic;"&gt;head&lt;/span&gt; &lt;code&gt;&lt;/code&gt; elements and attributes.&lt;br /&gt;Meta tags prove to be an important source of information for search engine's and hence for your Web pages to be properly listed in search  engine results proper &lt;span style="font-weight: bold;"&gt;Search Engine Optimization&lt;/span&gt; is necessary.&lt;br /&gt;Meta tags can be added Dynamically in ASP.NET by using following code which uses the System.Web.UI.HtmlControls class:&lt;br /&gt;&lt;br /&gt;         HtmlMeta meta = new HtmlMeta();&lt;br /&gt;         meta.Name = "&lt;span style="font-style: italic;"&gt;meta-name&lt;/span&gt;"; //eg keywords, description&lt;br /&gt;         meta.Content = "&lt;span style="font-style: italic;"&gt;content&lt;/span&gt;";&lt;br /&gt;         Page.Header.Controls.Add(meta);&lt;br /&gt;&lt;br /&gt;In PHP we will need to echo the values in the head section of the Web page as follows:&lt;br /&gt;&lt;br /&gt;&amp;lt;head&amp;gt;&lt;br /&gt;&amp;lt;meta name="&amp;lt;?php echo $name; ?&amp;gt;" content="&amp;lt;?php echo $content; ?&amp;gt;" /&amp;gt;&lt;br /&gt;&amp;lt;/head&amp;gt;&lt;br /&gt;&lt;br /&gt;For more information on Meta Elements you can check out &lt;a href="http://en.wikipedia.org/wiki/Meta_tags" target="_blank"&gt;Wikipedia&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2316872447148661582-8395189344481173040?l=freshwebdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://freshwebdeveloper.blogspot.com/feeds/8395189344481173040/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2316872447148661582&amp;postID=8395189344481173040' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2316872447148661582/posts/default/8395189344481173040'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2316872447148661582/posts/default/8395189344481173040'/><link rel='alternate' type='text/html' href='http://freshwebdeveloper.blogspot.com/2008/12/dynamic-meta-tags.html' title='Dynamic  Meta Tags'/><author><name>Amit Kekan</name><uri>http://www.blogger.com/profile/01943272049710032037</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://1.bp.blogspot.com/-Z3n5FM5plI0/TkJYJsx-tbI/AAAAAAAAAGY/L0wdzzV400k/s220/600full-kung-fu-panda-2-artwork.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_GM-4KdVAthw/ST1Fz8RUp7I/AAAAAAAAAEU/Z56pPDgCs2s/s72-c/Meta+Tag.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2316872447148661582.post-1971507709519845140</id><published>2008-12-01T08:47:00.000-08:00</published><updated>2009-06-06T10:36:41.122-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='Image Processing'/><title type='text'>Dynamic Thumbnail Generation</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_GM-4KdVAthw/ST1DlLFuAoI/AAAAAAAAAEM/rqRu9s1Skdo/s1600-h/av300x300pixels.gif"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 120px; height: 120px;" src="http://2.bp.blogspot.com/_GM-4KdVAthw/ST1DlLFuAoI/AAAAAAAAAEM/rqRu9s1Skdo/s400/av300x300pixels.gif" alt="" id="BLOGGER_PHOTO_ID_5277448644259086978" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size:180%;"&gt;&lt;span style="font-weight: bold;"&gt;        T&lt;/span&gt;&lt;/span&gt;humbnail creation is an very important process for websites incorporating image upload functionality.&lt;br /&gt;User can upload any type of image to the server which needs to be re-sized according to our web page designs.&lt;br /&gt;Following is the code required for the task in ASP.NET 2.0:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;void create_thumb(String file_path,int pre_width,int pre_height)&lt;br /&gt;{&lt;br /&gt;System.Drawing.Image myImage;&lt;br /&gt;System.Drawing.Image oThumbNail;&lt;br /&gt;int newHeight, newWidth;&lt;br /&gt;&lt;br /&gt;Graphics oGraphic;&lt;br /&gt;Rectangle oRectangle;&lt;br /&gt;&lt;br /&gt;myImage = System.Drawing.Image.FromFile(Server.MapPath("images") + "/" + file_path);&lt;br /&gt;&lt;br /&gt;if (myImage.Height &amp;lt; pre_height &amp;amp;&amp;amp; myImage.Width &amp;lt; pre_width)&lt;br /&gt;{&lt;br /&gt;newWidth = myImage.Width;&lt;br /&gt;newHeight = myImage.Height;&lt;br /&gt;}&lt;br /&gt;else&lt;br /&gt;{&lt;br /&gt;if (myImage.Height &amp;gt; myImage.Width)&lt;br /&gt;{&lt;br /&gt;    newHeight = pre_height;&lt;br /&gt;    newWidth = ((myImage.Width * pre_height) / myImage.Height);&lt;br /&gt;}&lt;br /&gt;else if (myImage.Height &amp;lt; myImage.Width)&lt;br /&gt;{&lt;br /&gt;    newWidth = pre_width;&lt;br /&gt;    newHeight = ((myImage.Height * pre_width) / myImage.Width);&lt;br /&gt;}&lt;br /&gt;else&lt;br /&gt;{&lt;br /&gt;    newWidth = pre_width;&lt;br /&gt;    newHeight = ((myImage.Height * pre_width) / myImage.Width);&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;if (myImage.PixelFormat == PixelFormat.Indexed)&lt;br /&gt;oThumbNail = new Bitmap(newWidth, newHeight, myImage.PixelFormat);&lt;br /&gt;else&lt;br /&gt;oThumbNail = new Bitmap(newWidth, newHeight);&lt;br /&gt;oGraphic = Graphics.FromImage(oThumbNail);&lt;br /&gt;oGraphic.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighSpeed;&lt;br /&gt;oGraphic.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighSpeed;&lt;br /&gt;oGraphic.InterpolationMode=System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;&lt;br /&gt;oRectangle = new Rectangle(0, 0, newWidth, newHeight);&lt;br /&gt;oGraphic.DrawImage(myImage, oRectangle);&lt;br /&gt;Response.ContentType = "image/Jpeg";&lt;br /&gt;oThumbNail.Save(Server.MapPath("images/Thumbnails") + "/" + file_path,System.Drawing.Imaging.ImageFormat.Jpeg);&lt;br /&gt;&lt;br /&gt;myImage.Dispose();  //needed to free the resources and file handles&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Following is the code required for the task in PHP:&lt;br /&gt;&lt;br /&gt;function create_thumb($file_path,$pre_width,$pre_height)&lt;br /&gt;{&lt;br /&gt;list($orig_width, $orig_height) = getimagesize($file_path);&lt;br /&gt;$target_path="images/thumbnails/"&lt;br /&gt;&lt;br /&gt;if ($orig_height &amp;lt; $pre_height &amp;amp;&amp;amp; $orig_width &amp;lt; $pre_width)&lt;br /&gt;{&lt;br /&gt;$newWidth = $orig_width;&lt;br /&gt;$newHeight = $orig_height;&lt;br /&gt;}&lt;br /&gt;else&lt;br /&gt;{&lt;br /&gt;if($orig_height &amp;gt; $orig_width)&lt;br /&gt;{&lt;br /&gt;    $newHeight = $pre_height;&lt;br /&gt;    $newWidth = (($orig_width * $pre_height) / $orig_height);&lt;br /&gt;}&lt;br /&gt;else if ($orig_height &amp;lt; $orig_width)&lt;br /&gt;{&lt;br /&gt;    $newWidth = $pre_width;&lt;br /&gt;    $newHeight = (($orig_height * $pre_width) / $orig_width);&lt;br /&gt;}&lt;br /&gt;else&lt;br /&gt;{&lt;br /&gt;    $newWidth = $pre_width;&lt;br /&gt;    $newHeight = (($orig_height * $pre_width) / $orig_width);&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;$image_p = imagecreatetruecolor($newWidth, $newHeight);&lt;br /&gt;&lt;br /&gt;if($file_ext=='gif' || $file_ext=='GIF')&lt;br /&gt;$image = imagecreatefromgif($file_path);&lt;br /&gt;&lt;br /&gt;if($file_ext=='png' || $file_ext=='PNG' )&lt;br /&gt;$image = imagecreatefrompng($file_path);&lt;br /&gt;&lt;br /&gt;if($file_ext=='jpeg' || $file_ext=='jpg')&lt;br /&gt;$image = imagecreatefromjpeg($file_path);&lt;br /&gt;&lt;br /&gt;imagecopyresampled($image_p, $image, 0, 0, 0, 0, $newWidth, $newHeight, $orig_width,$orig_height);&lt;br /&gt;&lt;br /&gt;if($file_ext=='jpeg' || $file_ext=='jpg' || $file_ext=='JPG' )&lt;br /&gt; imagejpeg($image_p, $target_path.$newname, 100);&lt;br /&gt;&lt;br /&gt;if($file_ext=='gif' || $file_ext=='GIF')&lt;br /&gt; imagegif($image_p, $target_path.$newname, 100);&lt;br /&gt;&lt;br /&gt;if($file_ext=='png' || $file_ext=='PNG')&lt;br /&gt; imagepng($image_p, $target_path.$newname);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Note: This function is designed to first save the image to a location on server and then&lt;br /&gt;generated thumbnails and save in a separate folder. You can customize it according to your need.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2316872447148661582-1971507709519845140?l=freshwebdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://freshwebdeveloper.blogspot.com/feeds/1971507709519845140/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2316872447148661582&amp;postID=1971507709519845140' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2316872447148661582/posts/default/1971507709519845140'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2316872447148661582/posts/default/1971507709519845140'/><link rel='alternate' type='text/html' href='http://freshwebdeveloper.blogspot.com/2008/12/thumbnail-creation-in-aspnet-20.html' title='Dynamic Thumbnail Generation'/><author><name>Amit Kekan</name><uri>http://www.blogger.com/profile/01943272049710032037</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://1.bp.blogspot.com/-Z3n5FM5plI0/TkJYJsx-tbI/AAAAAAAAAGY/L0wdzzV400k/s220/600full-kung-fu-panda-2-artwork.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_GM-4KdVAthw/ST1DlLFuAoI/AAAAAAAAAEM/rqRu9s1Skdo/s72-c/av300x300pixels.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2316872447148661582.post-3301452316528998341</id><published>2008-11-26T08:31:00.000-08:00</published><updated>2009-06-06T10:33:54.294-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web Development'/><title type='text'>Skills needed to survive the IT Slowdown!!</title><content type='html'>&lt;span style="font-size:180%;"&gt;&lt;span style="font-weight: bold;"&gt;Y&lt;/span&gt;&lt;/span&gt;ou may ignore it, but have  to accept the fact that global recession has also it the IT industry. It may even happen that before you open your eyes and smell the Coffee..your PINK SLIP might be ready in your Bosse's office. But hey! don't panic cause everyone knows that a highly Skilled person can never be out of work for a long time! So here are a few skills sets, which if you  posses will definitely see you through this bad time!&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;1.Know your Framework&lt;/span&gt;&lt;br /&gt;BE it ASP or PHP knowing the framework thoroughly will definitely put you ahead in the race. All ASP.NET developers might have already come to know that no matter how much you "think" you know ASP.NET there's already something new yet to be discovered and before you figure it out, Microsoft might have already updated the technology.&lt;br /&gt;&lt;br /&gt;And as for PHP developers knowing a framework has become quite important. With the meteoric rise to fame of Rails, Django, and other MVC frameworks, developers have learned that they can build websites much faster with the help of these tools. Frameworks help you cut out much of the repetitive tasks that normal custom programming would require. Having knowledge of the top frameworks (Rails, Django, CakePHP, Symfony, and a few others), can give you a whole other dimension to your skill set.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;2.Custom CMS themes&lt;/span&gt;&lt;br /&gt;Designers and developers can always find work creating or customizing a CMS theme. As the popularity of CMS like Wordpress and Drupal have risen over the past years, so has the demand for creating themes for the software.&lt;br /&gt;&lt;br /&gt;Many people use CMS to power their personal or business websites, so this work is always going to be around. A decent website needs a unique and usable design that reflects well on the brand behind it.&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;&lt;br /&gt;3.CMS Customizations and plugin development&lt;/span&gt;&lt;br /&gt;CMS are great because it gives site owners with little technical know-how the ability to change aspects of their site on the fly with the help of modules. While most CMS platforms have a long list of modules to offer, many businesses and personal sites need more, and custom modules or plugins are the perfect solution.&lt;br /&gt;&lt;br /&gt;Developers can have thriving businesses in CMS development and customization alone. Here are a few (and by no means all) of the top CMS platforms that could use plugin development and other customizations:&lt;br /&gt;&lt;br /&gt; * ExpressionEngine&lt;br /&gt; * Wordpress&lt;br /&gt; * Drupal&lt;br /&gt; * MovableType&lt;br /&gt; * Joomla&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;4.PSD to XHTML services.&lt;/span&gt;&lt;br /&gt;Another one of the more popular skills needed is converting Photoshop files (PSD) to XHTML files for template use. Because designers don't always know how to convert Photoshop layouts into template files, a CSS and XHTML ninja can always find work.&lt;br /&gt;Because of the array of browsers now in common use and the niggling differences in how they render sites, you want to be a web developer who can build-out sites that display the same in any browser. This kind of design to code service is the most sought after of them all.&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;&lt;br /&gt;5.Javascript Plugin creation&lt;/span&gt;&lt;br /&gt;Much like the rise of CMS and MVC frameworks, Javascript frameworks are just as popular. These Javascript frameworks are built with the ability to add custom functionality in the form of modules. If you're a developer who knows how to build custom Javascript modules for frameworks like jQuery or Dojo, you'll have plenty of work available. Here are some of the most&lt;br /&gt;popular Javascript frameworks you might need to get a handle on.&lt;br /&gt;&lt;br /&gt; * jQuery&lt;br /&gt; * Scriptaculous&lt;br /&gt; * Dojo&lt;br /&gt; * MooTools&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;6.Facebook/MySpace applications-API Development&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Facebook and MySpace have both opened up their platform to allow developers API access, and the demand for social network apps has been huge since then. A whole new industry for web development sprang up overnight, and hundreds of applications are now added on a daily basis. The social media application platform has been found to be very viral and potentially very lucrative.&lt;br /&gt;&lt;br /&gt;Some of these applications are built to make money or drive brand awareness, but ultimately the applications can be very successful and viral if they're done properly. A solid developer can make a decent living creating Facebook and MySpace applications.&lt;br /&gt;Social networks like Facebook require that you learn their own language of syntax, like the FBML (Facebook Markup Language), so there is a small learning curve to this skill.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;7.iPhone &amp;amp; Mobile Applications development&lt;/span&gt;&lt;br /&gt;Yet another platform-specific skill set, building Mobile applications can be very profitable, and much like the social media applications, a great skill for any developer to know. Making an iPhone app that is accepted into Apple's platform has an excellent chance at making great money or receiving tons of downloads.&lt;br /&gt;&lt;br /&gt;This is a great thing for web developers because companies are starting to see the value in developing iPhone and other mobile technologies, and consequently will be wanting more and more applications developed in the future.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;8.Ecommerce integration&lt;/span&gt;&lt;br /&gt;Business web sites are always going to need ecommerce integration. Essentially, if you can take a language or framework (PHP or Rails) and fuse it with a payment gateway (like Paypal or Authorize.net), you'll do well for yourself. I'm predicting that we're going to see more paid services than free, ad-supported services being developed in the near future, as less money is&lt;br /&gt;being doled out to startups.&lt;br /&gt;&lt;br /&gt;As the economy turns sour and the ad industry starts to get a little tighter, websites that use a subscription-based revenue model will start to become more common. Having the knowledge to piece together integration with online banking services like Paypal and Google Checkout will be great skills to have.&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;&lt;br /&gt;9.Flash and Actionscript Knowledge&lt;/span&gt;&lt;br /&gt;Flash animation can do a lot for a website. Flash can be used to create videos, interesting navigation, fun animated sequences, widgets, and many other useful things on the Internet. The flash technology can add a very professional dimension to any website, and large websites and corporations always pay to have their sites look professional, and often commission Flash animated interfaces to showcase their products. With search engines working on ways to have Flash communicated better with them, this is a skill that's sure to boom as the search technology advances.&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;&lt;br /&gt;10.Widget development - Google Gadgets&lt;/span&gt;&lt;br /&gt;Widgets have changed how web development has been done in the past couple of years. With the advent of widgets, data has become more portable, interactive and most importantly, viral. It's in almost every web startup's business plan to include a widget or two at some point, mainly because it helps increase their audience and puts more eyeballs on their content.&lt;br /&gt;&lt;br /&gt;Widget development requires knowing Javascript and/or flash, not to mention knowledge of the regular language that the parent site is built in.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;As a Conclusion i would like to leave a message on behalf of everyone:&lt;br /&gt;&lt;span style="font-weight: bold;"&gt; &lt;span style="font-size:130%;"&gt;"I tried so hard and got so far but In The End it doesn't even matter!!!!!"&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2316872447148661582-3301452316528998341?l=freshwebdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://freshwebdeveloper.blogspot.com/feeds/3301452316528998341/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2316872447148661582&amp;postID=3301452316528998341' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2316872447148661582/posts/default/3301452316528998341'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2316872447148661582/posts/default/3301452316528998341'/><link rel='alternate' type='text/html' href='http://freshwebdeveloper.blogspot.com/2008/11/skills-needed-to-survive-it-slowdown.html' title='Skills needed to survive the IT Slowdown!!'/><author><name>Amit Kekan</name><uri>http://www.blogger.com/profile/01943272049710032037</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://1.bp.blogspot.com/-Z3n5FM5plI0/TkJYJsx-tbI/AAAAAAAAAGY/L0wdzzV400k/s220/600full-kung-fu-panda-2-artwork.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2316872447148661582.post-5436611187952454830</id><published>2008-11-25T09:32:00.000-08:00</published><updated>2008-11-25T09:47:33.980-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Javascript'/><title type='text'>Five JavaScript Best Practices</title><content type='html'>&lt;span style="font-size:180%;"&gt;&lt;span style="font-weight: bold;"&gt;J&lt;/span&gt;&lt;/span&gt;avaScript is an extremely powerful and flexible scripting language. Unfortunately flexible, for many people, means fallible. I am going to highlight 5 best practices that you can use in any JavaScript project.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-weight: bold;"&gt;&gt;&gt;.&lt;/span&gt;&lt;/span&gt;&lt;strong&gt;First and foremost, keep your code simple, clean and well documented&lt;/strong&gt;. This is by no means unique to JavaScript but many people seem to think it is the exception to the rule. Your code should naturally comment itself but it is also important to at least introduce every function. I recommend two versions, a fully documented and formatted version and then a compressed version that you use in production. There are a number of free online utilities that can strip out comments and pack your script. There is no need to push out the extra size required for the documentation and formatting.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&gt;&gt;.Second, keep your JavaScript in an external file&lt;/strong&gt;. The only exception to this rule is if you have some very lightweight script specific to a single page or are setting up variables that cannot be done in the external JS. An external file results in greater scalability, maintainability and degradability. The correct way to reference an external JS file is as follows:&lt;br /&gt;&lt;br /&gt;&amp;lt;script type="text/javascript" src="script.js"&amp;gt;&amp;lt;/script&lt;span style="font-family:Georgia,serif;"&gt;&lt;span style="font-size:100%;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;strong&gt;&gt;&gt;.Third, separate your JavaScript from the presentation layer&lt;/strong&gt;. We have all heard of unobtrusive JavaScript but we still see inline script all the time. Instead of cluttering your font-end code with dozens of event handlers add them dynamically. There are exceptions to this rule so please use common sense and separate the layers when it makes sense. An example of adding an onclick event handler from JavaScript:&lt;br /&gt;&lt;br /&gt;var div = document.getElementById('div');&lt;br /&gt;div.onclick = new Function("processClick(this)");&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&gt;&gt;.Fourth, properly define and scope variables&lt;/strong&gt;. Many of the scripts I download hoping to use in a project I immediately throw out. The reason being that the programmer did not take the time to properly define and scope variables. Always reference the first instance of a variable by using var. Otherwise the only way someone can know if that is the first reference to that variable is by starting at the top and reading all the way down. It is also important to scope variables correctly. Don’t scope a variable on the global level unless you need it there. I also recommend differentiation of global and local variables though some kind of visual identifier such is all caps on global variables or some easily identifiable character.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&gt;&gt;.Fifth, don’t assume JavaScript support in the first place&lt;/strong&gt;. Depending on your audience you may choose to disregard this suggestion but for mainstream websites I highly suggest coding with the minority in mind (an estimated 5-10% of web users do not have JavaScript enabled) and degrade your scripts gracefully. JavaScript should be considered as an added feature and not a dependency. An examples of this would be links, the most fundamental element of a web page.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&amp;lt;a href="javascript:processClick()"&amp;gt;link&amp;lt;/a&amp;gt;&lt;br /&gt;&amp;lt;a href="#" onclick="javascript:processClick()"&amp;gt;link&amp;lt;/a&lt;span style="font-family:Georgia,serif;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;If the user clicks the either of the links above with JavaScript disabled nothing will happen. However, with the code below they could still navigate.&lt;br /&gt;&lt;br /&gt;&amp;lt;a href="link.html" onclick="processClick(); return false;"&amp;gt;link&amp;lt;/a&lt;span style="font-family:Georgia,serif;"&gt;&amp;gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2316872447148661582-5436611187952454830?l=freshwebdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://freshwebdeveloper.blogspot.com/feeds/5436611187952454830/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2316872447148661582&amp;postID=5436611187952454830' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2316872447148661582/posts/default/5436611187952454830'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2316872447148661582/posts/default/5436611187952454830'/><link rel='alternate' type='text/html' href='http://freshwebdeveloper.blogspot.com/2008/11/five-javascript-best-practices.html' title='Five JavaScript Best Practices'/><author><name>Amit Kekan</name><uri>http://www.blogger.com/profile/01943272049710032037</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://1.bp.blogspot.com/-Z3n5FM5plI0/TkJYJsx-tbI/AAAAAAAAAGY/L0wdzzV400k/s220/600full-kung-fu-panda-2-artwork.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2316872447148661582.post-2670789906414676042</id><published>2008-11-24T08:25:00.000-08:00</published><updated>2009-06-06T10:29:38.699-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Javascript'/><title type='text'>jQuery</title><content type='html'>&lt;span style="font-weight: bold;font-size:180%;" &gt;                    jQuery&lt;/span&gt; is a lightweight open source java-script library (only 15kb in size) that in a relatively short span of time has become one of the most popular libraries on the web.&lt;br /&gt;&lt;br /&gt;A big part of the appeal of jQuery is that it allows you to elegantly (and efficiently) find and manipulate HTML elements with minimum lines of code.  jQuery supports this via a nice "selector" API that allows developers to query for HTML elements, and then apply "commands" to them.  One of the characteristics of jQuery commands is that they can be "chained"&lt;br /&gt;together - so that the result of one command can feed into another.  jQuery also includes a built-in set of animation APIs that can be used as commands.  The combination allows you to do some really cool things with only a few keystrokes.&lt;br /&gt;&lt;br /&gt;For example, the below java-script uses jQuery to find all &amp;lt;div&amp;gt; elements within a page that have a CSS class of "product", and then animate them to slowly disappear:&lt;br /&gt;&lt;br /&gt;$("div.product").slideUp('slow').addClass("removed");&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;As another example, the java-script below uses jQuery to find a specific &amp;lt;table&amp;gt; on the page with an id of "datagrid1", then retrieves every other &amp;lt;tr&amp;gt; row within the datagrid, and sets those &amp;lt;tr&amp;gt; elements to have a CSS class of "even" - which could be used to alternate the background color of each row:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;$("#datagrid1 tr:nth-child(even)").addClass("even");&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;[Note: both of these samples were adapted from code snippets in the excellent jQuery in Action book]&lt;br /&gt;&lt;br /&gt;Providing the ability to perform selection and animation operations like above is something that a lot of developers have been begging for years. Such simplicity has never been offered before by any other development environment or library.&lt;br /&gt;&lt;br /&gt;As a result even Microsoft has accepted this technology and they have already began shipping their Visual Studio 2008 package with jQuery preinstalled and with full support for it including intellisense. According to &lt;a href="http://weblogs.asp.net/Scottgu/" target="_blank"&gt;Scott Gu&lt;/a&gt; (Microsoft Developer, Blogger) - Microsoft is even working on adding new features and bug fixes to the jQuery Library.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2316872447148661582-2670789906414676042?l=freshwebdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://freshwebdeveloper.blogspot.com/feeds/2670789906414676042/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2316872447148661582&amp;postID=2670789906414676042' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2316872447148661582/posts/default/2670789906414676042'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2316872447148661582/posts/default/2670789906414676042'/><link rel='alternate' type='text/html' href='http://freshwebdeveloper.blogspot.com/2008/11/jquery.html' title='jQuery'/><author><name>Amit Kekan</name><uri>http://www.blogger.com/profile/01943272049710032037</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://1.bp.blogspot.com/-Z3n5FM5plI0/TkJYJsx-tbI/AAAAAAAAAGY/L0wdzzV400k/s220/600full-kung-fu-panda-2-artwork.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2316872447148661582.post-8842631958077208642</id><published>2008-11-22T08:37:00.000-08:00</published><updated>2008-12-14T08:46:52.058-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Javascript'/><title type='text'>How to Set MaxLength of a Multiline TextBox</title><content type='html'>&lt;span style="font-size:180%;"&gt;&lt;span style="font-weight: bold;"&gt;E&lt;/span&gt;&lt;/span&gt;ver tried setting up the maxlength property of a ASP.NET Multiline TextBox and ended up finding out that its doesn't work at all!! HEre's a simple solution using Javascript..&lt;br /&gt;You can use the below script to set up the maxlength of a Multiline TextBox or even a HTML TextArea Tag:&lt;br /&gt;&lt;br /&gt;&amp;lt;script type="text/javascript" language="javascript"&amp;gt;&lt;br /&gt;&lt;br /&gt;function ismaxlength(obj){&lt;br /&gt;var mlength=obj.getAttribute? parseInt(obj.getAttribute("maxlength")) : ""&lt;br /&gt;if (obj.getAttribute &amp;amp;&amp;amp; obj.value.length&gt;mlength)&lt;br /&gt;obj.value=obj.value.substring(0,mlength)&lt;br /&gt;}&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&lt;br /&gt;Inside any textarea you wish to add a "maxlength" attribute to, simply do the following:&lt;br /&gt;&lt;br /&gt;&amp;lt;textarea &lt;span style="font-weight: bold; color: rgb(0, 153, 0);"&gt;maxlength="40" onkeyup="return ismaxlength(this)&lt;/span&gt;" &amp;gt;&amp;lt;/textarea&amp;gt;&lt;br /&gt;or&lt;br /&gt;&amp;lt;asp:TextBox ID="txt1" runat="server" &lt;span style="color: rgb(0, 153, 0); font-weight: bold;"&gt;maxlength="40" onkeyup="return ismaxlength(this)"&lt;/span&gt; /&amp;gt;&lt;br /&gt;&lt;br /&gt;The part in green is what you should add, with "40" obviously being the maximum number of characters accepted by this textarea.&lt;br /&gt;Note: In ASP.NET setting up the maxlength might not work. Hence you should  replace the textbox with a textarea and run it as a server control using runat="server"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2316872447148661582-8842631958077208642?l=freshwebdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://freshwebdeveloper.blogspot.com/feeds/8842631958077208642/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2316872447148661582&amp;postID=8842631958077208642' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2316872447148661582/posts/default/8842631958077208642'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2316872447148661582/posts/default/8842631958077208642'/><link rel='alternate' type='text/html' href='http://freshwebdeveloper.blogspot.com/2008/11/how-to-set-maxlength-of-multiline.html' title='How to Set MaxLength of a Multiline TextBox'/><author><name>Amit Kekan</name><uri>http://www.blogger.com/profile/01943272049710032037</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://1.bp.blogspot.com/-Z3n5FM5plI0/TkJYJsx-tbI/AAAAAAAAAGY/L0wdzzV400k/s220/600full-kung-fu-panda-2-artwork.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2316872447148661582.post-6126707613335239894</id><published>2008-11-21T09:55:00.000-08:00</published><updated>2008-12-08T06:13:23.445-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Javascript'/><title type='text'>Hide/Show Div Elements Using JavaScript</title><content type='html'>&lt;span style="font-size:180%;"&gt;&lt;span style="font-weight: bold;"&gt;J&lt;/span&gt;&lt;/span&gt;avaScript can be used to bring interactivity to you web pages by performing client side scripting. Using the style property of an HTML element, the element can be hidden or shown to the user based upon the required condition. For Example:&lt;br /&gt;&lt;br /&gt;&amp;lt;script&amp;gt;&lt;br /&gt;function setDiv(id)&lt;br /&gt;{&lt;br /&gt;            if(document.getElementById(id).value==0)&lt;br /&gt;         {&lt;br /&gt;                                 document.getElementById('myDiv').style.display='none';&lt;br /&gt;          }&lt;br /&gt;          else&lt;br /&gt;        {&lt;br /&gt;&lt;br /&gt;                                  document.getElementById('myDiv').style.display='block';&lt;br /&gt;        }&lt;br /&gt;}&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&lt;br /&gt;This function can be called on any event of another HTML element as:&lt;br /&gt;&lt;br /&gt;&amp;lt;select id="mySelect" name="mySelect" onchange="setDiv(this.id)"&amp;gt;&lt;br /&gt;          &amp;lt;option&amp;gt;Select one&amp;lt;/option&amp;gt;&lt;br /&gt;          &amp;lt;option value="0"&amp;gt;Hide&amp;lt;/option&amp;gt;&lt;br /&gt;         &amp;lt;option value="1"&amp;gt;Show&amp;lt;/option&amp;gt;&lt;br /&gt;&amp;lt;/select&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;div id="myDiv" name="myDiv" style="display:none;"&amp;gt;&lt;br /&gt;         &amp;lt;span&amp;gt;Hi......!!!!!!! &amp;lt;/span&amp;gt;&lt;br /&gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&lt;br /&gt;You can place any thing inside the myDiv element. Further more buy using some &lt;span style="font-size:130%;"&gt;&lt;a href="http://jquery.com/" target="_blank"&gt;&lt;span style="font-weight: bold;"&gt;jQuery&lt;/span&gt;&lt;/a&gt;&lt;/span&gt; you can even add some animation effects.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2316872447148661582-6126707613335239894?l=freshwebdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://freshwebdeveloper.blogspot.com/feeds/6126707613335239894/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2316872447148661582&amp;postID=6126707613335239894' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2316872447148661582/posts/default/6126707613335239894'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2316872447148661582/posts/default/6126707613335239894'/><link rel='alternate' type='text/html' href='http://freshwebdeveloper.blogspot.com/2008/11/hideshow-div-elements-using-javascript.html' title='Hide/Show Div Elements Using JavaScript'/><author><name>Amit Kekan</name><uri>http://www.blogger.com/profile/01943272049710032037</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://1.bp.blogspot.com/-Z3n5FM5plI0/TkJYJsx-tbI/AAAAAAAAAGY/L0wdzzV400k/s220/600full-kung-fu-panda-2-artwork.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2316872447148661582.post-1668452617099761843</id><published>2008-11-18T08:47:00.000-08:00</published><updated>2009-06-06T10:30:32.919-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>Using T-SQL to Simplify Coding</title><content type='html'>&lt;span style="font-weight: bold;font-size:180%;" &gt;         A&lt;/span&gt; sign of a good web developer is determined by his knowledge of SQL. Generally speaking if you know SQL well (be it SQL Server or MySQL) chances are that most of your coding will be reduced dramatically saving you lots of time and also increasing website performance.&lt;br /&gt;  Take for example if you wanted to change the status of a registered user from Active to De active or vice verse on the click of a single button and you are using a int field for it in the database( 0 and 1). Now as a novice what I used to do is run a SELECT query and get the user status field. Then compare the status in client side scripting language, and then again run a Update query to change the user status.&lt;br /&gt;  But as i studied more on SQL i found out that this could be done just by using a single query/stored procedure and only passing the id of the user to the query as follows(for SQL Server):&lt;br /&gt;&lt;br /&gt;  Create  Procedure changeStatus&lt;br /&gt;  @ID integer&lt;br /&gt;  BEGIN&lt;br /&gt;  Declare @status integer&lt;br /&gt;  Select @status= status from UserTable where UserId=@ID&lt;br /&gt;  if @status=1&lt;br /&gt;      Update UserTable set status=0 where UserId=@ID &lt;br /&gt;  ELSE&lt;br /&gt;      Update UserTable set status=1 where UserId=@ID&lt;br /&gt;  END&lt;br /&gt;  END&lt;br /&gt;&lt;br /&gt;  So you see this has saved me a lot of time and coding. Also modification also becomes easy. Hence if you still think that SQL knowledge is not that important for Development; its time to wake up and brush up on YOUR SQL SKILLS!!!!!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2316872447148661582-1668452617099761843?l=freshwebdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://freshwebdeveloper.blogspot.com/feeds/1668452617099761843/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2316872447148661582&amp;postID=1668452617099761843' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2316872447148661582/posts/default/1668452617099761843'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2316872447148661582/posts/default/1668452617099761843'/><link rel='alternate' type='text/html' href='http://freshwebdeveloper.blogspot.com/2008/11/using-t-sql-to-simplify-coding.html' title='Using T-SQL to Simplify Coding'/><author><name>Amit Kekan</name><uri>http://www.blogger.com/profile/01943272049710032037</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://1.bp.blogspot.com/-Z3n5FM5plI0/TkJYJsx-tbI/AAAAAAAAAGY/L0wdzzV400k/s220/600full-kung-fu-panda-2-artwork.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2316872447148661582.post-766552269448960243</id><published>2008-11-15T09:08:00.000-08:00</published><updated>2008-12-08T06:14:41.946-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WEB 2.0'/><title type='text'>What is Web 2.0?</title><content type='html'>&lt;span style="font-size:180%;"&gt;&lt;span style="font-weight: bold;"&gt;                       E&lt;/span&gt;&lt;/span&gt;ver since i started with Web Development, I have been constantly coming across this WEB2.0 word..be it websites, blogs or online pop ups. I neglected it for a long time until finally decided to read about it.&lt;br /&gt;   Well here's a few things i found out about &lt;span style="font-weight: bold;"&gt;WEB 2.0&lt;/span&gt;&lt;br /&gt;1. Its not a technology or Web Standard. It's just a way of how new Web Applications are developed.&lt;br /&gt;2. Most of the Web 2.0 buzz has been related to Google Technology as its constantly making big progress towards making Web Applications more and more like desktop apps.&lt;br /&gt;3.Web 2.0 is quite an old term and has been regularly re-phrased.&lt;br /&gt;4. Use of technology such as AJAX, Silverlight, Flash etc.&lt;br /&gt;   They have some good stuff written about WEB 2.0 on &lt;span style="font-weight: bold;"&gt;Wikipedia&lt;/span&gt;. You might want to see for learning more.&lt;br /&gt;   So this WEB 2.0 term really doesn't mean much to us developers as long as we keep our imaginations flying and showing our creative work....May be as i write this blog post some extra minded people may even be talking about WEB 3.0, 4.0 ,5.0 ......&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2316872447148661582-766552269448960243?l=freshwebdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://freshwebdeveloper.blogspot.com/feeds/766552269448960243/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2316872447148661582&amp;postID=766552269448960243' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2316872447148661582/posts/default/766552269448960243'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2316872447148661582/posts/default/766552269448960243'/><link rel='alternate' type='text/html' href='http://freshwebdeveloper.blogspot.com/2008/11/what-is-web-20.html' title='What is Web 2.0?'/><author><name>Amit Kekan</name><uri>http://www.blogger.com/profile/01943272049710032037</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://1.bp.blogspot.com/-Z3n5FM5plI0/TkJYJsx-tbI/AAAAAAAAAGY/L0wdzzV400k/s220/600full-kung-fu-panda-2-artwork.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2316872447148661582.post-657356118076771754</id><published>2008-11-12T09:08:00.000-08:00</published><updated>2008-12-08T06:15:49.087-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web Browsers'/><title type='text'>Best Browser For Web Development</title><content type='html'>&lt;a href="http://www.microsoft.com/windows/products/winfamily/ie/default.mspx" target="_blank"&gt;&lt;img style="cursor: pointer; width: 70px; height: 70px;" src="http://1.bp.blogspot.com/_GM-4KdVAthw/SRsZZMjjmgI/AAAAAAAAACo/KI0jL89rJIc/s320/Internet_Explorer_7_Logo.png" alt="" id="BLOGGER_PHOTO_ID_5267832109797710338" border="0" /&gt;&lt;/a&gt;&lt;a href="http://www.mozilla.com/firefox/" target="_blank"&gt;&lt;img style="cursor: pointer; width: 70px; height: 70px;" src="http://2.bp.blogspot.com/_GM-4KdVAthw/SRsSESXfM0I/AAAAAAAAACA/bXbkYD6HyPU/s320/firefox-logo.png" alt="" id="BLOGGER_PHOTO_ID_5267824053999055682" border="0" /&gt;&lt;/a&gt;&lt;a href="http://www.opera.com/" target="_blank"&gt;&lt;img style="cursor: pointer; width: 70px; height: 70px;" src="http://4.bp.blogspot.com/_GM-4KdVAthw/SRsWXgzgG1I/AAAAAAAAACY/qBgnUxLOZEw/s320/opera.png" alt="" id="BLOGGER_PHOTO_ID_5267828782338677586" border="0" /&gt;&lt;/a&gt;&lt;a href="http://www.apple.com/safari/" target="_blank"&gt;&lt;img style="cursor: pointer; width: 70px; height: 70px;" src="http://3.bp.blogspot.com/_GM-4KdVAthw/SRsYKVYcLrI/AAAAAAAAACg/0uzwvnC0TS8/s320/Safari+Icon.png" alt="" id="BLOGGER_PHOTO_ID_5267830754957340338" border="0" /&gt;&lt;/a&gt;&lt;a href="http://www.google.com/chrome" target="_blank"&gt;&lt;img style="cursor: pointer; width: 70px; height: 70px;" src="http://1.bp.blogspot.com/_GM-4KdVAthw/SRsTlsE9SrI/AAAAAAAAACQ/5wvhz3pncjI/s320/GoogleChromeLogo.png" alt="" id="BLOGGER_PHOTO_ID_5267825727347968690" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="text-decoration: underline;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;Which is the best browser for web development?&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;The Browser war may be at its highest intense level ever right now with Internet Explorer,&lt;br /&gt;Mozilla Firefox, Opera, Safari haven released their latest versions promising a lot to the&lt;br /&gt;customers and  Google haven jumped into the arena with its latest Chrome  browser with all new&lt;br /&gt;neat javascript supporting technology.&lt;br /&gt;But all these new web browsers have also put us web developers into a great jepoardy!!! As we have to make sure that our web site runs similarly in all of the above (at least these 3 browsers). Even the testers are having hard time looking at 3 to 5 different windows of the same page at the same time(Good luck to them too!!).&lt;br /&gt;&lt;br /&gt;In this all chaos the one browser that &lt;span style="font-weight: bold;"&gt;i trust&lt;/span&gt; and use for my development purpose is Mozilla&lt;br /&gt;&lt;br /&gt;Firefox (latest version). Some of its best features are:&lt;br /&gt;1.Tabbed browsing....Now every one seems to have this one&lt;br /&gt;2.Support for Addon Tools and Themes&lt;br /&gt;3.Definately faster browsing speed than IE&lt;br /&gt;4.Huge open source development team!!&lt;br /&gt;&lt;br /&gt;Apart from this Firefox is also well responsive to CSS and Javascript. It also has very&lt;br /&gt;powerful web development Adon tools which are worth  mentioning here.&lt;br /&gt;1.FireBug-For tracking CSS,Javascript &amp;amp; HTML&lt;br /&gt;2.Web Developer Bar -Provides advanced features including error reporting of Javscript&lt;br /&gt;3.Html Validator    -W3C standard HTML validator&lt;br /&gt;&lt;br /&gt;One may now think that i am trying to promote Mozilla here, but honestly i have tried IE,  Firefox 3 &amp;amp; Chrome, and Firefox surpasses them all with a great margin (provided you install the addons).&lt;br /&gt;Also i would like to mention that Google Chrome seems to be quite promising browser and will definately catch up within a year or so. One unique feature of chrome that i found is that&lt;br /&gt;even if one tab in a window hangs/freezes for some reason you don't have to close the entire&lt;br /&gt;window (I experimented this by putting a javascript into a endless loop)&lt;br /&gt;I havent played with Safari or Opera yet (never needed to!!) but if you readers have&lt;br /&gt;anything worth mentioning about them please feel free to post.&lt;br /&gt;                                         Right now MOZILLA FIREFOX IS THE BEST FOR ME!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2316872447148661582-657356118076771754?l=freshwebdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://freshwebdeveloper.blogspot.com/feeds/657356118076771754/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2316872447148661582&amp;postID=657356118076771754' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2316872447148661582/posts/default/657356118076771754'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2316872447148661582/posts/default/657356118076771754'/><link rel='alternate' type='text/html' href='http://freshwebdeveloper.blogspot.com/2008/11/best-browser-for-web-development.html' title='Best Browser For Web Development'/><author><name>Amit Kekan</name><uri>http://www.blogger.com/profile/01943272049710032037</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://1.bp.blogspot.com/-Z3n5FM5plI0/TkJYJsx-tbI/AAAAAAAAAGY/L0wdzzV400k/s220/600full-kung-fu-panda-2-artwork.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_GM-4KdVAthw/SRsZZMjjmgI/AAAAAAAAACo/KI0jL89rJIc/s72-c/Internet_Explorer_7_Logo.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2316872447148661582.post-8073070219598981084</id><published>2008-11-11T10:25:00.000-08:00</published><updated>2008-12-08T06:16:23.244-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Javascript'/><title type='text'>Javascript function to open a popup</title><content type='html'>&lt;span style="font-size:180%;"&gt;T&lt;/span&gt;his is a very important and handy javascript to open a popup window, useful  in showing small bits of information to user without taking them to different page.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;&amp;lt;script&amp;gt;&lt;/span&gt;  &lt;span style="color: rgb(0, 153, 0);"&gt;function popup(url)&lt;/span&gt; &lt;span style="color: rgb(0, 153, 0);"&gt;{&lt;/span&gt; &lt;span style="color: rgb(0, 153, 0);"&gt;         newwindow=window.open(url,'popup_name','height=500,width=400,left=100,top=100&lt;/span&gt; &lt;span style="color: rgb(0, 153, 0);"&gt;                                                        resizable=yes,scrollbars=yes,toolbar=yes,status=yes');&lt;/span&gt; &lt;span style="color: rgb(0, 153, 0);"&gt;         if(window.focus){newwindow.focus();}&lt;/span&gt; &lt;span style="color: rgb(0, 153, 0);"&gt;}&lt;/span&gt; &lt;span style="color: rgb(0, 153, 0);"&gt;&amp;lt;/script&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This function can be called on any event like mouse click by passing the url of the page to be opened in a popup.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Please Note:&lt;/span&gt; Firefox does not allow the popup window to be non resizable, hence this feature can not be seen in Mozilla Firefox.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2316872447148661582-8073070219598981084?l=freshwebdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://freshwebdeveloper.blogspot.com/feeds/8073070219598981084/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2316872447148661582&amp;postID=8073070219598981084' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2316872447148661582/posts/default/8073070219598981084'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2316872447148661582/posts/default/8073070219598981084'/><link rel='alternate' type='text/html' href='http://freshwebdeveloper.blogspot.com/2008/11/javascript-function-to-open-popup.html' title='Javascript function to open a popup'/><author><name>Amit Kekan</name><uri>http://www.blogger.com/profile/01943272049710032037</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://1.bp.blogspot.com/-Z3n5FM5plI0/TkJYJsx-tbI/AAAAAAAAAGY/L0wdzzV400k/s220/600full-kung-fu-panda-2-artwork.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2316872447148661582.post-3586428864948686744</id><published>2008-11-10T08:17:00.000-08:00</published><updated>2009-06-14T10:47:36.031-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><title type='text'>FCKeditor Common Problem</title><content type='html'>&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;FCKeditor Problem:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0); font-weight: bold; font-style: italic;"&gt;A Potential Dangerous Request Form value was detected from client("")&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.fckeditor.net/" target="_blank"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 300px; height: 100px;" src="http://4.bp.blogspot.com/_GM-4KdVAthw/SRhfQkcbN1I/AAAAAAAAABg/nqE7XqInAps/s320/demo_screenshot.gif" alt="FCKeditor" id="BLOGGER_PHOTO_ID_5267064502475241298" title="FCKeditor" border="0" /&gt;&lt;/a&gt;&lt;span style="font-weight: bold;"&gt;FCKeditor&lt;/span&gt; is great free Web-based HTML text editor to integrate into your website for HTML&lt;br /&gt;editing. Be it ASP.NET or PHP it provides quite a host of features like&lt;br /&gt;fileupload, stylesheets, image uploads etc.&lt;br /&gt;But a very nagging problem that is associated with Fckeditor while using in ASP.NET is the above&lt;br /&gt;titled error.&lt;br /&gt;This error is mostly received when a page containing the Fckeditor server control is loading and&lt;br /&gt;suddenly the user clicks on any other link/button on the page   before the current page loads&lt;br /&gt;completely.&lt;br /&gt;Keep in mind that this is a ASP.NET security feature.&lt;br /&gt;A very simple solution to this problem is to set the Page Directives ValidateRequest property to&lt;br /&gt;false. This can be set in the first line of the aspx page as follows..&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;&amp;lt;%@ Page language="C#" CodeFile="index.aspx" Inherits="Index.aspx.cs" ValidateRequest="false"  %&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Note:&lt;/span&gt; ValidateRequest is a ASP.NET security mechanism that protects a website from &lt;span style="font-weight: bold; color: rgb(255, 0, 0);"&gt;Cross Side Scripting&lt;/span&gt; attacks. Disabling this would leave your  site vulnerable to such attacks! You can find more about this CSC by googling around.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2316872447148661582-3586428864948686744?l=freshwebdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://freshwebdeveloper.blogspot.com/feeds/3586428864948686744/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2316872447148661582&amp;postID=3586428864948686744' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2316872447148661582/posts/default/3586428864948686744'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2316872447148661582/posts/default/3586428864948686744'/><link rel='alternate' type='text/html' href='http://freshwebdeveloper.blogspot.com/2008/11/fckeditor-common-problem.html' title='FCKeditor Common Problem'/><author><name>Amit Kekan</name><uri>http://www.blogger.com/profile/01943272049710032037</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://1.bp.blogspot.com/-Z3n5FM5plI0/TkJYJsx-tbI/AAAAAAAAAGY/L0wdzzV400k/s220/600full-kung-fu-panda-2-artwork.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_GM-4KdVAthw/SRhfQkcbN1I/AAAAAAAAABg/nqE7XqInAps/s72-c/demo_screenshot.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2316872447148661582.post-5467760770906369886</id><published>2008-11-07T09:18:00.000-08:00</published><updated>2008-12-08T06:18:07.890-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><title type='text'>Multiple web applications</title><content type='html'>&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;Disabling web.config Inheritance for Child Applications in Subfolders in ASP.NET 2.0!!&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;(making multiple web applications work together)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Each ASP.NET Web Application has its own configuration file called web.config file.&lt;br /&gt;In fact every directory in ASP.NET application can have one. Settings in each web.config file apply to the pages in the directory where its placed, and all the subdirectories of that directory.&lt;br /&gt;&lt;br /&gt;This is called &lt;span style="font-weight: bold;"&gt;Configuration Inheritance&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;So if you create an ASP.NET application and set its web.config file, add custom HttpHandlers, UrlRewriting module etc and try to create another ASP.NET Web Application in the subfolder, you can end up having problems because application in the subfolder will inherit all the settings from its parent  web.config.&lt;br /&gt;&lt;br /&gt;So if you for example setup UrlRewriter module in your root web applications like this:&lt;br /&gt;&lt;br /&gt;     &amp;lt;httpModules&amp;gt;&lt;br /&gt;&lt;br /&gt;       &amp;lt;add name="UrlRewriteModule" type="UrlRewritingNet.Web.UrlRewriteModule, UrlRewritingNet.UrlRewriter"/&amp;gt;&lt;br /&gt;&lt;br /&gt;       &amp;lt;add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/&amp;gt;&lt;br /&gt;&lt;br /&gt;     &amp;lt;/httpModules&amp;gt;&lt;br /&gt;&lt;br /&gt;And in your child web application (in subfolder) you are not using UrlRewriteModule, then if you try to run the child Web Application in your browser, you will get error like this:&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(255, 0, 0);"&gt;Configuration Error&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(255, 0, 0);"&gt;Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(255, 0, 0);"&gt;Parser Error Message: Could not load file or assembly 'UrlRewritingNet.UrlRewriter' or one of its dependencies. The system cannot find the file specified. (d:\Projects\VS\AspDotNetFaqProject\Website\web.config line 89)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(255, 0, 0);"&gt;Source Error:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(255, 0, 0);"&gt;Line 88: &amp;lt;httpModules&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(255, 0, 0);"&gt;Line 89: &amp;lt;add name="UrlRewriteModule" type="UrlRewritingNet.Web.UrlRewriteModule, UrlRewritingNet.UrlRewriter"/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(255, 0, 0);"&gt;Line 90: &amp;lt;add name="ScriptModule" type="System.Web.Handlers.ScriptModule, &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(255, 0, 0);"&gt;          System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(255, 0, 0);"&gt;Line 91: &amp;lt;/httpModules&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;What happens here is that because UrlRewriteModule is configured in the parent's folder web.config file, this setting is inherited by the child application's web.config file, and because of this ASP.NET is looking for the UrlRewriteModule DLL file in the BIN directory, and off course its not there.&lt;br /&gt;&lt;br /&gt;Luckily, there is a easy solution to this problem.&lt;br /&gt;&lt;br /&gt;First thing you can do is to remove the problematic HttpModule in your child application web.config file using the remove command like this:&lt;br /&gt;&lt;br /&gt;     &amp;lt;httpModules&amp;gt;&lt;br /&gt;&lt;br /&gt;       &amp;lt;remove name="UrlRewriteModule" /&amp;gt;&lt;br /&gt;&lt;br /&gt;     &amp;lt;/httpModules&amp;gt;&lt;br /&gt;&lt;br /&gt;This would remove the handler and your application would run fine.&lt;br /&gt;Or you could use &amp;lt;clear/&amp;gt; command like this:&lt;br /&gt;&lt;br /&gt;     &amp;lt;httpModules&amp;gt;&lt;br /&gt;&lt;br /&gt;       &amp;lt;clear/&amp;gt;&lt;br /&gt;&lt;br /&gt;     &amp;lt;/httpModules&amp;gt;&lt;br /&gt;&lt;br /&gt;This would clear all the HttpModules in your child application.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-size:130%;"&gt;B&lt;/span&gt;ut&lt;/span&gt; what to do when there are many settings in your root web.config file that you don't want to be propagated to your child applications?&lt;br /&gt;&lt;br /&gt;Here is the solution:&lt;br /&gt;With the &amp;lt;location&amp;gt; attribute with inheritInChildApplications set to false in your root web.config file you can restrict configuration inheritance.&lt;br /&gt;So, by wrapping a section of your web.config file in &amp;lt;location&amp;gt; attribute you can instruct ASP.NET not to inherit those settings to child applications/folders and their web.config files.&lt;br /&gt;&lt;br /&gt;In fact  you can wrap the whole &amp;lt;system.web&amp;gt; section in one &amp;lt;location&amp;gt; attribute and disable configuration inheritance so none of the parent settings from &amp;lt;system.web&amp;gt; will be inherited to the child applications you create in subfolders.&lt;br /&gt;&lt;br /&gt;Here is how to use this in practice:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;  &amp;lt;location path="." inheritInChildApplications="false"&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;    &amp;lt;system.web&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;    ...&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;    &amp;lt;/system.web&amp;gt;  &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;  &amp;lt;/location&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 0, 0);"&gt;NOTE:&lt;/span&gt; Do remember that if you do this, you need to manually insert all the settings you need in the &amp;lt;system.web&amp;gt; for your child applications because none of the settings from the root web.config will be propagated...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2316872447148661582-5467760770906369886?l=freshwebdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://freshwebdeveloper.blogspot.com/feeds/5467760770906369886/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2316872447148661582&amp;postID=5467760770906369886' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2316872447148661582/posts/default/5467760770906369886'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2316872447148661582/posts/default/5467760770906369886'/><link rel='alternate' type='text/html' href='http://freshwebdeveloper.blogspot.com/2008/11/disabling-webconfig-inheritance-for.html' title='Multiple web applications'/><author><name>Amit Kekan</name><uri>http://www.blogger.com/profile/01943272049710032037</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://1.bp.blogspot.com/-Z3n5FM5plI0/TkJYJsx-tbI/AAAAAAAAAGY/L0wdzzV400k/s220/600full-kung-fu-panda-2-artwork.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2316872447148661582.post-5526903934075982919</id><published>2008-11-01T11:04:00.000-07:00</published><updated>2009-06-06T10:35:08.921-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web Security'/><title type='text'>Enforcing SSL Security For WebPages</title><content type='html'>Many times we need to add &lt;span class="Apple-style-span" style="font-weight: bold;"&gt;SSL&lt;/span&gt; security to few of our web pages for secure transactions.&lt;div&gt;Now initailly when i wanted  to do so i tried to hard code the link by using "&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;https&lt;/span&gt;://mylink.com ". But if the user typed the link as "http://mylink.com" the page still opened in non secure mode.&lt;/div&gt;&lt;div&gt;To overcome this problem i found a simple function that automatically detects if the page is in secure mode or not and then force it to go into secure mode.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Here is the code for &lt;span class="Apple-style-span" style="font-weight: bold;"&gt;ASP.NET 2.0:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="Apple-style-span"&gt;protected  &lt;/span&gt;&lt;span class="Apple-style-span"&gt;void ForceHTTPS()&lt;br /&gt;{&lt;br /&gt;      if(!Request.IsSecureConnection)&lt;br /&gt;      {&lt;br /&gt;               string  server_name=HttpUtility.UrlEncode(Request.ServerVariables["SERVER_NAME"]);&lt;br /&gt;               string forceurl="https://"+ server_name + Request.FilePath;&lt;br /&gt;               Response.Redirect(forceurl);&lt;br /&gt;      }&lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;and for &lt;span class="Apple-style-span" style="font-weight: bold;"&gt;PHP 5:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;function ForceHTTPS()&lt;/div&gt;&lt;div&gt;{&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;         &lt;/span&gt;if($_SERVER['HTTPS']!="on")&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;        &lt;/span&gt;{&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;                  &lt;/span&gt;$forceurl="http://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;                   &lt;/span&gt;header("location:$forceurl");&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;                   &lt;/span&gt;exit;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;         &lt;/span&gt;}&lt;br /&gt;&lt;/div&gt;&lt;div&gt;}&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;These can be very handy when only a few web pages need SSL.&lt;/div&gt;&lt;div&gt;Note: Please make sure that the server has a valid SSL certificate( need to purchase)  for https:// to work other wise you will get page not found error or certificate expired error.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2316872447148661582-5526903934075982919?l=freshwebdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://freshwebdeveloper.blogspot.com/feeds/5526903934075982919/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2316872447148661582&amp;postID=5526903934075982919' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2316872447148661582/posts/default/5526903934075982919'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2316872447148661582/posts/default/5526903934075982919'/><link rel='alternate' type='text/html' href='http://freshwebdeveloper.blogspot.com/2008/11/enforcing-ssl-security-for-webpages.html' title='Enforcing SSL Security For WebPages'/><author><name>Amit Kekan</name><uri>http://www.blogger.com/profile/01943272049710032037</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://1.bp.blogspot.com/-Z3n5FM5plI0/TkJYJsx-tbI/AAAAAAAAAGY/L0wdzzV400k/s220/600full-kung-fu-panda-2-artwork.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2316872447148661582.post-1089455688510354421</id><published>2008-10-30T03:33:00.000-07:00</published><updated>2008-12-08T06:19:16.414-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Javascript'/><title type='text'>Importance of Javascript</title><content type='html'>&lt;span style="font-size:180%;"&gt;&lt;span style="font-weight: bold;"&gt;I&lt;/span&gt;&lt;/span&gt;f you are a   fresh web developer and just finished learning your very first server side scripting language aka ASP.NET, then you probably must be thinking why in the world should i learn another client side language aka Javascript. I mean you probably can get most of the things done by using the all mighty "ASP.NET" technology, can't you?&lt;br /&gt;                      Well its time to get a reality check!! No web developer these days can survive without knowing javascript...take my word for it!!&lt;br /&gt;                      Even i used to think the same way but soon realized that its  not possible to stay without js. Take for example you want to show a alert message or get a confirmation from the user on the client side. You might think that using MessageBox.Show() would do the trick but it fails on many occasion as its a windows class library function. Instead you have to write something like this. in the head section of your html document inside the scripts tab("script").&lt;br /&gt;&lt;br /&gt;         var ans= confirm("Are you sure you want to do this?")&lt;br /&gt;                 if(ans==true)&lt;br /&gt;                      ----&lt;br /&gt;                else&lt;br /&gt;                      ----&lt;br /&gt;&lt;br /&gt;                      Well this is a good example for very first starters and you might find many other stuff accross the internet.&lt;br /&gt;                      My point remains that you cannot ignore javascripts and start learning it immediately. A good webiste to get started is www.w3schools.com.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2316872447148661582-1089455688510354421?l=freshwebdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://freshwebdeveloper.blogspot.com/feeds/1089455688510354421/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2316872447148661582&amp;postID=1089455688510354421' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2316872447148661582/posts/default/1089455688510354421'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2316872447148661582/posts/default/1089455688510354421'/><link rel='alternate' type='text/html' href='http://freshwebdeveloper.blogspot.com/2008/10/importance-of-javascript.html' title='Importance of Javascript'/><author><name>Amit Kekan</name><uri>http://www.blogger.com/profile/01943272049710032037</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://1.bp.blogspot.com/-Z3n5FM5plI0/TkJYJsx-tbI/AAAAAAAAAGY/L0wdzzV400k/s220/600full-kung-fu-panda-2-artwork.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2316872447148661582.post-2015524887668988506</id><published>2008-10-12T08:37:00.000-07:00</published><updated>2008-12-08T06:19:57.153-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web Development'/><title type='text'>Starting Web Development</title><content type='html'>&lt;span style="font-weight: bold;font-size:180%;" &gt;A&lt;/span&gt;s a fresh web developer myself,  i have been facing  many new challenges and hurdles during my development career. This blog has been started to discuss about any minor or major difficulties that any web developer would come across.. I would be regularly posting any code or examples of my work/importance to share it with others.&lt;br /&gt;               Also would like my reader to post their problems may it be of any nature.&lt;br /&gt;Currently i am following &lt;span style="font-weight: bold;"&gt;ASP.NET 2.0 and PHP5.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2316872447148661582-2015524887668988506?l=freshwebdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://freshwebdeveloper.blogspot.com/feeds/2015524887668988506/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2316872447148661582&amp;postID=2015524887668988506' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2316872447148661582/posts/default/2015524887668988506'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2316872447148661582/posts/default/2015524887668988506'/><link rel='alternate' type='text/html' href='http://freshwebdeveloper.blogspot.com/2008/10/starting-web-development.html' title='Starting Web Development'/><author><name>Amit Kekan</name><uri>http://www.blogger.com/profile/01943272049710032037</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://1.bp.blogspot.com/-Z3n5FM5plI0/TkJYJsx-tbI/AAAAAAAAAGY/L0wdzzV400k/s220/600full-kung-fu-panda-2-artwork.jpg'/></author><thr:total>0</thr:total></entry></feed>
