<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:blogChannel="http://backend.userland.com/blogChannelModule" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">
  <channel>
    <title>Blogging Developer</title>
    <description>Tips &amp; Tricks &amp; Tutorials on Web Development(ASP.NET/JavaScript/C#) | Search Engine Optimization(SEO) | Online Marketing</description>
    <link>http://www.bloggingdeveloper.com/</link>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <generator>BlogEngine.NET 1.3.0.10</generator>
<language>en-US</language><blogChannel:blogRoll>http://www.bloggingdeveloper.com/opml.axd</blogChannel:blogRoll><blogChannel:blink>http://www.bloggingdeveloper.com/syndication.axd</blogChannel:blink><dc:creator>Blogging Developer</dc:creator><dc:title>Blogging Developer</dc:title><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/bloggingdeveloper" type="application/rss+xml" /><item><title>JavaScript QueryString - Parse/Get QueryString with Client-Side JavaScript</title><description>&lt;h3&gt;&lt;strong&gt;Get URL Parameters (QueryStrings) using Javascript&lt;/strong&gt;&lt;/h3&gt;
&lt;br /&gt;
&lt;p&gt;
Nearly all server-side programming languages have built-in functions to &lt;strong&gt;retrieve querystring values of a URL&lt;/strong&gt;. In web browsers you can access &lt;strong&gt;the querystring with client-side JavaScript&lt;/strong&gt;, but there is &lt;strong&gt;no standard way to parse out the name/value pairs&lt;/strong&gt;. So here is a &lt;strong&gt;function to return a parameter you specify&lt;/strong&gt;. The following javascript code snippet facilitates Javascript&amp;#39;s built in &lt;strong&gt;regular expressions&lt;/strong&gt; to retrieve value of the &lt;strong&gt;key&lt;/strong&gt;. Optionally, you can specify a&lt;strong&gt; default value&lt;/strong&gt; to return&lt;strong&gt; when key does not exist&lt;/strong&gt;.
&lt;/p&gt;
&lt;p class="code"&gt;
&lt;strong&gt;function getQuerystring&lt;/strong&gt;(key, default_)&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp; if (default_==null) default_=&amp;quot;&amp;quot;; &lt;br /&gt;
&amp;nbsp; key = key.replace(/[\[]/,&amp;quot;\\\[&amp;quot;).replace(/[\]]/,&amp;quot;\\\]&amp;quot;);&lt;br /&gt;
&amp;nbsp; var regex = new RegExp(&amp;quot;[\\?&amp;amp;]&amp;quot;+key+&amp;quot;=([^&amp;amp;#]*)&amp;quot;);&lt;br /&gt;
&amp;nbsp; var qs = regex.exec(window.location.href);&lt;br /&gt;
&amp;nbsp; if(qs == null)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; return default_;&lt;br /&gt;
&amp;nbsp; else&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; return qs[1];&lt;br /&gt;
}
&lt;/p&gt;
&lt;p&gt;
The &lt;strong&gt;getQuerystring function &lt;/strong&gt;is simple to use. Let&amp;#39;s say you have the following URL:
&lt;/p&gt;
&lt;p class="code"&gt;
http://www.bloggingdeveloper.com?author=bloggingdeveloper
&lt;/p&gt;
&lt;p&gt;
and you want to get the &amp;quot;author&amp;quot; querystring&amp;#39;s value:
&lt;/p&gt;
&lt;p class="code"&gt;
var author_value = &lt;strong&gt;getQuerystring&lt;/strong&gt;(&amp;#39;author&amp;#39;);
&lt;/p&gt;
&lt;p&gt;
If you execute code shown in the above line,  the &lt;strong&gt;author_value&lt;/strong&gt; will be &lt;strong&gt;bloggingdeveloper&lt;/strong&gt;. The &lt;strong&gt;query string&lt;/strong&gt; is parsed by the &lt;strong&gt;regular expression&lt;/strong&gt; and the value of the &lt;strong&gt;author_value&lt;/strong&gt; parameter is retrieved. The function is smart in a couple of ways. For example, if you have an anchor in your URL like our example URL above does (#top) the &lt;strong&gt;getQuerystring()&lt;/strong&gt; function knows to stop before the # character. Also, if a &lt;strong&gt;requested parameter&lt;/strong&gt; doesn&amp;#39;t exist in the query string and the default value is not specified as a function parameter then an empty string is returned instead of a null. 
&lt;/p&gt;
&lt;div class="socialBookmarksContainer"&gt;&lt;a rel="nofollow" href="http://digg.com/submit/?url=http://www.bloggingdeveloper.com/post/JavaScript-QueryString-ParseGet-QueryString-with-Client-Side-JavaScript.aspx" target="_blank" title="Digg It!"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/digg_24.png" style="border: 0;" alt="Digg It!" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.dzone.com/links/add.html?url=http://www.bloggingdeveloper.com/post/JavaScript-QueryString-ParseGet-QueryString-with-Client-Side-JavaScript.aspx&amp;amp;title=JavaScript QueryString - Parse/Get QueryString with Client-Side JavaScript" target="_blank" title="DZone It!"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/dzone_24.png" style="border: 0;" alt="DZone It!" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.stumbleupon.com/submit?url=http://www.bloggingdeveloper.com/post/JavaScript-QueryString-ParseGet-QueryString-with-Client-Side-JavaScript.aspx" target="_blank" title="StumbleUpon"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/stumbleupon_24.png" style="border: 0;" alt="StumbleUpon" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://technorati.com/ping?url=http://www.bloggingdeveloper.com/" target="_blank" title="Technorati"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/technorati_24.png" style="border: 0;" alt="Technorati" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://reddit.com/submit?url=http://www.bloggingdeveloper.com/post/JavaScript-QueryString-ParseGet-QueryString-with-Client-Side-JavaScript.aspx&amp;amp;title=JavaScript QueryString - Parse/Get QueryString with Client-Side JavaScript" target="_blank" title="Reddit"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/reddit_24.png" style="border: 0;" alt="Reddit" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://del.icio.us/post?url=http://www.bloggingdeveloper.com/post/JavaScript-QueryString-ParseGet-QueryString-with-Client-Side-JavaScript.aspx&amp;amp;title=JavaScript QueryString - Parse/Get QueryString with Client-Side JavaScript" target="_blank" title="Del.icio.us"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/delicious_24.png" style="border: 0;" alt="Del.icio.us" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.newsvine.com/_wine/save?u=http://www.bloggingdeveloper.com/post/JavaScript-QueryString-ParseGet-QueryString-with-Client-Side-JavaScript.aspx" target="_blank"title="NewsVine"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/newsvine_24.png" style="border: 0;" alt="NewsVine" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://furl.net" target="_blank" title="Furl"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/furl_24.png" style="border: 0;" alt="Furl" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://blinklist.com/submit/" target="_blank" title="BlinkList"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/blinklist_24.png" style="border: 0;" alt="BlinkList" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/DyZzeFjPLCU" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/DyZzeFjPLCU/post.aspx</link><author>bloggingdeveloper.nospam@nospam.bloggingdeveloper.com (Blogging Developer)</author><comments>http://www.bloggingdeveloper.com/post/JavaScript-QueryString-ParseGet-QueryString-with-Client-Side-JavaScript.aspx#comment</comments><guid isPermaLink="false">http://www.bloggingdeveloper.com/post.aspx?id=d7e1b403-51a3-43fc-9f81-a46d577869df</guid><pubDate>Fri, 11 Jul 2008 10:00:00 +0300</pubDate><category>All</category><category>JavaScript</category><category>Tips</category><dc:publisher>Blogging Developer</dc:publisher><pingback:server>http://www.bloggingdeveloper.com/pingback.axd</pingback:server><pingback:target>http://www.bloggingdeveloper.com/post.aspx?id=d7e1b403-51a3-43fc-9f81-a46d577869df</pingback:target><slash:comments>7</slash:comments><trackback:ping>http://www.bloggingdeveloper.com/trackback.axd?id=d7e1b403-51a3-43fc-9f81-a46d577869df</trackback:ping><wfw:comment>http://www.bloggingdeveloper.com/post/JavaScript-QueryString-ParseGet-QueryString-with-Client-Side-JavaScript.aspx#comment</wfw:comment><wfw:commentRss>http://www.bloggingdeveloper.com/syndication.axd?post=d7e1b403-51a3-43fc-9f81-a46d577869df</wfw:commentRss><feedburner:origLink>http://www.bloggingdeveloper.com/post.aspx?id=d7e1b403-51a3-43fc-9f81-a46d577869df</feedburner:origLink></item><item><title>Javascript Delayed Redirect</title><description>&lt;p align="justify"&gt;
&lt;strong&gt;Time delay in url redirection&lt;/strong&gt; may be useful for the following conditions: 
&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;&lt;strong&gt;Refresh a web page&lt;/strong&gt; in every specified seconds.&lt;/li&gt;
	&lt;li&gt;For displaying an &amp;quot;&lt;strong&gt;Update you Bookmark&lt;/strong&gt;&amp;quot; page when a page Url has ben changed.&lt;/li&gt;
&lt;/ul&gt;
&lt;p align="justify"&gt;
&lt;br /&gt;
The html and &lt;strong&gt;JavaScript&lt;/strong&gt; code for &lt;strong&gt;url redirection with delay&lt;/strong&gt; is given below: 
&lt;/p&gt;
&lt;p class="code"&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
function &lt;strong&gt;delayedRedirect&lt;/strong&gt;(){&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; window.location = &amp;quot;/default.aspx&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&amp;lt;body onLoad=&amp;quot;&lt;strong&gt;setTimeout&lt;/strong&gt;(&amp;#39;&lt;strong&gt;delayedRedirect()&lt;/strong&gt;&amp;#39;, 3000)&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h2&amp;gt;You&amp;#39;ll be redirected soon!&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt; 
&lt;/p&gt;
&lt;p align="justify"&gt;
Th&lt;strong&gt;e JavaScript&lt;/strong&gt; function &lt;strong&gt;setTimeout &lt;/strong&gt;is the most important part of the code given above. &lt;strong&gt;Javascript setTimeout &lt;/strong&gt;function calls &lt;strong&gt;delayedRedirect &lt;/strong&gt;function after 3 seconds (3000 miliseconds).
&lt;/p&gt;
&lt;p align="justify"&gt;
You may find more details of &lt;strong&gt;setTimeout()&lt;/strong&gt; method in &lt;a href="http://www.bloggingdeveloper.com/post/JavaScript-setTimeout-Function-JavaScript-Timing-Events.aspx"&gt;JavaScript setTimeout Function - JavaScript Timing Events&lt;/a&gt; 
&lt;/p&gt;
&lt;div class="socialBookmarksContainer"&gt;&lt;a rel="nofollow" href="http://digg.com/submit/?url=http://www.bloggingdeveloper.com/post/Javascript-Delayed-Redirect.aspx" target="_blank" title="Digg It!"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/digg_24.png" style="border: 0;" alt="Digg It!" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.dzone.com/links/add.html?url=http://www.bloggingdeveloper.com/post/Javascript-Delayed-Redirect.aspx&amp;amp;title=Javascript Delayed Redirect" target="_blank" title="DZone It!"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/dzone_24.png" style="border: 0;" alt="DZone It!" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.stumbleupon.com/submit?url=http://www.bloggingdeveloper.com/post/Javascript-Delayed-Redirect.aspx" target="_blank" title="StumbleUpon"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/stumbleupon_24.png" style="border: 0;" alt="StumbleUpon" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://technorati.com/ping?url=http://www.bloggingdeveloper.com/" target="_blank" title="Technorati"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/technorati_24.png" style="border: 0;" alt="Technorati" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://reddit.com/submit?url=http://www.bloggingdeveloper.com/post/Javascript-Delayed-Redirect.aspx&amp;amp;title=Javascript Delayed Redirect" target="_blank" title="Reddit"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/reddit_24.png" style="border: 0;" alt="Reddit" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://del.icio.us/post?url=http://www.bloggingdeveloper.com/post/Javascript-Delayed-Redirect.aspx&amp;amp;title=Javascript Delayed Redirect" target="_blank" title="Del.icio.us"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/delicious_24.png" style="border: 0;" alt="Del.icio.us" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.newsvine.com/_wine/save?u=http://www.bloggingdeveloper.com/post/Javascript-Delayed-Redirect.aspx" target="_blank"title="NewsVine"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/newsvine_24.png" style="border: 0;" alt="NewsVine" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://furl.net" target="_blank" title="Furl"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/furl_24.png" style="border: 0;" alt="Furl" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://blinklist.com/submit/" target="_blank" title="BlinkList"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/blinklist_24.png" style="border: 0;" alt="BlinkList" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/Zl8GtYKlGqI" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/Zl8GtYKlGqI/post.aspx</link><author>bloggingdeveloper.nospam@nospam.bloggingdeveloper.com (Blogging Developer)</author><comments>http://www.bloggingdeveloper.com/post/Javascript-Delayed-Redirect.aspx#comment</comments><guid isPermaLink="false">http://www.bloggingdeveloper.com/post.aspx?id=59847b8c-1430-48e6-b8d3-89efc0efc43d</guid><pubDate>Fri, 27 Jun 2008 12:53:00 +0300</pubDate><category>All</category><category>JavaScript</category><dc:publisher>Blogging Developer</dc:publisher><pingback:server>http://www.bloggingdeveloper.com/pingback.axd</pingback:server><pingback:target>http://www.bloggingdeveloper.com/post.aspx?id=59847b8c-1430-48e6-b8d3-89efc0efc43d</pingback:target><slash:comments>0</slash:comments><trackback:ping>http://www.bloggingdeveloper.com/trackback.axd?id=59847b8c-1430-48e6-b8d3-89efc0efc43d</trackback:ping><wfw:comment>http://www.bloggingdeveloper.com/post/Javascript-Delayed-Redirect.aspx#comment</wfw:comment><wfw:commentRss>http://www.bloggingdeveloper.com/syndication.axd?post=59847b8c-1430-48e6-b8d3-89efc0efc43d</wfw:commentRss><feedburner:origLink>http://www.bloggingdeveloper.com/post.aspx?id=59847b8c-1430-48e6-b8d3-89efc0efc43d</feedburner:origLink></item><item><title>Setting Focus Using Javascript to an Input Field / Form Field / Html Element (Textbox) when the Page Loads</title><description>&lt;p&gt;
The&lt;strong&gt; javascript &lt;/strong&gt;code below shows how to &lt;strong&gt;set the focus on an Input Field / Form Field / Html Element (Textbox)&lt;/strong&gt; when the &lt;strong&gt;page is loaded&lt;/strong&gt;.
&lt;/p&gt;
&lt;p class="code"&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
function &lt;strong&gt;setFocus()&lt;/strong&gt;&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
document.getElementById(&amp;quot;name&amp;quot;).focus();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;body onload=&amp;quot;&lt;strong&gt;setFocus()&lt;/strong&gt;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;nbsp;
&amp;lt;form&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
Name: &amp;lt;&lt;strong&gt;input type=&amp;quot;text&amp;quot; id=&amp;quot;name&amp;quot; size=&amp;quot;30&amp;quot;&lt;/strong&gt;&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
Surname: &amp;lt;&lt;strong&gt;input type=&amp;quot;text&amp;quot; id=&amp;quot;surname&amp;quot; size=&amp;quot;30&amp;quot;&lt;/strong&gt;&amp;gt; &lt;br /&gt;
&amp;nbsp;
&amp;lt;/form&amp;gt;&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/html&amp;gt;
&lt;/p&gt;
&lt;div class="socialBookmarksContainer"&gt;&lt;a rel="nofollow" href="http://digg.com/submit/?url=http://www.bloggingdeveloper.com/post/Setting-Focus-Using-Javascript-to-an-Input-Field-(Textbox)-when-the-Page-Loads.aspx" target="_blank" title="Digg It!"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/digg_24.png" style="border: 0;" alt="Digg It!" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.dzone.com/links/add.html?url=http://www.bloggingdeveloper.com/post/Setting-Focus-Using-Javascript-to-an-Input-Field-(Textbox)-when-the-Page-Loads.aspx&amp;amp;title=Setting Focus Using Javascript to an Input Field / Form Field / Html Element (Textbox) when the Page Loads" target="_blank" title="DZone It!"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/dzone_24.png" style="border: 0;" alt="DZone It!" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.stumbleupon.com/submit?url=http://www.bloggingdeveloper.com/post/Setting-Focus-Using-Javascript-to-an-Input-Field-(Textbox)-when-the-Page-Loads.aspx" target="_blank" title="StumbleUpon"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/stumbleupon_24.png" style="border: 0;" alt="StumbleUpon" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://technorati.com/ping?url=http://www.bloggingdeveloper.com/" target="_blank" title="Technorati"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/technorati_24.png" style="border: 0;" alt="Technorati" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://reddit.com/submit?url=http://www.bloggingdeveloper.com/post/Setting-Focus-Using-Javascript-to-an-Input-Field-(Textbox)-when-the-Page-Loads.aspx&amp;amp;title=Setting Focus Using Javascript to an Input Field / Form Field / Html Element (Textbox) when the Page Loads" target="_blank" title="Reddit"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/reddit_24.png" style="border: 0;" alt="Reddit" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://del.icio.us/post?url=http://www.bloggingdeveloper.com/post/Setting-Focus-Using-Javascript-to-an-Input-Field-(Textbox)-when-the-Page-Loads.aspx&amp;amp;title=Setting Focus Using Javascript to an Input Field / Form Field / Html Element (Textbox) when the Page Loads" target="_blank" title="Del.icio.us"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/delicious_24.png" style="border: 0;" alt="Del.icio.us" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.newsvine.com/_wine/save?u=http://www.bloggingdeveloper.com/post/Setting-Focus-Using-Javascript-to-an-Input-Field-(Textbox)-when-the-Page-Loads.aspx" target="_blank"title="NewsVine"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/newsvine_24.png" style="border: 0;" alt="NewsVine" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://furl.net" target="_blank" title="Furl"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/furl_24.png" style="border: 0;" alt="Furl" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://blinklist.com/submit/" target="_blank" title="BlinkList"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/blinklist_24.png" style="border: 0;" alt="BlinkList" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/v1vmX4k0x_I" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/v1vmX4k0x_I/post.aspx</link><author>bloggingdeveloper.nospam@nospam.bloggingdeveloper.com (Blogging Developer)</author><comments>http://www.bloggingdeveloper.com/post/Setting-Focus-Using-Javascript-to-an-Input-Field-(Textbox)-when-the-Page-Loads.aspx#comment</comments><guid isPermaLink="false">http://www.bloggingdeveloper.com/post.aspx?id=f1472157-b520-4026-a2a6-1bbe883be5ae</guid><pubDate>Fri, 27 Jun 2008 11:15:00 +0300</pubDate><category>All</category><category>JavaScript</category><category>Tips</category><dc:publisher>Blogging Developer</dc:publisher><pingback:server>http://www.bloggingdeveloper.com/pingback.axd</pingback:server><pingback:target>http://www.bloggingdeveloper.com/post.aspx?id=f1472157-b520-4026-a2a6-1bbe883be5ae</pingback:target><slash:comments>1</slash:comments><trackback:ping>http://www.bloggingdeveloper.com/trackback.axd?id=f1472157-b520-4026-a2a6-1bbe883be5ae</trackback:ping><wfw:comment>http://www.bloggingdeveloper.com/post/Setting-Focus-Using-Javascript-to-an-Input-Field-(Textbox)-when-the-Page-Loads.aspx#comment</wfw:comment><wfw:commentRss>http://www.bloggingdeveloper.com/syndication.axd?post=f1472157-b520-4026-a2a6-1bbe883be5ae</wfw:commentRss><feedburner:origLink>http://www.bloggingdeveloper.com/post.aspx?id=f1472157-b520-4026-a2a6-1bbe883be5ae</feedburner:origLink></item><item><title>Set Focus on Page Load / After Postback / After Submit in ASP.NET 2.0 and ASP.NET 3.5 - Setting Focus to an ASP.NET Control</title><description>&lt;p&gt;
In ASP.NET 1.x, it is not possible to programmatically &lt;strong&gt;set focus&lt;/strong&gt; to a web server control without using the &lt;strong&gt;JavaScript&amp;#39;s focus()&lt;/strong&gt; function &lt;strong&gt;after submit (on Page Load / after Postback)&lt;/strong&gt;. You may find the details on how to &lt;strong&gt;set focus to web controls in ASP.NET 1.x&lt;/strong&gt; in one of my previous articles:&lt;strong&gt; &lt;a href="http://www.bloggingdeveloper.com/post/Set-Focus-After-PostBack-in-ASPNET-1x-Setting-Focus-to-an-ASPNET-Control.aspx"&gt;Set Focus After PostBack in ASP.NET 1.x - Setting Focus to an ASP.NET Control&lt;/a&gt;&lt;/strong&gt;
&lt;/p&gt;

&lt;p&gt;
However, in ASP.NET 2.0 and in ASP.NET 3.5, there are three ways to dynamically set the focus to a specific control using just one line of code. 
&lt;/p&gt;
&lt;h2&gt;METHOD 1 &amp;ndash; Set Focus in ASP.NET 2.0/3.5 Using Page&amp;rsquo;s SetFocus() Method &lt;strong&gt;After Submit (on Page Load / after Postback)&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;
&lt;br /&gt;
You pass the control ID as the parameter and call the&lt;strong&gt;
Page.SetFocus(control) method&lt;/strong&gt;, which enables you to set the focus to a
particular control immediately after a page is &lt;strong&gt;initiated,loaded or
postbacked&lt;/strong&gt;.
&lt;/p&gt;
&lt;p class="code"&gt;
&lt;br /&gt;
void Page_Init(object sender, EventArgs e)&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;SetFocus(ControlToSetFocus);&lt;br /&gt;
}&lt;br /&gt;
&lt;/p&gt;
&lt;h2&gt;METHOD 2 &amp;ndash; Set Focus in ASP.NET 2.0/3.5 Usign Web Controls&amp;rsquo; Focus() Method&amp;nbsp; &lt;strong&gt;After Submit (on Page Load / after Postback)&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;
&lt;br /&gt;
Or you can call the &lt;strong&gt;Focus()&lt;/strong&gt; method that is available to all web controls. You can call it in the &lt;strong&gt;Page_Load&lt;/strong&gt; event. For example, if you have a TextBox web control called Textbox1, you may simply call:
&lt;/p&gt;
&lt;p class="code"&gt;
&lt;strong&gt;TextBox1.Focus();
&lt;/strong&gt;
&lt;/p&gt;
&lt;h2&gt;METHOD 3 - SET FOCUS in ASP.NET 2.0/3.5 Using DefaultFocus Property &lt;strong&gt;After Submit (on Page Load / after Postback)&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;
&lt;br /&gt;
ASP 2.0 web forms also have a property called &lt;strong&gt;DefaultFocus&lt;/strong&gt;. By setting the &lt;strong&gt;DefaultFocus &lt;/strong&gt;property, you can set the focus to a desired control when page loads. 
&lt;/p&gt;
&lt;p&gt;
For example, the code below will automatically set the focus on &lt;strong&gt;TextBox2 &lt;/strong&gt;when the web form is loaded:
&lt;/p&gt;
&lt;p class="code"&gt;
&amp;lt;form defaultfocus=&amp;quot;textbox2&amp;quot; runat=&amp;quot;server&amp;quot;&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;lt;asp:textbox id=&amp;quot;textbox1&amp;quot; runat=&amp;quot;server&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;lt;asp:textbox id=&amp;quot;textbox2&amp;quot; runat=&amp;quot;server&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/form&amp;gt;
&lt;/p&gt;
&lt;div class="socialBookmarksContainer"&gt;&lt;a rel="nofollow" href="http://digg.com/submit/?url=http://www.bloggingdeveloper.com/post/Set-Focus-on-Page-Load--After-Postback-in-ASPNET-20-and-ASPNET-35-Setting-Focus-to-an-ASPNET-Control.aspx" target="_blank" title="Digg It!"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/digg_24.png" style="border: 0;" alt="Digg It!" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.dzone.com/links/add.html?url=http://www.bloggingdeveloper.com/post/Set-Focus-on-Page-Load--After-Postback-in-ASPNET-20-and-ASPNET-35-Setting-Focus-to-an-ASPNET-Control.aspx&amp;amp;title=Set Focus on Page Load / After Postback / After Submit in ASP.NET 2.0 and ASP.NET 3.5 - Setting Focus to an ASP.NET Control" target="_blank" title="DZone It!"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/dzone_24.png" style="border: 0;" alt="DZone It!" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.stumbleupon.com/submit?url=http://www.bloggingdeveloper.com/post/Set-Focus-on-Page-Load--After-Postback-in-ASPNET-20-and-ASPNET-35-Setting-Focus-to-an-ASPNET-Control.aspx" target="_blank" title="StumbleUpon"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/stumbleupon_24.png" style="border: 0;" alt="StumbleUpon" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://technorati.com/ping?url=http://www.bloggingdeveloper.com/" target="_blank" title="Technorati"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/technorati_24.png" style="border: 0;" alt="Technorati" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://reddit.com/submit?url=http://www.bloggingdeveloper.com/post/Set-Focus-on-Page-Load--After-Postback-in-ASPNET-20-and-ASPNET-35-Setting-Focus-to-an-ASPNET-Control.aspx&amp;amp;title=Set Focus on Page Load / After Postback / After Submit in ASP.NET 2.0 and ASP.NET 3.5 - Setting Focus to an ASP.NET Control" target="_blank" title="Reddit"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/reddit_24.png" style="border: 0;" alt="Reddit" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://del.icio.us/post?url=http://www.bloggingdeveloper.com/post/Set-Focus-on-Page-Load--After-Postback-in-ASPNET-20-and-ASPNET-35-Setting-Focus-to-an-ASPNET-Control.aspx&amp;amp;title=Set Focus on Page Load / After Postback / After Submit in ASP.NET 2.0 and ASP.NET 3.5 - Setting Focus to an ASP.NET Control" target="_blank" title="Del.icio.us"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/delicious_24.png" style="border: 0;" alt="Del.icio.us" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.newsvine.com/_wine/save?u=http://www.bloggingdeveloper.com/post/Set-Focus-on-Page-Load--After-Postback-in-ASPNET-20-and-ASPNET-35-Setting-Focus-to-an-ASPNET-Control.aspx" target="_blank"title="NewsVine"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/newsvine_24.png" style="border: 0;" alt="NewsVine" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://furl.net" target="_blank" title="Furl"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/furl_24.png" style="border: 0;" alt="Furl" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://blinklist.com/submit/" target="_blank" title="BlinkList"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/blinklist_24.png" style="border: 0;" alt="BlinkList" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/ZqYAxLFZQzc" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/ZqYAxLFZQzc/post.aspx</link><author>bloggingdeveloper.nospam@nospam.bloggingdeveloper.com (Blogging Developer)</author><comments>http://www.bloggingdeveloper.com/post/Set-Focus-on-Page-Load--After-Postback-in-ASPNET-20-and-ASPNET-35-Setting-Focus-to-an-ASPNET-Control.aspx#comment</comments><guid isPermaLink="false">http://www.bloggingdeveloper.com/post.aspx?id=a33d2978-d65d-4af3-b921-ee114027dba0</guid><pubDate>Mon, 23 Jun 2008 15:58:00 +0300</pubDate><category>All</category><category>ASP.NET</category><category>Tips</category><dc:publisher>Blogging Developer</dc:publisher><pingback:server>http://www.bloggingdeveloper.com/pingback.axd</pingback:server><pingback:target>http://www.bloggingdeveloper.com/post.aspx?id=a33d2978-d65d-4af3-b921-ee114027dba0</pingback:target><slash:comments>2</slash:comments><trackback:ping>http://www.bloggingdeveloper.com/trackback.axd?id=a33d2978-d65d-4af3-b921-ee114027dba0</trackback:ping><wfw:comment>http://www.bloggingdeveloper.com/post/Set-Focus-on-Page-Load--After-Postback-in-ASPNET-20-and-ASPNET-35-Setting-Focus-to-an-ASPNET-Control.aspx#comment</wfw:comment><wfw:commentRss>http://www.bloggingdeveloper.com/syndication.axd?post=a33d2978-d65d-4af3-b921-ee114027dba0</wfw:commentRss><feedburner:origLink>http://www.bloggingdeveloper.com/post.aspx?id=a33d2978-d65d-4af3-b921-ee114027dba0</feedburner:origLink></item><item><title>Set Focus After PostBack / After Submit / on Page Load in ASP.NET 1.x - Setting Focus to an ASP.NET Control</title><description>&lt;p&gt;
Management of &lt;strong&gt;control focus&lt;/strong&gt; is one of the common tasks when building web applications with effective and friendly user interface. In order to &lt;strong&gt;set focus on a certain control&lt;/strong&gt; such as &lt;strong&gt;textboxes, buttons dropdowns after postback / after submit / on Page Load in ASP.NET 1.x&lt;/strong&gt;, we can use a &lt;strong&gt;dynamic javascript block&lt;/strong&gt; that facilitates &lt;strong&gt;Javascript&amp;rsquo;s focus()&lt;/strong&gt; function.
&lt;/p&gt;

&lt;p class="code"&gt;
&lt;strong&gt;private void SetFocus(String controlID)&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp; // Build the JavaScript String&lt;br /&gt;
&amp;nbsp; System.Text.StringBuilder sb = new System.Text.StringBuilder();&lt;br /&gt;
&amp;nbsp; sb.Append(&amp;quot;&amp;lt;script language=&amp;#39;javascript&amp;#39;&amp;gt;&amp;quot;);&lt;br /&gt;
&amp;nbsp; sb.Append(&amp;quot;document.getElementById(&amp;#39;&amp;quot;);&lt;br /&gt;
&amp;nbsp; sb.Append(controlID);&lt;br /&gt;
&amp;nbsp; sb.Append(&amp;quot;&amp;#39;).focus()&amp;quot;);&lt;br /&gt;
&amp;nbsp; sb.Append(&amp;quot;&amp;lt;/script&amp;gt;&amp;quot;)&lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
&amp;nbsp; // Register the script code with the page.&lt;br /&gt;
&amp;nbsp; Page.RegisterStartupScript(&amp;quot;FocusScript&amp;quot;, sb.ToString());&lt;br /&gt;
}&lt;/strong&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;
For the above code, you need to pass the control&amp;rsquo;s id as the parameter, then define the &lt;strong&gt;Javascript function in a string variable&lt;/strong&gt; then call the Page class to register the script. 
&lt;/p&gt;
&lt;div class="socialBookmarksContainer"&gt;&lt;a rel="nofollow" href="http://digg.com/submit/?url=http://www.bloggingdeveloper.com/post/Set-Focus-After-PostBack-in-ASPNET-1x-Setting-Focus-to-an-ASPNET-Control.aspx" target="_blank" title="Digg It!"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/digg_24.png" style="border: 0;" alt="Digg It!" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.dzone.com/links/add.html?url=http://www.bloggingdeveloper.com/post/Set-Focus-After-PostBack-in-ASPNET-1x-Setting-Focus-to-an-ASPNET-Control.aspx&amp;amp;title=Set Focus After PostBack / After Submit / on Page Load in ASP.NET 1.x - Setting Focus to an ASP.NET Control" target="_blank" title="DZone It!"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/dzone_24.png" style="border: 0;" alt="DZone It!" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.stumbleupon.com/submit?url=http://www.bloggingdeveloper.com/post/Set-Focus-After-PostBack-in-ASPNET-1x-Setting-Focus-to-an-ASPNET-Control.aspx" target="_blank" title="StumbleUpon"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/stumbleupon_24.png" style="border: 0;" alt="StumbleUpon" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://technorati.com/ping?url=http://www.bloggingdeveloper.com/" target="_blank" title="Technorati"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/technorati_24.png" style="border: 0;" alt="Technorati" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://reddit.com/submit?url=http://www.bloggingdeveloper.com/post/Set-Focus-After-PostBack-in-ASPNET-1x-Setting-Focus-to-an-ASPNET-Control.aspx&amp;amp;title=Set Focus After PostBack / After Submit / on Page Load in ASP.NET 1.x - Setting Focus to an ASP.NET Control" target="_blank" title="Reddit"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/reddit_24.png" style="border: 0;" alt="Reddit" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://del.icio.us/post?url=http://www.bloggingdeveloper.com/post/Set-Focus-After-PostBack-in-ASPNET-1x-Setting-Focus-to-an-ASPNET-Control.aspx&amp;amp;title=Set Focus After PostBack / After Submit / on Page Load in ASP.NET 1.x - Setting Focus to an ASP.NET Control" target="_blank" title="Del.icio.us"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/delicious_24.png" style="border: 0;" alt="Del.icio.us" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.newsvine.com/_wine/save?u=http://www.bloggingdeveloper.com/post/Set-Focus-After-PostBack-in-ASPNET-1x-Setting-Focus-to-an-ASPNET-Control.aspx" target="_blank"title="NewsVine"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/newsvine_24.png" style="border: 0;" alt="NewsVine" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://furl.net" target="_blank" title="Furl"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/furl_24.png" style="border: 0;" alt="Furl" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://blinklist.com/submit/" target="_blank" title="BlinkList"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/blinklist_24.png" style="border: 0;" alt="BlinkList" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/2GluiBYcq0g" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/2GluiBYcq0g/post.aspx</link><author>bloggingdeveloper.nospam@nospam.bloggingdeveloper.com (Blogging Developer)</author><comments>http://www.bloggingdeveloper.com/post/Set-Focus-After-PostBack-in-ASPNET-1x-Setting-Focus-to-an-ASPNET-Control.aspx#comment</comments><guid isPermaLink="false">http://www.bloggingdeveloper.com/post.aspx?id=d8482662-f012-440a-a0d1-fa2825ed0e0b</guid><pubDate>Mon, 23 Jun 2008 10:18:00 +0300</pubDate><category>All</category><category>ASP.NET</category><category>JavaScript</category><category>Tips</category><dc:publisher>Blogging Developer</dc:publisher><pingback:server>http://www.bloggingdeveloper.com/pingback.axd</pingback:server><pingback:target>http://www.bloggingdeveloper.com/post.aspx?id=d8482662-f012-440a-a0d1-fa2825ed0e0b</pingback:target><slash:comments>0</slash:comments><trackback:ping>http://www.bloggingdeveloper.com/trackback.axd?id=d8482662-f012-440a-a0d1-fa2825ed0e0b</trackback:ping><wfw:comment>http://www.bloggingdeveloper.com/post/Set-Focus-After-PostBack-in-ASPNET-1x-Setting-Focus-to-an-ASPNET-Control.aspx#comment</wfw:comment><wfw:commentRss>http://www.bloggingdeveloper.com/syndication.axd?post=d8482662-f012-440a-a0d1-fa2825ed0e0b</wfw:commentRss><feedburner:origLink>http://www.bloggingdeveloper.com/post.aspx?id=d8482662-f012-440a-a0d1-fa2825ed0e0b</feedburner:origLink></item><item><title>JavaScript substring vs. substr with Examples - The Difference Between JavaScript String Extraction Functions</title><description>&lt;p align="justify"&gt;
When you write JavaScript, you need to know what &lt;strong&gt;string manipulation methods/functions&lt;/strong&gt; are available. 
&lt;/p&gt;
&lt;h2&gt;&lt;u&gt;JavaScript &lt;strong&gt;substring()&lt;/strong&gt; Method&lt;/u&gt;&lt;/h2&gt;
&lt;p align="justify"&gt;
&lt;strong&gt;JavaScript substring &lt;/strong&gt;is used to take a part of a string. The syntax of &lt;strong&gt;JavaScript substring &lt;/strong&gt;method is given below: 
&lt;/p&gt;
&lt;p class="code"&gt;
stringObjectToTakeAPartOf.&lt;strong&gt;substring&lt;/strong&gt;(start-index,stop-index) 
&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;start-index: (Required - Numeric Value) - where to start the extraction&lt;/li&gt;
	&lt;li&gt;stop-index: (Optional - Numeric Value) - where to stop the extraction&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
 
&lt;/p&gt;
&lt;h3&gt;&lt;strong&gt;Notes about Javascript substring:&lt;/strong&gt;&lt;/h3&gt;
&lt;ul&gt;
	&lt;li&gt;If start-index is equal to stop-index, &lt;strong&gt;JavaScript substring &lt;/strong&gt;returns an empty string. &lt;br /&gt;
	&lt;/li&gt;
	&lt;li&gt;If stop-index parameter is omitted, &lt;strong&gt;JavaScript substring &lt;/strong&gt;extracts characters from start-index to the end of the string.&lt;/li&gt;
	&lt;li&gt;If parameters are 0or NaN, the parameters are threated as 0.&lt;/li&gt;
	&lt;li&gt;If parameters are greater than the string&amp;#39;s length, the parameters qill use string&amp;#39;s length.&lt;/li&gt;
	&lt;li&gt;If start-index &amp;gt; stop-index, then the &lt;strong&gt;JavaScript &lt;/strong&gt;&lt;strong&gt;substring &lt;/strong&gt;function swaps 2 parameters.&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;h3&gt;&lt;strong&gt;substring Example:&lt;/strong&gt;&lt;/h3&gt;
&lt;p class="code"&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
var str = &amp;quot;Hello World&amp;quot;;&lt;br /&gt;
document.write(str.substring(4,8));&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/script&amp;gt; 
&lt;/p&gt;
&lt;p align="justify"&gt;
The output of the above code is: 
&lt;/p&gt;
&lt;p class="code"&gt;
o wo 
&lt;/p&gt;
&lt;h2&gt;&lt;u&gt;&lt;u&gt;JavaScript &lt;strong&gt;substr()&lt;/strong&gt; Method&lt;/u&gt;&lt;/u&gt;&lt;/h2&gt;
&lt;p align="justify"&gt;
The &lt;strong&gt;JavaScript &lt;/strong&gt;&lt;strong&gt;substr() &lt;/strong&gt;method works slightly different. Instead of the second parameter being an index number, it gives the number of characters. The syntax of &lt;strong&gt;JavaScript &lt;/strong&gt;&lt;strong&gt;substr() &lt;/strong&gt;is given below: 
&lt;/p&gt;
&lt;p class="code"&gt;
stringObjectToTakeAPartOf.&lt;strong&gt;substr&lt;/strong&gt;(start-index,length) 
&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;start-index: (Required - Numeric Value) - where to start the extraction&lt;/li&gt;
	&lt;li&gt;length: (Optional - Numeric Value) - how many characters to extract&lt;br /&gt;
	&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;h3&gt;&lt;strong&gt;&lt;strong&gt;Notes about substr:&lt;/strong&gt;&lt;/strong&gt;&lt;/h3&gt;
&lt;ul&gt;
	&lt;li&gt;To extract characters from the end of the string, use a negative start-index. (Internet Explorer returns the whole string which is wrong.) &lt;br /&gt;
	&lt;/li&gt;
	&lt;li&gt;If the length parameter is omitted, &lt;strong&gt;JavaScript &lt;/strong&gt;&lt;strong&gt;substr &lt;/strong&gt;method extracts to the end of the string.&lt;/li&gt;
	&lt;li&gt;&lt;strong&gt;substr() &lt;/strong&gt;is not supported by &lt;strong&gt;Netscape 2&lt;/strong&gt;, &lt;strong&gt;Netscape 3&lt;/strong&gt;, &lt;strong&gt;Internet Explorer 3&lt;/strong&gt; and &lt;strong&gt;Opera 3&lt;/strong&gt;. &lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;h3&gt;&lt;strong&gt;JavaScript &lt;/strong&gt;&lt;strong&gt;substr Example:&lt;/strong&gt;&lt;/h3&gt;
&lt;p class="code"&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
var str = &amp;quot;Hello World&amp;quot;;&lt;br /&gt;
document.write(str.substr(4,4));&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/script&amp;gt; 
&lt;/p&gt;
&lt;p align="justify"&gt;
The output of the above code is: 
&lt;/p&gt;
&lt;p class="code"&gt;
o wo 
&lt;/p&gt;
&lt;p align="justify"&gt;
Since &lt;strong&gt;JavaScript &lt;/strong&gt;&lt;strong&gt;substr() is not cross-browser&lt;/strong&gt;, I never use it. 
&lt;/p&gt;
&lt;div class="socialBookmarksContainer"&gt;&lt;a rel="nofollow" href="http://digg.com/submit/?url=http://www.bloggingdeveloper.com/post/substring-vs-substr-The-Difference-Between-JavaScript-String-Functions.aspx" target="_blank" title="Digg It!"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/digg_24.png" style="border: 0;" alt="Digg It!" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.dzone.com/links/add.html?url=http://www.bloggingdeveloper.com/post/substring-vs-substr-The-Difference-Between-JavaScript-String-Functions.aspx&amp;amp;title=JavaScript substring vs. substr with Examples - The Difference Between JavaScript String Extraction Functions" target="_blank" title="DZone It!"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/dzone_24.png" style="border: 0;" alt="DZone It!" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.stumbleupon.com/submit?url=http://www.bloggingdeveloper.com/post/substring-vs-substr-The-Difference-Between-JavaScript-String-Functions.aspx" target="_blank" title="StumbleUpon"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/stumbleupon_24.png" style="border: 0;" alt="StumbleUpon" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://technorati.com/ping?url=http://www.bloggingdeveloper.com/" target="_blank" title="Technorati"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/technorati_24.png" style="border: 0;" alt="Technorati" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://reddit.com/submit?url=http://www.bloggingdeveloper.com/post/substring-vs-substr-The-Difference-Between-JavaScript-String-Functions.aspx&amp;amp;title=JavaScript substring vs. substr with Examples - The Difference Between JavaScript String Extraction Functions" target="_blank" title="Reddit"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/reddit_24.png" style="border: 0;" alt="Reddit" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://del.icio.us/post?url=http://www.bloggingdeveloper.com/post/substring-vs-substr-The-Difference-Between-JavaScript-String-Functions.aspx&amp;amp;title=JavaScript substring vs. substr with Examples - The Difference Between JavaScript String Extraction Functions" target="_blank" title="Del.icio.us"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/delicious_24.png" style="border: 0;" alt="Del.icio.us" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.newsvine.com/_wine/save?u=http://www.bloggingdeveloper.com/post/substring-vs-substr-The-Difference-Between-JavaScript-String-Functions.aspx" target="_blank"title="NewsVine"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/newsvine_24.png" style="border: 0;" alt="NewsVine" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://furl.net" target="_blank" title="Furl"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/furl_24.png" style="border: 0;" alt="Furl" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://blinklist.com/submit/" target="_blank" title="BlinkList"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/blinklist_24.png" style="border: 0;" alt="BlinkList" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/gd3YQweS-To" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/gd3YQweS-To/post.aspx</link><author>bloggingdeveloper.nospam@nospam.bloggingdeveloper.com (Blogging Developer)</author><comments>http://www.bloggingdeveloper.com/post/substring-vs-substr-The-Difference-Between-JavaScript-String-Functions.aspx#comment</comments><guid isPermaLink="false">http://www.bloggingdeveloper.com/post.aspx?id=fa121f3d-578a-46bf-9a67-5c47c2f13914</guid><pubDate>Sat, 21 Jun 2008 12:10:00 +0300</pubDate><category>All</category><category>JavaScript</category><dc:publisher>Blogging Developer</dc:publisher><pingback:server>http://www.bloggingdeveloper.com/pingback.axd</pingback:server><pingback:target>http://www.bloggingdeveloper.com/post.aspx?id=fa121f3d-578a-46bf-9a67-5c47c2f13914</pingback:target><slash:comments>9</slash:comments><trackback:ping>http://www.bloggingdeveloper.com/trackback.axd?id=fa121f3d-578a-46bf-9a67-5c47c2f13914</trackback:ping><wfw:comment>http://www.bloggingdeveloper.com/post/substring-vs-substr-The-Difference-Between-JavaScript-String-Functions.aspx#comment</wfw:comment><wfw:commentRss>http://www.bloggingdeveloper.com/syndication.axd?post=fa121f3d-578a-46bf-9a67-5c47c2f13914</wfw:commentRss><feedburner:origLink>http://www.bloggingdeveloper.com/post.aspx?id=fa121f3d-578a-46bf-9a67-5c47c2f13914</feedburner:origLink></item><item><title>JavaScript parseFloat() Function with Examples - Converting Strings to Numbers</title><description>&lt;p&gt;
&lt;strong&gt;The JavaScript parseFloat()&lt;/strong&gt; function, parses a string and &lt;strong&gt;returns the first floating point number in the string&lt;/strong&gt;. 
&lt;/p&gt;
&lt;p&gt;
The &lt;strong&gt;parseFloat()&lt;/strong&gt; function determines if the first character in the string argument is a number, &lt;strong&gt;parses the string from left to right until it reaches the end of the number&lt;/strong&gt;, discards any characters that occur after the end of the number, and finally returns the number as a number (not as a string). 
&lt;/p&gt;
 
&lt;p&gt;
Only the first number in the string is returned, regardless of how many other numbers occur in the string. 
&lt;/p&gt;
&lt;p&gt;
If the first character in the string is not a number, &lt;strong&gt;the function returns the Not-a-Number value NaN&lt;/strong&gt;. 
&lt;/p&gt;
&lt;p&gt;
Here are some examples about &lt;strong&gt;Javascript parseFloat() method&lt;/strong&gt;: 
&lt;/p&gt;
&lt;p class="code"&gt;
document.write(&amp;quot;&amp;lt;BR&amp;gt;&amp;quot; + &lt;strong&gt;parseFloat(&amp;quot;15&amp;quot;)&lt;/strong&gt;) &lt;br /&gt;
document.write(&amp;quot;&amp;lt;BR&amp;gt;&amp;quot; + &lt;strong&gt;parseFloat(&amp;quot;12.12345&amp;quot;)&lt;/strong&gt;) &lt;br /&gt;
document.write(&amp;quot;&amp;lt;BR&amp;gt;&amp;quot; + &lt;strong&gt;parseFloat(&amp;quot;45.00000000&amp;quot;)&lt;/strong&gt;) &lt;br /&gt;
document.write(&amp;quot;&amp;lt;BR&amp;gt;&amp;quot; + &lt;strong&gt;parseFloat(&amp;quot;23.348&amp;nbsp; 44.218&amp;nbsp; 55.405&amp;quot;)&lt;/strong&gt;) &lt;br /&gt;
document.write(&amp;quot;&amp;lt;BR&amp;gt;&amp;quot; + &lt;strong&gt;parseFloat(&amp;quot; &amp;nbsp;&amp;nbsp; 55 aardvarks&amp;quot;)&lt;/strong&gt;) &lt;br /&gt;
document.write(&amp;quot;&amp;lt;BR&amp;gt;&amp;quot; + &lt;strong&gt;parseFloat(&amp;quot;Year 2002&amp;quot;)&lt;/strong&gt;) 
&lt;/p&gt;
&lt;p&gt;
The outputs will be: 
&lt;/p&gt;
&lt;p class="code"&gt;
15 &lt;br /&gt;
12.12345 &lt;br /&gt;
45 &lt;br /&gt;
23.348 &lt;br /&gt;
55 &lt;br /&gt;
NaN 
&lt;/p&gt;
&lt;div class="socialBookmarksContainer"&gt;&lt;a rel="nofollow" href="http://digg.com/submit/?url=http://www.bloggingdeveloper.com/post/JavaScript-parseFloat()-Function-Converting-Strings-to-Numbers.aspx" target="_blank" title="Digg It!"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/digg_24.png" style="border: 0;" alt="Digg It!" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.dzone.com/links/add.html?url=http://www.bloggingdeveloper.com/post/JavaScript-parseFloat()-Function-Converting-Strings-to-Numbers.aspx&amp;amp;title=JavaScript parseFloat() Function with Examples - Converting Strings to Numbers" target="_blank" title="DZone It!"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/dzone_24.png" style="border: 0;" alt="DZone It!" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.stumbleupon.com/submit?url=http://www.bloggingdeveloper.com/post/JavaScript-parseFloat()-Function-Converting-Strings-to-Numbers.aspx" target="_blank" title="StumbleUpon"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/stumbleupon_24.png" style="border: 0;" alt="StumbleUpon" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://technorati.com/ping?url=http://www.bloggingdeveloper.com/" target="_blank" title="Technorati"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/technorati_24.png" style="border: 0;" alt="Technorati" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://reddit.com/submit?url=http://www.bloggingdeveloper.com/post/JavaScript-parseFloat()-Function-Converting-Strings-to-Numbers.aspx&amp;amp;title=JavaScript parseFloat() Function with Examples - Converting Strings to Numbers" target="_blank" title="Reddit"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/reddit_24.png" style="border: 0;" alt="Reddit" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://del.icio.us/post?url=http://www.bloggingdeveloper.com/post/JavaScript-parseFloat()-Function-Converting-Strings-to-Numbers.aspx&amp;amp;title=JavaScript parseFloat() Function with Examples - Converting Strings to Numbers" target="_blank" title="Del.icio.us"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/delicious_24.png" style="border: 0;" alt="Del.icio.us" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.newsvine.com/_wine/save?u=http://www.bloggingdeveloper.com/post/JavaScript-parseFloat()-Function-Converting-Strings-to-Numbers.aspx" target="_blank"title="NewsVine"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/newsvine_24.png" style="border: 0;" alt="NewsVine" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://furl.net" target="_blank" title="Furl"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/furl_24.png" style="border: 0;" alt="Furl" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://blinklist.com/submit/" target="_blank" title="BlinkList"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/blinklist_24.png" style="border: 0;" alt="BlinkList" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/t4p8mvBI7TQ" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/t4p8mvBI7TQ/post.aspx</link><author>bloggingdeveloper.nospam@nospam.bloggingdeveloper.com (Blogging Developer)</author><comments>http://www.bloggingdeveloper.com/post/JavaScript-parseFloat()-Function-Converting-Strings-to-Numbers.aspx#comment</comments><guid isPermaLink="false">http://www.bloggingdeveloper.com/post.aspx?id=eb6f78f1-6a4d-45b3-a2d2-745a00567e93</guid><pubDate>Fri, 20 Jun 2008 14:35:00 +0300</pubDate><category>All</category><category>JavaScript</category><category>Tips</category><dc:publisher>Blogging Developer</dc:publisher><pingback:server>http://www.bloggingdeveloper.com/pingback.axd</pingback:server><pingback:target>http://www.bloggingdeveloper.com/post.aspx?id=eb6f78f1-6a4d-45b3-a2d2-745a00567e93</pingback:target><slash:comments>0</slash:comments><trackback:ping>http://www.bloggingdeveloper.com/trackback.axd?id=eb6f78f1-6a4d-45b3-a2d2-745a00567e93</trackback:ping><wfw:comment>http://www.bloggingdeveloper.com/post/JavaScript-parseFloat()-Function-Converting-Strings-to-Numbers.aspx#comment</wfw:comment><wfw:commentRss>http://www.bloggingdeveloper.com/syndication.axd?post=eb6f78f1-6a4d-45b3-a2d2-745a00567e93</wfw:commentRss><feedburner:origLink>http://www.bloggingdeveloper.com/post.aspx?id=eb6f78f1-6a4d-45b3-a2d2-745a00567e93</feedburner:origLink></item><item><title>Javascript parseInt() Function with Examples - Converting Strings to Integers</title><description>&lt;p&gt;
The &lt;strong&gt;JavaScript parseInt()&lt;/strong&gt; function parses a string and returns the &lt;strong&gt;first integer in a string&lt;/strong&gt;. 
&lt;/p&gt;
&lt;p&gt;
There are two arguments one of which is mandatory string argument that is the string which is parsed to return the &lt;strong&gt;integer&lt;/strong&gt;. The other argument is the optional &lt;strong&gt;radix&lt;/strong&gt; argument that specifies the base of the integer and can range from 2 to 36. For example, 16 is the hexidecimal base (0123456789ABCDEF). 
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;If no radix argument is provided or if it is assigned a value of 0, the function tries to determine the base: &lt;/strong&gt;
&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;If the string begins with &amp;quot;0x&amp;quot;, the radix is 16 (hexadecimal)&lt;/li&gt;
	&lt;li&gt;If the string begins with &amp;quot;0&amp;quot;, the radix is 8 (octal). This feature is deprecated&lt;/li&gt;
	&lt;li&gt;If the string begins with any other value, the radix is 10 (decimal)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
&lt;br /&gt;
After determining if the first character in the string argument is a number, &lt;strong&gt;the parseInt function&lt;/strong&gt; parses the string from left to right until the end of the number or a decimal point is encountered, then it discards any characters that occur after the end of the number (including a decimal point and all numbers after the decimal point), and finally it returns the number as an integer (not as a string). 
&lt;/p&gt;
&lt;p&gt;
Only the first integer in the string is returned by the &lt;strong&gt;parseInt() function&lt;/strong&gt;, regardless of how many other numbers occur in the string. &lt;strong&gt;This function does not return decimal points nor numbers to the right of a decimal. 
&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
If the first non-whitespace character is not numeric, the function returns the&lt;strong&gt; Not-a-Number value NaN&lt;/strong&gt;. 
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Here are some examples of JavaScript parseInt() Function 
&lt;/strong&gt;
&lt;/p&gt;
&lt;p class="code"&gt;
document.write(&amp;quot;&amp;lt;BR&amp;gt;&amp;quot; + &lt;strong&gt;parseInt(&amp;quot;15&amp;quot;)&lt;/strong&gt;)&lt;br /&gt;
document.write(&amp;quot;&amp;lt;BR&amp;gt;&amp;quot; + &lt;strong&gt;parseInt(&amp;quot;12.12345&amp;quot;)&lt;/strong&gt;)&lt;br /&gt;
document.write(&amp;quot;&amp;lt;BR&amp;gt;&amp;quot; + &lt;strong&gt;parseInt(&amp;quot;45.00000000&amp;quot;)&lt;/strong&gt;)&lt;br /&gt;
document.write(&amp;quot;&amp;lt;BR&amp;gt;&amp;quot; + &lt;strong&gt;parseInt(&amp;quot;23.348&amp;nbsp; 44.218&amp;nbsp; 55.405&amp;quot;)&lt;/strong&gt;)&lt;br /&gt;
document.write(&amp;quot;&amp;lt;BR&amp;gt;&amp;quot; + &lt;strong&gt;parseInt(&amp;quot; &amp;nbsp;&amp;nbsp; 55 aardvarks&amp;quot;)&lt;/strong&gt;)&lt;br /&gt;
document.write(&amp;quot;&amp;lt;BR&amp;gt;&amp;quot; + &lt;strong&gt;parseInt(&amp;quot;Year 2002&amp;quot;)&lt;/strong&gt;) 
&lt;/p&gt;
&lt;p&gt;
The output of the code above will be: 
&lt;/p&gt;
&lt;p class="code"&gt;
15&lt;br /&gt;
12&lt;br /&gt;
45&lt;br /&gt;
23&lt;br /&gt;
55&lt;br /&gt;
NaN
&lt;/p&gt;
&lt;div class="socialBookmarksContainer"&gt;&lt;a rel="nofollow" href="http://digg.com/submit/?url=http://www.bloggingdeveloper.com/post/Javascript-parseInt()-Function-Converting-Strings-to-Numbers.aspx" target="_blank" title="Digg It!"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/digg_24.png" style="border: 0;" alt="Digg It!" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.dzone.com/links/add.html?url=http://www.bloggingdeveloper.com/post/Javascript-parseInt()-Function-Converting-Strings-to-Numbers.aspx&amp;amp;title=Javascript parseInt() Function with Examples - Converting Strings to Integers" target="_blank" title="DZone It!"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/dzone_24.png" style="border: 0;" alt="DZone It!" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.stumbleupon.com/submit?url=http://www.bloggingdeveloper.com/post/Javascript-parseInt()-Function-Converting-Strings-to-Numbers.aspx" target="_blank" title="StumbleUpon"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/stumbleupon_24.png" style="border: 0;" alt="StumbleUpon" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://technorati.com/ping?url=http://www.bloggingdeveloper.com/" target="_blank" title="Technorati"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/technorati_24.png" style="border: 0;" alt="Technorati" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://reddit.com/submit?url=http://www.bloggingdeveloper.com/post/Javascript-parseInt()-Function-Converting-Strings-to-Numbers.aspx&amp;amp;title=Javascript parseInt() Function with Examples - Converting Strings to Integers" target="_blank" title="Reddit"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/reddit_24.png" style="border: 0;" alt="Reddit" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://del.icio.us/post?url=http://www.bloggingdeveloper.com/post/Javascript-parseInt()-Function-Converting-Strings-to-Numbers.aspx&amp;amp;title=Javascript parseInt() Function with Examples - Converting Strings to Integers" target="_blank" title="Del.icio.us"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/delicious_24.png" style="border: 0;" alt="Del.icio.us" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.newsvine.com/_wine/save?u=http://www.bloggingdeveloper.com/post/Javascript-parseInt()-Function-Converting-Strings-to-Numbers.aspx" target="_blank"title="NewsVine"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/newsvine_24.png" style="border: 0;" alt="NewsVine" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://furl.net" target="_blank" title="Furl"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/furl_24.png" style="border: 0;" alt="Furl" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://blinklist.com/submit/" target="_blank" title="BlinkList"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/blinklist_24.png" style="border: 0;" alt="BlinkList" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/x5UGbhS5jIw" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/x5UGbhS5jIw/post.aspx</link><author>bloggingdeveloper.nospam@nospam.bloggingdeveloper.com (Blogging Developer)</author><comments>http://www.bloggingdeveloper.com/post/Javascript-parseInt()-Function-Converting-Strings-to-Numbers.aspx#comment</comments><guid isPermaLink="false">http://www.bloggingdeveloper.com/post.aspx?id=1ab72e5d-b1bb-40b6-9406-0a3da660b6dd</guid><pubDate>Fri, 20 Jun 2008 14:08:00 +0300</pubDate><category>All</category><category>JavaScript</category><category>Tips</category><dc:publisher>Blogging Developer</dc:publisher><pingback:server>http://www.bloggingdeveloper.com/pingback.axd</pingback:server><pingback:target>http://www.bloggingdeveloper.com/post.aspx?id=1ab72e5d-b1bb-40b6-9406-0a3da660b6dd</pingback:target><slash:comments>0</slash:comments><trackback:ping>http://www.bloggingdeveloper.com/trackback.axd?id=1ab72e5d-b1bb-40b6-9406-0a3da660b6dd</trackback:ping><wfw:comment>http://www.bloggingdeveloper.com/post/Javascript-parseInt()-Function-Converting-Strings-to-Numbers.aspx#comment</wfw:comment><wfw:commentRss>http://www.bloggingdeveloper.com/syndication.axd?post=1ab72e5d-b1bb-40b6-9406-0a3da660b6dd</wfw:commentRss><feedburner:origLink>http://www.bloggingdeveloper.com/post.aspx?id=1ab72e5d-b1bb-40b6-9406-0a3da660b6dd</feedburner:origLink></item><item><title>window.history with Examples - JavaScript History Object - History Object's Methods and Properties</title><description>&lt;p&gt;
The&lt;strong&gt; JavaScript History&lt;/strong&gt; object - property of the window object - contains an array / list of previously visited URLs. In this article, we will look at the &lt;strong&gt;history object properties and methods&lt;/strong&gt;, &lt;strong&gt;length&lt;/strong&gt;, &lt;strong&gt;current&lt;/strong&gt;, &lt;strong&gt;next&lt;/strong&gt;, &lt;strong&gt;previous &lt;/strong&gt;properties, &lt;strong&gt;back()&lt;/strong&gt;, &lt;strong&gt;forward()&lt;/strong&gt; and &lt;strong&gt;go()&lt;/strong&gt; methods along with syntax and examples. 
&lt;/p&gt;
&lt;p&gt;
Mostly, JavaScript history object is used to simulate the &lt;strong&gt;browser&amp;#39;s back button&lt;/strong&gt;: 
&lt;/p&gt;
&lt;p class="code"&gt;
&amp;lt;a href=&amp;quot;javascript:history.go(-1)&amp;quot;&amp;gt;Go back&amp;lt;/a&amp;gt; 
&lt;/p&gt;
&lt;h2&gt;&lt;strong&gt;window.history&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;
&lt;strong&gt;window.history&lt;/strong&gt; property has the return value as an array which contains items with details of the URL&amp;#39;s visited within that browser window/tab. The JavaScript history object is a JavaScript object and not a DOM object. The JavaScript runtime engine automatically creates this object. 
&lt;/p&gt;
&lt;h2&gt;&lt;u&gt;window.history Properties&lt;br /&gt;
&lt;br /&gt;
&lt;/u&gt;&lt;/h2&gt;
&lt;h2&gt;&lt;strong&gt;history.length&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;
The length property of the history object returns the number of elements in the history list. 
&lt;/p&gt;
&lt;p&gt;
General syntax of length property of history Object: 
&lt;/p&gt;
&lt;p class="code"&gt;
history.length; 
&lt;/p&gt;
&lt;p&gt;
An example to understand the length property of history object: 
&lt;/p&gt;
&lt;p class="code"&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; var numberofvisited = history.length;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; document.write(&amp;quot;The number of pages visited&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; in this window is&amp;quot; +numberofvisited+ &amp;quot; pages.&amp;quot;);&lt;br /&gt;
&amp;lt;/script&amp;gt; 
&lt;/p&gt;
&lt;h2&gt;&lt;strong&gt;history.current&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;
This property contains the complete URL of the current History entry. 
&lt;/p&gt;
&lt;p&gt;
General syntax of current property of history Object: 
&lt;/p&gt;
&lt;p class="code"&gt;
history.current; 
&lt;/p&gt;
&lt;h2&gt;&lt;strong&gt;history.next&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;
The next property of history object contains the complete URL of the next element in the History list. This functionality or the URL visited is the same as pressing the forward button or menu. 
&lt;/p&gt;
&lt;p&gt;
General syntax of next property of history Object: 
&lt;/p&gt;
&lt;p class="code"&gt;
history.next; 
&lt;/p&gt;
&lt;h2&gt;&lt;strong&gt;history.previous&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;
The previous property of history object contains the complete URL of the previous element in the History list. This functionality or the URL visited is the same as pressing the back button or menu. 
&lt;/p&gt;
&lt;p&gt;
General syntax of previous property of history Object: 
&lt;/p&gt;
&lt;p class="code"&gt;
history.previous; 
&lt;/p&gt;
&lt;h2&gt;&lt;u&gt;window.history Methods&lt;br /&gt;
&lt;br /&gt;
&lt;/u&gt;&lt;/h2&gt;
&lt;h2&gt;&lt;strong&gt;history.back()&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;
The back() method of the history object loads the previous URL in the History list. The functionality results are the same as pressing the previous button of the browser. 
&lt;/p&gt;
&lt;p&gt;
General syntax of back method of history Object: 
&lt;/p&gt;
&lt;p class="code"&gt;
history.back(); 
&lt;/p&gt;
&lt;h2&gt;&lt;strong&gt;history.forward()&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;
The forward() method of the history object loads the next URL in the History list. The functionality results are the same as pressing the forward button of the browser. 
&lt;/p&gt;
&lt;p&gt;
General syntax of forward method of history Object: 
&lt;/p&gt;
&lt;p class="code"&gt;
history.forward(); 
&lt;/p&gt;
&lt;h2&gt;&lt;strong&gt;history.go()&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;
If the programmer wishes to load a specified URL from the History list, then the go method of history object can be used. 
&lt;/p&gt;
&lt;p&gt;
General syntax of forward method of history Object: 
&lt;/p&gt;
&lt;p class="code"&gt;
history.go(number); 
&lt;/p&gt;
&lt;p&gt;
or 
&lt;/p&gt;
&lt;p class="code"&gt;
history.go(URL); 
&lt;/p&gt;
&lt;p&gt;
The back method seen above is the same as &lt;strong&gt;history.go(-1)&lt;/strong&gt; in terms of go method of history object. The forward method seen above is the same as &lt;strong&gt;history.go(1)&lt;/strong&gt;. 
&lt;/p&gt;
&lt;div class="socialBookmarksContainer"&gt;&lt;a rel="nofollow" href="http://digg.com/submit/?url=http://www.bloggingdeveloper.com/post/JavaScript-History-Object---History-Objects-Methods-and-Properties.aspx" target="_blank" title="Digg It!"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/digg_24.png" style="border: 0;" alt="Digg It!" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.dzone.com/links/add.html?url=http://www.bloggingdeveloper.com/post/JavaScript-History-Object---History-Objects-Methods-and-Properties.aspx&amp;amp;title=window.history with Examples - JavaScript History Object - History Object's Methods and Properties" target="_blank" title="DZone It!"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/dzone_24.png" style="border: 0;" alt="DZone It!" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.stumbleupon.com/submit?url=http://www.bloggingdeveloper.com/post/JavaScript-History-Object---History-Objects-Methods-and-Properties.aspx" target="_blank" title="StumbleUpon"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/stumbleupon_24.png" style="border: 0;" alt="StumbleUpon" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://technorati.com/ping?url=http://www.bloggingdeveloper.com/" target="_blank" title="Technorati"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/technorati_24.png" style="border: 0;" alt="Technorati" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://reddit.com/submit?url=http://www.bloggingdeveloper.com/post/JavaScript-History-Object---History-Objects-Methods-and-Properties.aspx&amp;amp;title=window.history with Examples - JavaScript History Object - History Object's Methods and Properties" target="_blank" title="Reddit"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/reddit_24.png" style="border: 0;" alt="Reddit" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://del.icio.us/post?url=http://www.bloggingdeveloper.com/post/JavaScript-History-Object---History-Objects-Methods-and-Properties.aspx&amp;amp;title=window.history with Examples - JavaScript History Object - History Object's Methods and Properties" target="_blank" title="Del.icio.us"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/delicious_24.png" style="border: 0;" alt="Del.icio.us" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.newsvine.com/_wine/save?u=http://www.bloggingdeveloper.com/post/JavaScript-History-Object---History-Objects-Methods-and-Properties.aspx" target="_blank"title="NewsVine"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/newsvine_24.png" style="border: 0;" alt="NewsVine" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://furl.net" target="_blank" title="Furl"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/furl_24.png" style="border: 0;" alt="Furl" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://blinklist.com/submit/" target="_blank" title="BlinkList"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/blinklist_24.png" style="border: 0;" alt="BlinkList" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/DU8bMdGtPyM" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/DU8bMdGtPyM/post.aspx</link><author>bloggingdeveloper.nospam@nospam.bloggingdeveloper.com (Blogging Developer)</author><comments>http://www.bloggingdeveloper.com/post/JavaScript-History-Object---History-Objects-Methods-and-Properties.aspx#comment</comments><guid isPermaLink="false">http://www.bloggingdeveloper.com/post.aspx?id=d54f9ef5-c6ba-4824-bd3a-847f67e5fa36</guid><pubDate>Thu, 14 Feb 2008 00:01:00 +0300</pubDate><category>All</category><category>JavaScript</category><dc:publisher>Blogging Developer</dc:publisher><pingback:server>http://www.bloggingdeveloper.com/pingback.axd</pingback:server><pingback:target>http://www.bloggingdeveloper.com/post.aspx?id=d54f9ef5-c6ba-4824-bd3a-847f67e5fa36</pingback:target><slash:comments>1</slash:comments><trackback:ping>http://www.bloggingdeveloper.com/trackback.axd?id=d54f9ef5-c6ba-4824-bd3a-847f67e5fa36</trackback:ping><wfw:comment>http://www.bloggingdeveloper.com/post/JavaScript-History-Object---History-Objects-Methods-and-Properties.aspx#comment</wfw:comment><wfw:commentRss>http://www.bloggingdeveloper.com/syndication.axd?post=d54f9ef5-c6ba-4824-bd3a-847f67e5fa36</wfw:commentRss><feedburner:origLink>http://www.bloggingdeveloper.com/post.aspx?id=d54f9ef5-c6ba-4824-bd3a-847f67e5fa36</feedburner:origLink></item><item><title>How To: Minimize HTTP Requests – The Most Important Guideline for Improving Web Site Performance</title><description>&lt;p align="justify"&gt;
In my previous article &lt;a href="http://www.bloggingdeveloper.com/post/7-Easy-to-Apply-Tips-to-Improve-Your-Web-Site-Performance.aspx" title="7 Easy-to-Apply Tips to Improve Your Web Site Performance"&gt;7 Easy-to-Apply Tips to Improve Your Web Site Performance&lt;/a&gt;, I described methods to achieve better client-side performance.&amp;nbsp; The conclusion of the article was: &amp;ldquo;The most important and effective way to improve web site performance is to make fewer HTTP Requests.&amp;rdquo;
&lt;/p&gt;
&lt;p class="quote" align="justify"&gt;
Since browsers only are able to download two components on parallel per hostname, and every HTTP request has an average round-trip latency of 0.2 seconds, that causes a 2 second latency alone, if the site is loading 20 items, regardless of whether they are style sheets, images or scripts. (On an average broadband connection with a browser capable of downloading two components at a time). 
&lt;br /&gt;
&lt;br /&gt;
Since browsers spend approximately 80% of the time fetching external components such as scripts, style sheets and images. Reducing the number of HTTP requests has the biggest impact on improving website performance. Moreover, it is the easiest way to make a performance improvement. 
&lt;/p&gt;
&lt;p align="justify"&gt;
This article focuses on ways of minimizing HTTP Requests to maximize web site performance.
&lt;/p&gt;
&lt;p&gt;

&lt;/p&gt;
&lt;h2&gt;1. Image Maps&lt;/h2&gt;
&lt;br /&gt;
&lt;p align="justify"&gt;
Image Maps are used to combine multiple images into a single image and specify regions to assign a specific action to each region. The overall size is about the same, but reducing the number of HTTP requests speeds up the page. 
&lt;/p&gt;
&lt;p class="quote" align="justify"&gt;
There are two types of image maps:&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;u&gt;&lt;strong&gt;Client-side:&lt;/strong&gt;&lt;/u&gt; When a user activates a region of a client-side image map with a mouse, the pixel coordinates are interpreted by the user agent. The user agent selects a link that was specified for the activated region and follows it. 
&lt;strong&gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;u&gt;Server-side:&lt;/u&gt;&lt;/strong&gt; When a user activates a region of a server-side image map with a mouse, the pixel coordinates of the click are sent to the server-side agent specified by the href attribute of the A element. The server-side agent interprets the coordinates and performs some action.&lt;br /&gt;
&lt;br /&gt;
Client-side image maps are preferred over server-side image maps for at least two reasons: they are accessible to people browsing with non-graphical user agents and they offer immediate feedback as to whether or not the pointer is over an active region.
&lt;br /&gt;
&lt;br /&gt;
For details: &lt;a href="http://www.w3.org/TR/html401/struct/objects.html#h-13.6" title="Image Maps"&gt;Image Maps&lt;/a&gt;
&lt;/p&gt;
&lt;p align="justify"&gt;
The main navigation of bloggingdeveloper.com utilizes image maps. If you examine the source of this page, you will see the following code:
&lt;/p&gt;
&lt;p class="code"&gt;
&amp;lt;img src=&amp;quot;/themes/BD/images/menuimg.gif&amp;quot; border=&amp;quot;0&amp;quot; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; usemap=&amp;quot;#Map&amp;quot; id=&amp;quot;imgMenu&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;map name=&amp;quot;Map&amp;quot; id=&amp;quot;Map&amp;quot;&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;lt;area shape=&amp;quot;rect&amp;quot; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; coords=&amp;quot;4,31,82,58&amp;quot; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; href=&amp;quot;/&amp;quot; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; alt=&amp;quot;Blogging Developer Home&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;lt;area shape=&amp;quot;rect&amp;quot; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; coords=&amp;quot;88,25,189,57&amp;quot; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; href=&amp;quot;/archive.aspx&amp;quot; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; alt=&amp;quot;Archive&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;lt;area shape=&amp;quot;rect&amp;quot; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; coords=&amp;quot;197,26,307,53&amp;quot; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; href=&amp;quot;/contact.aspx&amp;quot; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; alt=&amp;quot;Contact Blogging Developer&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;lt;area shape=&amp;quot;rect&amp;quot; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; coords=&amp;quot;315,25,379,52&amp;quot; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; href=&amp;quot;/syndication.axd?format=rss&amp;quot; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; alt=&amp;quot;Blogging Developer RSS Feed&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/map&amp;gt;
&lt;/p&gt;
&lt;h2&gt;2. CSS Sprites&lt;/h2&gt;
&lt;br /&gt;
&lt;p align="justify"&gt;
Another method for reducing the number of image requests is combining images into a single image and using CSS background-image and background-position properties to display the desired image part.
&lt;/p&gt;
&lt;p align="justify"&gt;
You may find detailed information about CSS sprites in &lt;a href="http://alistapart.com/articles/sprites" target="_blank" title="CSS Sprites: Image Slicing&amp;rsquo;s Kiss of Death."&gt;CSS Sprites: Image Slicing&amp;rsquo;s Kiss of Death&lt;/a&gt;.
&lt;/p&gt;
&lt;p align="justify"&gt;
Bloggingdeveloper.com utilizes CSS Sprites on the rating stars. 
&lt;/p&gt;
&lt;h2&gt;3. Combine External Script/StyleSheet Files into a Single File&lt;/h2&gt;
&lt;br /&gt;
&lt;p align="justify"&gt;
Number of HTTP requests may be reduced by combining all scripts into a single script and similarly combining all external stylesheets into a single stylesheet. 
&lt;/p&gt;
&lt;p align="justify"&gt;
While combining external files reduces the HTTP requests, it hardens the maintenance of these files. However, combining these files as a part of build process is a good practice. Moreover, if you have variety of pages that use a different set of scripts and stylesheets, you should not combine them into a one big file which is inefficient since the page downloads more JS and CSS than it needs. 
&lt;/p&gt;
&lt;h2&gt;Conclusions:&lt;/h2&gt;
&lt;br /&gt;
&lt;p align="justify"&gt;
If you want to improve your site&amp;rsquo;s performance, reducing the number of HTTP requests in your page is the first place to start. This is the most important guideline for improving performance. 
&lt;/p&gt;
&lt;div class="socialBookmarksContainer"&gt;&lt;a rel="nofollow" href="http://digg.com/submit/?url=http://www.bloggingdeveloper.com/post/How-To-Minimize-HTTP-Requests-The-Most-Important-Guideline-for-Improving-Web-Site-Performance.aspx" target="_blank" title="Digg It!"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/digg_24.png" style="border: 0;" alt="Digg It!" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.dzone.com/links/add.html?url=http://www.bloggingdeveloper.com/post/How-To-Minimize-HTTP-Requests-The-Most-Important-Guideline-for-Improving-Web-Site-Performance.aspx&amp;amp;title=How To: Minimize HTTP Requests – The Most Important Guideline for Improving Web Site Performance" target="_blank" title="DZone It!"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/dzone_24.png" style="border: 0;" alt="DZone It!" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.stumbleupon.com/submit?url=http://www.bloggingdeveloper.com/post/How-To-Minimize-HTTP-Requests-The-Most-Important-Guideline-for-Improving-Web-Site-Performance.aspx" target="_blank" title="StumbleUpon"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/stumbleupon_24.png" style="border: 0;" alt="StumbleUpon" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://technorati.com/ping?url=http://www.bloggingdeveloper.com/" target="_blank" title="Technorati"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/technorati_24.png" style="border: 0;" alt="Technorati" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://reddit.com/submit?url=http://www.bloggingdeveloper.com/post/How-To-Minimize-HTTP-Requests-The-Most-Important-Guideline-for-Improving-Web-Site-Performance.aspx&amp;amp;title=How To: Minimize HTTP Requests – The Most Important Guideline for Improving Web Site Performance" target="_blank" title="Reddit"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/reddit_24.png" style="border: 0;" alt="Reddit" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://del.icio.us/post?url=http://www.bloggingdeveloper.com/post/How-To-Minimize-HTTP-Requests-The-Most-Important-Guideline-for-Improving-Web-Site-Performance.aspx&amp;amp;title=How To: Minimize HTTP Requests – The Most Important Guideline for Improving Web Site Performance" target="_blank" title="Del.icio.us"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/delicious_24.png" style="border: 0;" alt="Del.icio.us" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.newsvine.com/_wine/save?u=http://www.bloggingdeveloper.com/post/How-To-Minimize-HTTP-Requests-The-Most-Important-Guideline-for-Improving-Web-Site-Performance.aspx" target="_blank"title="NewsVine"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/newsvine_24.png" style="border: 0;" alt="NewsVine" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://furl.net" target="_blank" title="Furl"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/furl_24.png" style="border: 0;" alt="Furl" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://blinklist.com/submit/" target="_blank" title="BlinkList"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/blinklist_24.png" style="border: 0;" alt="BlinkList" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/niDrhBr_Zf4" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/niDrhBr_Zf4/post.aspx</link><author>bloggingdeveloper.nospam@nospam.bloggingdeveloper.com (Blogging Developer)</author><comments>http://www.bloggingdeveloper.com/post/How-To-Minimize-HTTP-Requests-The-Most-Important-Guideline-for-Improving-Web-Site-Performance.aspx#comment</comments><guid isPermaLink="false">http://www.bloggingdeveloper.com/post.aspx?id=04415e22-1510-4d41-a1f5-1821f620b766</guid><pubDate>Thu, 31 Jan 2008 20:37:00 +0300</pubDate><category>All</category><category>Performance</category><dc:publisher>Blogging Developer</dc:publisher><pingback:server>http://www.bloggingdeveloper.com/pingback.axd</pingback:server><pingback:target>http://www.bloggingdeveloper.com/post.aspx?id=04415e22-1510-4d41-a1f5-1821f620b766</pingback:target><slash:comments>0</slash:comments><trackback:ping>http://www.bloggingdeveloper.com/trackback.axd?id=04415e22-1510-4d41-a1f5-1821f620b766</trackback:ping><wfw:comment>http://www.bloggingdeveloper.com/post/How-To-Minimize-HTTP-Requests-The-Most-Important-Guideline-for-Improving-Web-Site-Performance.aspx#comment</wfw:comment><wfw:commentRss>http://www.bloggingdeveloper.com/syndication.axd?post=04415e22-1510-4d41-a1f5-1821f620b766</wfw:commentRss><feedburner:origLink>http://www.bloggingdeveloper.com/post.aspx?id=04415e22-1510-4d41-a1f5-1821f620b766</feedburner:origLink></item><item><title>Compress Javascript with compressjavascript.com - Free Online Javascript Compression Tool</title><description>&lt;p&gt;
Internet Applications with Web 2.0 features make heavy use of JavaScript. As rich web applications are being built with larger JavaScript, the need for JavaScript compression to keep bandwidth and page load times as small as possible by decreasing the size of the files served is becoming more important. 
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.compressjavascript.com" target="_blank" title="free online best javascript compression obfuscation tool"&gt;CompressJavascript.com&lt;/a&gt; takes your JavaScript code and compresses it by removing comments, whitespace, line feeds, and by shortening function parameters and variable names. This will reduce the script size, and may help your pages load faster and reduce bandwidth consumption. 
&lt;/p&gt;
&lt;h2&gt;&lt;a href="http://www.compressjavascript.com" title="free online tool for javascript compression/obfuscation"&gt;Compress JavaScript at http://www.compressjavascript.com&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;div class="socialBookmarksContainer"&gt;&lt;a rel="nofollow" href="http://digg.com/submit/?url=http://www.bloggingdeveloper.com/post/Compress-Javascript-with-compressjavascript-Free-Online-Javascript-Compression-Tool.aspx" target="_blank" title="Digg It!"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/digg_24.png" style="border: 0;" alt="Digg It!" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.dzone.com/links/add.html?url=http://www.bloggingdeveloper.com/post/Compress-Javascript-with-compressjavascript-Free-Online-Javascript-Compression-Tool.aspx&amp;amp;title=Compress Javascript with compressjavascript.com - Free Online Javascript Compression Tool" target="_blank" title="DZone It!"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/dzone_24.png" style="border: 0;" alt="DZone It!" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.stumbleupon.com/submit?url=http://www.bloggingdeveloper.com/post/Compress-Javascript-with-compressjavascript-Free-Online-Javascript-Compression-Tool.aspx" target="_blank" title="StumbleUpon"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/stumbleupon_24.png" style="border: 0;" alt="StumbleUpon" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://technorati.com/ping?url=http://www.bloggingdeveloper.com/" target="_blank" title="Technorati"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/technorati_24.png" style="border: 0;" alt="Technorati" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://reddit.com/submit?url=http://www.bloggingdeveloper.com/post/Compress-Javascript-with-compressjavascript-Free-Online-Javascript-Compression-Tool.aspx&amp;amp;title=Compress Javascript with compressjavascript.com - Free Online Javascript Compression Tool" target="_blank" title="Reddit"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/reddit_24.png" style="border: 0;" alt="Reddit" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://del.icio.us/post?url=http://www.bloggingdeveloper.com/post/Compress-Javascript-with-compressjavascript-Free-Online-Javascript-Compression-Tool.aspx&amp;amp;title=Compress Javascript with compressjavascript.com - Free Online Javascript Compression Tool" target="_blank" title="Del.icio.us"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/delicious_24.png" style="border: 0;" alt="Del.icio.us" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.newsvine.com/_wine/save?u=http://www.bloggingdeveloper.com/post/Compress-Javascript-with-compressjavascript-Free-Online-Javascript-Compression-Tool.aspx" target="_blank"title="NewsVine"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/newsvine_24.png" style="border: 0;" alt="NewsVine" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://furl.net" target="_blank" title="Furl"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/furl_24.png" style="border: 0;" alt="Furl" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://blinklist.com/submit/" target="_blank" title="BlinkList"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/blinklist_24.png" style="border: 0;" alt="BlinkList" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/cz64NjAJnws" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/cz64NjAJnws/post.aspx</link><author>bloggingdeveloper.nospam@nospam.bloggingdeveloper.com (Blogging Developer)</author><comments>http://www.bloggingdeveloper.com/post/Compress-Javascript-with-compressjavascript-Free-Online-Javascript-Compression-Tool.aspx#comment</comments><guid isPermaLink="false">http://www.bloggingdeveloper.com/post.aspx?id=92607706-695a-4316-beb5-5038bfe33bd0</guid><pubDate>Sun, 27 Jan 2008 21:46:00 +0300</pubDate><category>All</category><category>JavaScript</category><category>Online Services</category><category>Performance</category><dc:publisher>Blogging Developer</dc:publisher><pingback:server>http://www.bloggingdeveloper.com/pingback.axd</pingback:server><pingback:target>http://www.bloggingdeveloper.com/post.aspx?id=92607706-695a-4316-beb5-5038bfe33bd0</pingback:target><slash:comments>0</slash:comments><trackback:ping>http://www.bloggingdeveloper.com/trackback.axd?id=92607706-695a-4316-beb5-5038bfe33bd0</trackback:ping><wfw:comment>http://www.bloggingdeveloper.com/post/Compress-Javascript-with-compressjavascript-Free-Online-Javascript-Compression-Tool.aspx#comment</wfw:comment><wfw:commentRss>http://www.bloggingdeveloper.com/syndication.axd?post=92607706-695a-4316-beb5-5038bfe33bd0</wfw:commentRss><feedburner:origLink>http://www.bloggingdeveloper.com/post.aspx?id=92607706-695a-4316-beb5-5038bfe33bd0</feedburner:origLink></item><item><title>Themes for Ajax Control Toolkit's Tab Control</title><description>&lt;p&gt;
&lt;a rel="nofollow" href="http://mattberseth.com" target="_blank"&gt;Matt Berseth&lt;/a&gt; created five themes for the &lt;a rel="nofollow" href="http://ajax.asp.net/ajaxtoolkit/"&gt;AjaxControlToolkit&lt;/a&gt;&amp;#39;s Tab control using the images from &lt;a rel="nofollow" href="http://www.dynamicdrive.com/" target="_blank"&gt;dynamicdrive&lt;/a&gt;.&amp;nbsp;
&lt;/p&gt;
&lt;div id="articleimg"&gt;
&lt;div id="image"&gt;
&lt;img src="/posts/aspnet/tabthemes.jpg" alt="Theme Samples for Ajax Control Toolkit Tabs" title="Themes for Ajax Control Toolkit Tabs" /&gt; 
&lt;/div&gt;
&lt;div id="explanation"&gt;
Themes for Ajax Control Toolkit Tabs 
&lt;/div&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;p&gt;
Check the related blog entry (&lt;a rel="nofollow" href="http://mattberseth.com/blog/2008/01/five_ajaxcontroltoolkit_tab_th.html" target="_blank"&gt;Five AjaxControlToolkit Tab Themes created from DynamicDrive.com&lt;/a&gt;) for demo and download.
&lt;/p&gt;
&lt;div class="socialBookmarksContainer"&gt;&lt;a rel="nofollow" href="http://digg.com/submit/?url=http://www.bloggingdeveloper.com/post/Themes-for-Ajax-Control-Toolkits-Tab-Control.aspx" target="_blank" title="Digg It!"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/digg_24.png" style="border: 0;" alt="Digg It!" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.dzone.com/links/add.html?url=http://www.bloggingdeveloper.com/post/Themes-for-Ajax-Control-Toolkits-Tab-Control.aspx&amp;amp;title=Themes for Ajax Control Toolkit's Tab Control" target="_blank" title="DZone It!"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/dzone_24.png" style="border: 0;" alt="DZone It!" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.stumbleupon.com/submit?url=http://www.bloggingdeveloper.com/post/Themes-for-Ajax-Control-Toolkits-Tab-Control.aspx" target="_blank" title="StumbleUpon"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/stumbleupon_24.png" style="border: 0;" alt="StumbleUpon" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://technorati.com/ping?url=http://www.bloggingdeveloper.com/" target="_blank" title="Technorati"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/technorati_24.png" style="border: 0;" alt="Technorati" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://reddit.com/submit?url=http://www.bloggingdeveloper.com/post/Themes-for-Ajax-Control-Toolkits-Tab-Control.aspx&amp;amp;title=Themes for Ajax Control Toolkit's Tab Control" target="_blank" title="Reddit"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/reddit_24.png" style="border: 0;" alt="Reddit" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://del.icio.us/post?url=http://www.bloggingdeveloper.com/post/Themes-for-Ajax-Control-Toolkits-Tab-Control.aspx&amp;amp;title=Themes for Ajax Control Toolkit's Tab Control" target="_blank" title="Del.icio.us"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/delicious_24.png" style="border: 0;" alt="Del.icio.us" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.newsvine.com/_wine/save?u=http://www.bloggingdeveloper.com/post/Themes-for-Ajax-Control-Toolkits-Tab-Control.aspx" target="_blank"title="NewsVine"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/newsvine_24.png" style="border: 0;" alt="NewsVine" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://furl.net" target="_blank" title="Furl"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/furl_24.png" style="border: 0;" alt="Furl" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://blinklist.com/submit/" target="_blank" title="BlinkList"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/blinklist_24.png" style="border: 0;" alt="BlinkList" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/6WIvzsrBNlg" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/6WIvzsrBNlg/post.aspx</link><author>bloggingdeveloper.nospam@nospam.bloggingdeveloper.com (Blogging Developer)</author><comments>http://www.bloggingdeveloper.com/post/Themes-for-Ajax-Control-Toolkits-Tab-Control.aspx#comment</comments><guid isPermaLink="false">http://www.bloggingdeveloper.com/post.aspx?id=babfe802-3146-4b99-b1e7-a448f0eae3a1</guid><pubDate>Tue, 22 Jan 2008 09:30:00 +0300</pubDate><category>All</category><category>ASP.NET</category><dc:publisher>Blogging Developer</dc:publisher><pingback:server>http://www.bloggingdeveloper.com/pingback.axd</pingback:server><pingback:target>http://www.bloggingdeveloper.com/post.aspx?id=babfe802-3146-4b99-b1e7-a448f0eae3a1</pingback:target><slash:comments>0</slash:comments><trackback:ping>http://www.bloggingdeveloper.com/trackback.axd?id=babfe802-3146-4b99-b1e7-a448f0eae3a1</trackback:ping><wfw:comment>http://www.bloggingdeveloper.com/post/Themes-for-Ajax-Control-Toolkits-Tab-Control.aspx#comment</wfw:comment><wfw:commentRss>http://www.bloggingdeveloper.com/syndication.axd?post=babfe802-3146-4b99-b1e7-a448f0eae3a1</wfw:commentRss><feedburner:origLink>http://www.bloggingdeveloper.com/post.aspx?id=babfe802-3146-4b99-b1e7-a448f0eae3a1</feedburner:origLink></item><item><title>JavaScript: Array Length Property</title><description>&lt;p&gt;
The length of any Javascript array can be found by using its length property. Moreover, the length property can be used to loop through array elements. Array numbering starts from 0 in Javascript. Therefore, name_of_the_array[1] is the second element of the array. As a result, the last element of the array is the total size of the array minus 1. 
&lt;/p&gt;
&lt;p class="code"&gt;
var myarray = [&amp;#39;a&amp;#39;, &amp;#39;b&amp;#39;, &amp;#39;c&amp;#39;, &amp;#39;d&amp;#39;];
&lt;/p&gt;
&lt;p&gt;

&lt;/p&gt;
&lt;h2&gt;Getting the first element of a Javascript Array: &lt;/h2&gt;
&lt;p class="code"&gt;
document.write(myarray[0]); 
&lt;/p&gt;
&lt;p&gt;
This will display a as the first element of the array. 
&lt;/p&gt;
&lt;h2&gt;Getting the last element of a Javascript Array: &lt;/h2&gt;
&lt;p class="code"&gt;
document.write(myarray[myarray.lenth-1]); 
&lt;/p&gt;
&lt;p&gt;
This will display d as the last element of the array. 
&lt;/p&gt;
&lt;h2&gt;Looping through the elements of a Javascript Array: &lt;/h2&gt;
&lt;p class="code"&gt;
var myarray = [&amp;#39;a&amp;#39;, &amp;#39;b&amp;#39;, &amp;#39;c&amp;#39;, &amp;#39;d&amp;#39;];&lt;br /&gt;
for(i=0;i {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;document.write(myarray[i]);&lt;br /&gt;
} 
&lt;/p&gt;
&lt;p&gt;
This will display abcd.
&lt;/p&gt;
&lt;h2&gt;Assigning a value to Javascript Array Length Property&lt;/h2&gt;
&lt;p&gt;
If we assign a value to length property of the array which is less than the actual length of the array, the elements after the assigned length are lost. 
&lt;/p&gt;
&lt;p&gt;
Check the following example: 
&lt;/p&gt;
&lt;p class="code"&gt;
var myarray = [&amp;#39;a&amp;#39;, &amp;#39;b&amp;#39;, &amp;#39;c&amp;#39;, &amp;#39;d&amp;#39;];&lt;br /&gt;
myarray.length=2;&lt;br /&gt;
document.write(myarray[myarray.lenth-1]); 
&lt;/p&gt;
&lt;p&gt;
We lost the last two elements by assigning a value smaller than the actual length of the array. Therefore, the example above will display b. 
&lt;/p&gt;
&lt;h2&gt;Array Length Browser Incompatiblity&lt;/h2&gt;
&lt;p&gt;
The following code returns 4 in Firefox and 5 in IE. 
&lt;/p&gt;
&lt;p class="code"&gt;
var myarray = [&amp;#39;a&amp;#39;, &amp;#39;b&amp;#39;, &amp;#39;c&amp;#39;, &amp;#39;d&amp;#39;,];&lt;br /&gt;
document.write(foo.length); 
&lt;/p&gt;
&lt;p&gt;
The extra comma on the end of the array causes the interpretation difference. IE interprets this as an additional element with an undefined value. Firefox ignores it. 
&lt;/p&gt;
&lt;p&gt;
The ECMAScript standard says: 
&lt;/p&gt;
&lt;p class="quote"&gt;
Array elements may be elided at the beginning, middle or end of the element list. Whenever a comma in the element list is not preceded by an AssignmentExpression (i.e., a comma at the beginning or after another comma), the missing array element contributes to the length of the Array and increases the index of subsequent elements. Elided array elements are not defined. 
&lt;/p&gt;
&lt;p&gt;
According to the standard the interpretation of IE is correct. However, you have to be careful to write your code compatible to all browsers. 
&lt;/p&gt;
&lt;div class="socialBookmarksContainer"&gt;&lt;a rel="nofollow" href="http://digg.com/submit/?url=http://www.bloggingdeveloper.com/post/JavaScript-Array-Length-Property.aspx" target="_blank" title="Digg It!"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/digg_24.png" style="border: 0;" alt="Digg It!" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.dzone.com/links/add.html?url=http://www.bloggingdeveloper.com/post/JavaScript-Array-Length-Property.aspx&amp;amp;title=JavaScript: Array Length Property" target="_blank" title="DZone It!"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/dzone_24.png" style="border: 0;" alt="DZone It!" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.stumbleupon.com/submit?url=http://www.bloggingdeveloper.com/post/JavaScript-Array-Length-Property.aspx" target="_blank" title="StumbleUpon"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/stumbleupon_24.png" style="border: 0;" alt="StumbleUpon" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://technorati.com/ping?url=http://www.bloggingdeveloper.com/" target="_blank" title="Technorati"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/technorati_24.png" style="border: 0;" alt="Technorati" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://reddit.com/submit?url=http://www.bloggingdeveloper.com/post/JavaScript-Array-Length-Property.aspx&amp;amp;title=JavaScript: Array Length Property" target="_blank" title="Reddit"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/reddit_24.png" style="border: 0;" alt="Reddit" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://del.icio.us/post?url=http://www.bloggingdeveloper.com/post/JavaScript-Array-Length-Property.aspx&amp;amp;title=JavaScript: Array Length Property" target="_blank" title="Del.icio.us"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/delicious_24.png" style="border: 0;" alt="Del.icio.us" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.newsvine.com/_wine/save?u=http://www.bloggingdeveloper.com/post/JavaScript-Array-Length-Property.aspx" target="_blank"title="NewsVine"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/newsvine_24.png" style="border: 0;" alt="NewsVine" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://furl.net" target="_blank" title="Furl"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/furl_24.png" style="border: 0;" alt="Furl" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://blinklist.com/submit/" target="_blank" title="BlinkList"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/blinklist_24.png" style="border: 0;" alt="BlinkList" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/o2NcRIkxcdM" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/o2NcRIkxcdM/post.aspx</link><author>bloggingdeveloper.nospam@nospam.bloggingdeveloper.com (Blogging Developer)</author><comments>http://www.bloggingdeveloper.com/post/JavaScript-Array-Length-Property.aspx#comment</comments><guid isPermaLink="false">http://www.bloggingdeveloper.com/post.aspx?id=3c1988a2-5d62-4cc3-bf01-b07523d547ea</guid><pubDate>Sat, 19 Jan 2008 23:00:00 +0300</pubDate><category>All</category><category>JavaScript</category><dc:publisher>Blogging Developer</dc:publisher><pingback:server>http://www.bloggingdeveloper.com/pingback.axd</pingback:server><pingback:target>http://www.bloggingdeveloper.com/post.aspx?id=3c1988a2-5d62-4cc3-bf01-b07523d547ea</pingback:target><slash:comments>1</slash:comments><trackback:ping>http://www.bloggingdeveloper.com/trackback.axd?id=3c1988a2-5d62-4cc3-bf01-b07523d547ea</trackback:ping><wfw:comment>http://www.bloggingdeveloper.com/post/JavaScript-Array-Length-Property.aspx#comment</wfw:comment><wfw:commentRss>http://www.bloggingdeveloper.com/syndication.axd?post=3c1988a2-5d62-4cc3-bf01-b07523d547ea</wfw:commentRss><feedburner:origLink>http://www.bloggingdeveloper.com/post.aspx?id=3c1988a2-5d62-4cc3-bf01-b07523d547ea</feedburner:origLink></item><item><title>document.lastModified - How To: Display the Last Modified Date of a Document using Javascript - Javascript's document.lastModified Property</title><description>&lt;p&gt;
Displaying the &lt;strong&gt;last modified date&lt;/strong&gt; of a web page using Javascript is just a matter of diplaying the document.lastModified property of Javascript.
&lt;/p&gt;
&lt;p class="code"&gt;
&lt;strong&gt;
document.lastModified;&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
In order for this property to work, the server has to send the information to the browser. which is widely supported by the browsers nowadays.
&lt;/p&gt;
&lt;p&gt;
When a server does not send a lastModified date information to the browser, Netscape and Opera give a last modification date of 01/01/1970 at 00:00:00 hrs, while Internet Explorer gives today. So it is always a good practice to test the server if it is sending the necessary information to the browser before using this script.
&lt;/p&gt;
&lt;p&gt;
 
&lt;/p&gt;
&lt;h2&gt;document.lastModified&lt;/h2&gt;&lt;br /&gt;
&lt;p class="code"&gt;
&lt;strong&gt;
document.write(document.lastModified);&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
outputs: &lt;strong&gt;18/01/2008 16:43:32&lt;/strong&gt;
&lt;/p&gt;
&lt;div class="socialBookmarksContainer"&gt;&lt;a rel="nofollow" href="http://digg.com/submit/?url=http://www.bloggingdeveloper.com/post/How-To-Display-the-Last-Modified-Date-of-a-Document-using-Javascript-Javascripts-document-lastModified-Property.aspx" target="_blank" title="Digg It!"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/digg_24.png" style="border: 0;" alt="Digg It!" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.dzone.com/links/add.html?url=http://www.bloggingdeveloper.com/post/How-To-Display-the-Last-Modified-Date-of-a-Document-using-Javascript-Javascripts-document-lastModified-Property.aspx&amp;amp;title=document.lastModified - How To: Display the Last Modified Date of a Document using Javascript - Javascript's document.lastModified Property" target="_blank" title="DZone It!"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/dzone_24.png" style="border: 0;" alt="DZone It!" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.stumbleupon.com/submit?url=http://www.bloggingdeveloper.com/post/How-To-Display-the-Last-Modified-Date-of-a-Document-using-Javascript-Javascripts-document-lastModified-Property.aspx" target="_blank" title="StumbleUpon"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/stumbleupon_24.png" style="border: 0;" alt="StumbleUpon" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://technorati.com/ping?url=http://www.bloggingdeveloper.com/" target="_blank" title="Technorati"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/technorati_24.png" style="border: 0;" alt="Technorati" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://reddit.com/submit?url=http://www.bloggingdeveloper.com/post/How-To-Display-the-Last-Modified-Date-of-a-Document-using-Javascript-Javascripts-document-lastModified-Property.aspx&amp;amp;title=document.lastModified - How To: Display the Last Modified Date of a Document using Javascript - Javascript's document.lastModified Property" target="_blank" title="Reddit"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/reddit_24.png" style="border: 0;" alt="Reddit" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://del.icio.us/post?url=http://www.bloggingdeveloper.com/post/How-To-Display-the-Last-Modified-Date-of-a-Document-using-Javascript-Javascripts-document-lastModified-Property.aspx&amp;amp;title=document.lastModified - How To: Display the Last Modified Date of a Document using Javascript - Javascript's document.lastModified Property" target="_blank" title="Del.icio.us"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/delicious_24.png" style="border: 0;" alt="Del.icio.us" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.newsvine.com/_wine/save?u=http://www.bloggingdeveloper.com/post/How-To-Display-the-Last-Modified-Date-of-a-Document-using-Javascript-Javascripts-document-lastModified-Property.aspx" target="_blank"title="NewsVine"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/newsvine_24.png" style="border: 0;" alt="NewsVine" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://furl.net" target="_blank" title="Furl"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/furl_24.png" style="border: 0;" alt="Furl" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://blinklist.com/submit/" target="_blank" title="BlinkList"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/blinklist_24.png" style="border: 0;" alt="BlinkList" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/QHc9sfc7yUg" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/QHc9sfc7yUg/post.aspx</link><author>bloggingdeveloper.nospam@nospam.bloggingdeveloper.com (Blogging Developer)</author><comments>http://www.bloggingdeveloper.com/post/How-To-Display-the-Last-Modified-Date-of-a-Document-using-Javascript-Javascripts-document-lastModified-Property.aspx#comment</comments><guid isPermaLink="false">http://www.bloggingdeveloper.com/post.aspx?id=f992d959-5101-4d10-b432-58e54cb26f20</guid><pubDate>Fri, 18 Jan 2008 16:22:00 +0300</pubDate><category>All</category><category>JavaScript</category><category>Tips</category><dc:publisher>Blogging Developer</dc:publisher><pingback:server>http://www.bloggingdeveloper.com/pingback.axd</pingback:server><pingback:target>http://www.bloggingdeveloper.com/post.aspx?id=f992d959-5101-4d10-b432-58e54cb26f20</pingback:target><slash:comments>0</slash:comments><trackback:ping>http://www.bloggingdeveloper.com/trackback.axd?id=f992d959-5101-4d10-b432-58e54cb26f20</trackback:ping><wfw:comment>http://www.bloggingdeveloper.com/post/How-To-Display-the-Last-Modified-Date-of-a-Document-using-Javascript-Javascripts-document-lastModified-Property.aspx#comment</wfw:comment><wfw:commentRss>http://www.bloggingdeveloper.com/syndication.axd?post=f992d959-5101-4d10-b432-58e54cb26f20</wfw:commentRss><feedburner:origLink>http://www.bloggingdeveloper.com/post.aspx?id=f992d959-5101-4d10-b432-58e54cb26f20</feedburner:origLink></item><item><title>The terminal server has exceeded the maximum number of allowed connections – Error in Remote Desktop Connection (mstsc)</title><description>&lt;p&gt;
Remote desktop connections remain active until the logged in user selects &amp;quot;Log Off&amp;quot; from the Start Menu. If a user closes the remote desktop window without logging off, the user will still remain logged on.
&lt;/p&gt;
&lt;p&gt;
Only up to two simultaneous Remote Desktop connections are allowed by default and active and disconnected sessions are calculated in this connection limit.
&lt;/p&gt;
&lt;p&gt;
If a third simultaneous attempt is made to login to the server &lt;strong&gt;&amp;quot;The terminal server has exceeded the maximum number of allowed connections&amp;quot;&lt;/strong&gt; error will be shown to the user, and they will be unable to complete the login process.
&lt;/p&gt;
&lt;p&gt;
 
&lt;/p&gt;
&lt;p&gt;
Fortunately, there is a way around this:
&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;
	Click OK to the error message.
	&lt;/li&gt;
	&lt;li&gt;
	Type &lt;strong&gt;mstsc /v:xx.xx.xx.xx /f &amp;ndash;console&lt;/strong&gt; into Start &amp;ndash; Run replacing xx.xx.xx.xx with the remote IP
	&lt;/li&gt;
	&lt;li&gt;
	Login with Administrator account.
	&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;p&gt;
This will connect you to the remote computer.
&lt;/p&gt;
&lt;div class="socialBookmarksContainer"&gt;&lt;a rel="nofollow" href="http://digg.com/submit/?url=http://www.bloggingdeveloper.com/post/The-terminal-server-has-exceeded-the-maximum-number-of-allowed-connections-Error-in-Remote-Desktop-Connection-(mstsc).aspx" target="_blank" title="Digg It!"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/digg_24.png" style="border: 0;" alt="Digg It!" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.dzone.com/links/add.html?url=http://www.bloggingdeveloper.com/post/The-terminal-server-has-exceeded-the-maximum-number-of-allowed-connections-Error-in-Remote-Desktop-Connection-(mstsc).aspx&amp;amp;title=The terminal server has exceeded the maximum number of allowed connections – Error in Remote Desktop Connection (mstsc)" target="_blank" title="DZone It!"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/dzone_24.png" style="border: 0;" alt="DZone It!" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.stumbleupon.com/submit?url=http://www.bloggingdeveloper.com/post/The-terminal-server-has-exceeded-the-maximum-number-of-allowed-connections-Error-in-Remote-Desktop-Connection-(mstsc).aspx" target="_blank" title="StumbleUpon"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/stumbleupon_24.png" style="border: 0;" alt="StumbleUpon" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://technorati.com/ping?url=http://www.bloggingdeveloper.com/" target="_blank" title="Technorati"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/technorati_24.png" style="border: 0;" alt="Technorati" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://reddit.com/submit?url=http://www.bloggingdeveloper.com/post/The-terminal-server-has-exceeded-the-maximum-number-of-allowed-connections-Error-in-Remote-Desktop-Connection-(mstsc).aspx&amp;amp;title=The terminal server has exceeded the maximum number of allowed connections – Error in Remote Desktop Connection (mstsc)" target="_blank" title="Reddit"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/reddit_24.png" style="border: 0;" alt="Reddit" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://del.icio.us/post?url=http://www.bloggingdeveloper.com/post/The-terminal-server-has-exceeded-the-maximum-number-of-allowed-connections-Error-in-Remote-Desktop-Connection-(mstsc).aspx&amp;amp;title=The terminal server has exceeded the maximum number of allowed connections – Error in Remote Desktop Connection (mstsc)" target="_blank" title="Del.icio.us"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/delicious_24.png" style="border: 0;" alt="Del.icio.us" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.newsvine.com/_wine/save?u=http://www.bloggingdeveloper.com/post/The-terminal-server-has-exceeded-the-maximum-number-of-allowed-connections-Error-in-Remote-Desktop-Connection-(mstsc).aspx" target="_blank"title="NewsVine"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/newsvine_24.png" style="border: 0;" alt="NewsVine" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://furl.net" target="_blank" title="Furl"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/furl_24.png" style="border: 0;" alt="Furl" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://blinklist.com/submit/" target="_blank" title="BlinkList"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/blinklist_24.png" style="border: 0;" alt="BlinkList" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/AUhOGek9NF0" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/AUhOGek9NF0/post.aspx</link><author>bloggingdeveloper.nospam@nospam.bloggingdeveloper.com (Blogging Developer)</author><comments>http://www.bloggingdeveloper.com/post/The-terminal-server-has-exceeded-the-maximum-number-of-allowed-connections-Error-in-Remote-Desktop-Connection-(mstsc).aspx#comment</comments><guid isPermaLink="false">http://www.bloggingdeveloper.com/post.aspx?id=d1f8125e-2d36-4886-a034-624e455c45cb</guid><pubDate>Fri, 18 Jan 2008 11:15:00 +0300</pubDate><category>All</category><category>Errors</category><category>Tips</category><dc:publisher>Blogging Developer</dc:publisher><pingback:server>http://www.bloggingdeveloper.com/pingback.axd</pingback:server><pingback:target>http://www.bloggingdeveloper.com/post.aspx?id=d1f8125e-2d36-4886-a034-624e455c45cb</pingback:target><slash:comments>1</slash:comments><trackback:ping>http://www.bloggingdeveloper.com/trackback.axd?id=d1f8125e-2d36-4886-a034-624e455c45cb</trackback:ping><wfw:comment>http://www.bloggingdeveloper.com/post/The-terminal-server-has-exceeded-the-maximum-number-of-allowed-connections-Error-in-Remote-Desktop-Connection-(mstsc).aspx#comment</wfw:comment><wfw:commentRss>http://www.bloggingdeveloper.com/syndication.axd?post=d1f8125e-2d36-4886-a034-624e455c45cb</wfw:commentRss><feedburner:origLink>http://www.bloggingdeveloper.com/post.aspx?id=d1f8125e-2d36-4886-a034-624e455c45cb</feedburner:origLink></item><item><title>JavaScript: null vs. undefined - The Difference between null and undefined</title><description>&lt;p&gt;
JavaScript is different from other programming languages by containin both &lt;strong&gt;undefined &lt;/strong&gt;and &lt;strong&gt;null &lt;/strong&gt;values, which may cause confusion.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;null &lt;/strong&gt;is a special value meaning &amp;quot;&lt;strong&gt;no value&lt;/strong&gt;&amp;quot;. null is a special object because &lt;strong&gt;typeof null &lt;/strong&gt;returns &amp;#39;&lt;strong&gt;object&lt;/strong&gt;&amp;#39;.
&lt;/p&gt;
&lt;p&gt;
On the other hand, &lt;strong&gt;undefined &lt;/strong&gt;means that the variable has not been declared, or has not been given a value.
&lt;/p&gt;
&lt;p&gt;
 
&lt;/p&gt;
&lt;p&gt;
Following snippets display &amp;#39;&lt;strong&gt;undefined&lt;/strong&gt;&amp;#39;:
&lt;/p&gt;
&lt;p class="code"&gt;
// i is not declared anywhere in code
&lt;br /&gt;
alert(&lt;strong&gt;typeof &lt;/strong&gt;i);
&lt;/p&gt;
&lt;p class="code"&gt;
var i;
&lt;br /&gt;
alert(&lt;strong&gt;typeof &lt;/strong&gt;i);
&lt;/p&gt;
&lt;p&gt;
Although &lt;strong&gt;null &lt;/strong&gt;and &lt;strong&gt;undefined &lt;/strong&gt;are slightly different, the &lt;strong&gt;== (equality)&lt;/strong&gt; operator considers them &lt;strong&gt;equal&lt;/strong&gt;, but the &lt;strong&gt;=== (identity)&lt;/strong&gt; operator doesn&amp;#39;t.
&lt;/p&gt;
&lt;div class="socialBookmarksContainer"&gt;&lt;a rel="nofollow" href="http://digg.com/submit/?url=http://www.bloggingdeveloper.com/post/JavaScript-null-vs-undefined-The-Difference-between-null-and-undefined.aspx" target="_blank" title="Digg It!"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/digg_24.png" style="border: 0;" alt="Digg It!" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.dzone.com/links/add.html?url=http://www.bloggingdeveloper.com/post/JavaScript-null-vs-undefined-The-Difference-between-null-and-undefined.aspx&amp;amp;title=JavaScript: null vs. undefined - The Difference between null and undefined" target="_blank" title="DZone It!"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/dzone_24.png" style="border: 0;" alt="DZone It!" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.stumbleupon.com/submit?url=http://www.bloggingdeveloper.com/post/JavaScript-null-vs-undefined-The-Difference-between-null-and-undefined.aspx" target="_blank" title="StumbleUpon"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/stumbleupon_24.png" style="border: 0;" alt="StumbleUpon" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://technorati.com/ping?url=http://www.bloggingdeveloper.com/" target="_blank" title="Technorati"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/technorati_24.png" style="border: 0;" alt="Technorati" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://reddit.com/submit?url=http://www.bloggingdeveloper.com/post/JavaScript-null-vs-undefined-The-Difference-between-null-and-undefined.aspx&amp;amp;title=JavaScript: null vs. undefined - The Difference between null and undefined" target="_blank" title="Reddit"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/reddit_24.png" style="border: 0;" alt="Reddit" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://del.icio.us/post?url=http://www.bloggingdeveloper.com/post/JavaScript-null-vs-undefined-The-Difference-between-null-and-undefined.aspx&amp;amp;title=JavaScript: null vs. undefined - The Difference between null and undefined" target="_blank" title="Del.icio.us"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/delicious_24.png" style="border: 0;" alt="Del.icio.us" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.newsvine.com/_wine/save?u=http://www.bloggingdeveloper.com/post/JavaScript-null-vs-undefined-The-Difference-between-null-and-undefined.aspx" target="_blank"title="NewsVine"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/newsvine_24.png" style="border: 0;" alt="NewsVine" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://furl.net" target="_blank" title="Furl"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/furl_24.png" style="border: 0;" alt="Furl" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://blinklist.com/submit/" target="_blank" title="BlinkList"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/blinklist_24.png" style="border: 0;" alt="BlinkList" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/dJlaMDM5UjQ" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/dJlaMDM5UjQ/post.aspx</link><author>bloggingdeveloper.nospam@nospam.bloggingdeveloper.com (Blogging Developer)</author><comments>http://www.bloggingdeveloper.com/post/JavaScript-null-vs-undefined-The-Difference-between-null-and-undefined.aspx#comment</comments><guid isPermaLink="false">http://www.bloggingdeveloper.com/post.aspx?id=2c06ffd6-8762-46e4-a58a-dce9a8d55c29</guid><pubDate>Tue, 25 Dec 2007 17:14:00 +0300</pubDate><category>All</category><category>JavaScript</category><category>Tips</category><dc:publisher>Blogging Developer</dc:publisher><pingback:server>http://www.bloggingdeveloper.com/pingback.axd</pingback:server><pingback:target>http://www.bloggingdeveloper.com/post.aspx?id=2c06ffd6-8762-46e4-a58a-dce9a8d55c29</pingback:target><slash:comments>1</slash:comments><trackback:ping>http://www.bloggingdeveloper.com/trackback.axd?id=2c06ffd6-8762-46e4-a58a-dce9a8d55c29</trackback:ping><wfw:comment>http://www.bloggingdeveloper.com/post/JavaScript-null-vs-undefined-The-Difference-between-null-and-undefined.aspx#comment</wfw:comment><wfw:commentRss>http://www.bloggingdeveloper.com/syndication.axd?post=2c06ffd6-8762-46e4-a58a-dce9a8d55c29</wfw:commentRss><feedburner:origLink>http://www.bloggingdeveloper.com/post.aspx?id=2c06ffd6-8762-46e4-a58a-dce9a8d55c29</feedburner:origLink></item><item><title>JavaScript Array.Join vs String Concatenation - Avoid String Concatenation's Major Hit on Performance</title><description>&lt;p&gt;
Doing many &lt;strong&gt;string concatenation&lt;/strong&gt; operations can be a major hit on performance even in &lt;strong&gt;Javascipt&lt;/strong&gt;.
&lt;/p&gt;
&lt;p&gt;
Using &lt;strong&gt;+&lt;/strong&gt; to &lt;strong&gt;concatenate string pieces&lt;/strong&gt; into a huge string is not the correct and the only way. Since string concatenation results in too many intermediate strings and concatenation operations, it performs poorly.
&lt;/p&gt;
&lt;p&gt;
 
&lt;/p&gt;
&lt;p&gt;
A better approach for string concatenation is using &lt;strong&gt;Array.join()&lt;/strong&gt;, which joins all array elements into one string:
&lt;/p&gt;
&lt;p class="code"&gt;
var tmp = []; &lt;br /&gt;
for (/* each piece */) &lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp; tmp.push(piece);&lt;br /&gt;
}&lt;br /&gt;
str = tmp.join(&amp;#39;&amp;#39;);&lt;br /&gt;
return str;
&lt;/p&gt;
&lt;p&gt;
This method doesn&amp;#39;t suffer from the &lt;strong&gt;intermediate strings&lt;/strong&gt;, and &lt;strong&gt;executes faster with high number of concatenation operations&lt;/strong&gt;.
&lt;/p&gt;
&lt;div class="socialBookmarksContainer"&gt;&lt;a rel="nofollow" href="http://digg.com/submit/?url=http://www.bloggingdeveloper.com/post/JavaScript-Array-Join-vs-String-Concatenation-Avoid-String-Concatenations-Major-Hit-on-Performance.aspx" target="_blank" title="Digg It!"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/digg_24.png" style="border: 0;" alt="Digg It!" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.dzone.com/links/add.html?url=http://www.bloggingdeveloper.com/post/JavaScript-Array-Join-vs-String-Concatenation-Avoid-String-Concatenations-Major-Hit-on-Performance.aspx&amp;amp;title=JavaScript Array.Join vs String Concatenation - Avoid String Concatenation's Major Hit on Performance" target="_blank" title="DZone It!"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/dzone_24.png" style="border: 0;" alt="DZone It!" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.stumbleupon.com/submit?url=http://www.bloggingdeveloper.com/post/JavaScript-Array-Join-vs-String-Concatenation-Avoid-String-Concatenations-Major-Hit-on-Performance.aspx" target="_blank" title="StumbleUpon"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/stumbleupon_24.png" style="border: 0;" alt="StumbleUpon" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://technorati.com/ping?url=http://www.bloggingdeveloper.com/" target="_blank" title="Technorati"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/technorati_24.png" style="border: 0;" alt="Technorati" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://reddit.com/submit?url=http://www.bloggingdeveloper.com/post/JavaScript-Array-Join-vs-String-Concatenation-Avoid-String-Concatenations-Major-Hit-on-Performance.aspx&amp;amp;title=JavaScript Array.Join vs String Concatenation - Avoid String Concatenation's Major Hit on Performance" target="_blank" title="Reddit"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/reddit_24.png" style="border: 0;" alt="Reddit" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://del.icio.us/post?url=http://www.bloggingdeveloper.com/post/JavaScript-Array-Join-vs-String-Concatenation-Avoid-String-Concatenations-Major-Hit-on-Performance.aspx&amp;amp;title=JavaScript Array.Join vs String Concatenation - Avoid String Concatenation's Major Hit on Performance" target="_blank" title="Del.icio.us"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/delicious_24.png" style="border: 0;" alt="Del.icio.us" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.newsvine.com/_wine/save?u=http://www.bloggingdeveloper.com/post/JavaScript-Array-Join-vs-String-Concatenation-Avoid-String-Concatenations-Major-Hit-on-Performance.aspx" target="_blank"title="NewsVine"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/newsvine_24.png" style="border: 0;" alt="NewsVine" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://furl.net" target="_blank" title="Furl"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/furl_24.png" style="border: 0;" alt="Furl" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://blinklist.com/submit/" target="_blank" title="BlinkList"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/blinklist_24.png" style="border: 0;" alt="BlinkList" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/FSBleMC4mcc" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/FSBleMC4mcc/post.aspx</link><author>bloggingdeveloper.nospam@nospam.bloggingdeveloper.com (Blogging Developer)</author><comments>http://www.bloggingdeveloper.com/post/JavaScript-Array-Join-vs-String-Concatenation-Avoid-String-Concatenations-Major-Hit-on-Performance.aspx#comment</comments><guid isPermaLink="false">http://www.bloggingdeveloper.com/post.aspx?id=94a157c8-75c6-4640-a522-45b4b3f36548</guid><pubDate>Mon, 17 Dec 2007 16:45:00 +0300</pubDate><category>JavaScript</category><category>Tips</category><dc:publisher>Blogging Developer</dc:publisher><pingback:server>http://www.bloggingdeveloper.com/pingback.axd</pingback:server><pingback:target>http://www.bloggingdeveloper.com/post.aspx?id=94a157c8-75c6-4640-a522-45b4b3f36548</pingback:target><slash:comments>4</slash:comments><trackback:ping>http://www.bloggingdeveloper.com/trackback.axd?id=94a157c8-75c6-4640-a522-45b4b3f36548</trackback:ping><wfw:comment>http://www.bloggingdeveloper.com/post/JavaScript-Array-Join-vs-String-Concatenation-Avoid-String-Concatenations-Major-Hit-on-Performance.aspx#comment</wfw:comment><wfw:commentRss>http://www.bloggingdeveloper.com/syndication.axd?post=94a157c8-75c6-4640-a522-45b4b3f36548</wfw:commentRss><feedburner:origLink>http://www.bloggingdeveloper.com/post.aspx?id=94a157c8-75c6-4640-a522-45b4b3f36548</feedburner:origLink></item><item><title>JavaScript setInterval Function - JavaScript Timing Events</title><description>&lt;p align="justify"&gt;
JavaScript features a couple of methods that lets you run a piece of JavaScript code (&lt;strong&gt;javascript function&lt;/strong&gt;) at some point in the future. These methods are:
&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;&lt;strong&gt;setTimeout()&lt;/strong&gt;&lt;/li&gt;
	&lt;li&gt;&lt;strong&gt;setInterval()&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p align="justify"&gt;
&lt;br /&gt;
In this tutorial, I&amp;#39;ll explain how &lt;strong&gt;setInterval() &lt;/strong&gt;method works, and give a real world example. You may find the details of &lt;strong&gt;setTimeout()&lt;/strong&gt; method in &lt;a href="http://www.bloggingdeveloper.com/post/JavaScript-setTimeout-Function-JavaScript-Timing-Events.aspx"&gt;JavaScript setTimeout Function - JavaScript Timing Events&lt;/a&gt; 
&lt;/p&gt;
&lt;h2&gt;&lt;u&gt;&lt;strong&gt;setInterval&lt;/strong&gt;&lt;/u&gt;&lt;u&gt;()&lt;/u&gt;&lt;/h2&gt;
&lt;p align="justify"&gt;
&lt;strong&gt;window.setInterval()&lt;/strong&gt; method allows you to specify a piece of JavaScript code (&lt;strong&gt;expression&lt;/strong&gt;) that will be triggered again and again in every specified number of miliseconds.
&lt;/p&gt;
&lt;h3&gt;Syntax&lt;/h3&gt;
&lt;p class="code"&gt;
&lt;strong&gt;var t = setInterval ( expression, timeout ); &lt;/strong&gt;
&lt;/p&gt;
&lt;p align="justify"&gt;
The &lt;strong&gt;setInterval()&lt;/strong&gt; method returns a numeric timeout ID which can be used to refer the time interval to use with clearInterval method. The first parameter (&lt;strong&gt;expression&lt;/strong&gt;) of setInterval() is a string containing a javascript statement. The statement could be a call to a JavaScript function like &amp;quot;delayedAlert();&amp;quot; or a&amp;nbsp; statement like &amp;quot;alert(&amp;#39;This alert is delayed.&amp;#39;);&amp;quot;. The second parameter (&lt;strong&gt;timeout&lt;/strong&gt;), indicates the number of &lt;strong&gt;miliseconds &lt;/strong&gt;to pass before executing the &lt;strong&gt;expression&lt;/strong&gt;.
&lt;/p&gt;
&lt;h3&gt;Example&amp;nbsp;&lt;/h3&gt;
&lt;p class="code"&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; setInterval(&amp;quot;doSomething()&amp;quot;, 5000);&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; function doSomething()&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;&amp;nbsp; // do something
&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; }&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; 
&lt;/p&gt;
&lt;p align="justify"&gt;
The doSomething() function will be called in every 5 seconds until it is cancelled.
&lt;/p&gt;
&lt;h2&gt;&lt;u&gt;&lt;strong&gt;clearInterval()&lt;/strong&gt;&lt;/u&gt;&lt;/h2&gt;
&lt;p align="justify"&gt;
If you want to cancel a &lt;strong&gt;setInterval()&lt;/strong&gt; then you need to call &lt;strong&gt;clearInterval()&lt;/strong&gt;, passing the internal ID returned by the call to &lt;strong&gt;setInterval()&lt;/strong&gt;.&amp;nbsp;
&lt;/p&gt;
&lt;div class="socialBookmarksContainer"&gt;&lt;a rel="nofollow" href="http://digg.com/submit/?url=http://www.bloggingdeveloper.com/post/JavaScript-setInterval-Function---JavaScript-Timing-Events.aspx" target="_blank" title="Digg It!"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/digg_24.png" style="border: 0;" alt="Digg It!" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.dzone.com/links/add.html?url=http://www.bloggingdeveloper.com/post/JavaScript-setInterval-Function---JavaScript-Timing-Events.aspx&amp;amp;title=JavaScript setInterval Function - JavaScript Timing Events" target="_blank" title="DZone It!"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/dzone_24.png" style="border: 0;" alt="DZone It!" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.stumbleupon.com/submit?url=http://www.bloggingdeveloper.com/post/JavaScript-setInterval-Function---JavaScript-Timing-Events.aspx" target="_blank" title="StumbleUpon"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/stumbleupon_24.png" style="border: 0;" alt="StumbleUpon" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://technorati.com/ping?url=http://www.bloggingdeveloper.com/" target="_blank" title="Technorati"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/technorati_24.png" style="border: 0;" alt="Technorati" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://reddit.com/submit?url=http://www.bloggingdeveloper.com/post/JavaScript-setInterval-Function---JavaScript-Timing-Events.aspx&amp;amp;title=JavaScript setInterval Function - JavaScript Timing Events" target="_blank" title="Reddit"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/reddit_24.png" style="border: 0;" alt="Reddit" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://del.icio.us/post?url=http://www.bloggingdeveloper.com/post/JavaScript-setInterval-Function---JavaScript-Timing-Events.aspx&amp;amp;title=JavaScript setInterval Function - JavaScript Timing Events" target="_blank" title="Del.icio.us"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/delicious_24.png" style="border: 0;" alt="Del.icio.us" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.newsvine.com/_wine/save?u=http://www.bloggingdeveloper.com/post/JavaScript-setInterval-Function---JavaScript-Timing-Events.aspx" target="_blank"title="NewsVine"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/newsvine_24.png" style="border: 0;" alt="NewsVine" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://furl.net" target="_blank" title="Furl"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/furl_24.png" style="border: 0;" alt="Furl" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://blinklist.com/submit/" target="_blank" title="BlinkList"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/blinklist_24.png" style="border: 0;" alt="BlinkList" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/DS6BybMLsJA" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/DS6BybMLsJA/post.aspx</link><author>bloggingdeveloper.nospam@nospam.bloggingdeveloper.com (Blogging Developer)</author><comments>http://www.bloggingdeveloper.com/post/JavaScript-setInterval-Function---JavaScript-Timing-Events.aspx#comment</comments><guid isPermaLink="false">http://www.bloggingdeveloper.com/post.aspx?id=918f4094-1707-4921-b983-6f0c47b658d3</guid><pubDate>Sat, 17 Nov 2007 00:17:00 +0300</pubDate><category>JavaScript</category><category>All</category><dc:publisher>Blogging Developer</dc:publisher><pingback:server>http://www.bloggingdeveloper.com/pingback.axd</pingback:server><pingback:target>http://www.bloggingdeveloper.com/post.aspx?id=918f4094-1707-4921-b983-6f0c47b658d3</pingback:target><slash:comments>1</slash:comments><trackback:ping>http://www.bloggingdeveloper.com/trackback.axd?id=918f4094-1707-4921-b983-6f0c47b658d3</trackback:ping><wfw:comment>http://www.bloggingdeveloper.com/post/JavaScript-setInterval-Function---JavaScript-Timing-Events.aspx#comment</wfw:comment><wfw:commentRss>http://www.bloggingdeveloper.com/syndication.axd?post=918f4094-1707-4921-b983-6f0c47b658d3</wfw:commentRss><feedburner:origLink>http://www.bloggingdeveloper.com/post.aspx?id=918f4094-1707-4921-b983-6f0c47b658d3</feedburner:origLink></item><item><title>JavaScript setTimeout Function - JavaScript Timing Events</title><description>&lt;p align="justify"&gt;
JavaScript features a couple of methods that lets you run a piece of JavaScript code (&lt;strong&gt;javascript function&lt;/strong&gt;) at some point in the future. These methods are:
&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;&lt;strong&gt;setTimeout()&lt;/strong&gt;&lt;/li&gt;
	&lt;li&gt;&lt;strong&gt;setInterval()&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p align="justify"&gt;
&lt;br /&gt;
In this tutorial, I&amp;#39;ll explain how &lt;strong&gt;setTimetout&lt;/strong&gt;() method works, and give a real world example. You may find the details of &lt;strong&gt;setInterval()&lt;/strong&gt; method in &lt;a href="http://www.bloggingdeveloper.com/post/JavaScript-setInterval-Function---JavaScript-Timing-Events.aspx"&gt;JavaScript setInterval Function - JavaScript Timing Events&lt;/a&gt;
&lt;/p&gt;
&lt;h2&gt;&lt;u&gt;setTimeout()&lt;/u&gt;&lt;/h2&gt;
&lt;p align="justify"&gt;
&lt;strong&gt;window.setTimeout()&lt;/strong&gt; method allows you to specify a piece of JavaScript code (&lt;strong&gt;expression&lt;/strong&gt;) will be run after specified number of miliseconds from when the &lt;strong&gt;setTimeout()&lt;/strong&gt; method is called.
&lt;/p&gt;
&lt;h3&gt;Syntax&lt;/h3&gt;
&lt;p class="code"&gt;
&lt;strong&gt;var t = setTimeout ( expression, timeout ); &lt;/strong&gt;
&lt;/p&gt;
&lt;p align="justify"&gt;
The setTimeout() method returns a numeric timeout ID which can be used to refer the timeout to use with &lt;strong&gt;clearTimeout&lt;/strong&gt; method. The first parameter (&lt;strong&gt;expression&lt;/strong&gt;) of setTimeout() is a string containing a javascript statement. The statement could be a call to a JavaScript function like &amp;quot;delayedAlert();&amp;quot; or a&amp;nbsp; statement like &amp;quot;alert(&amp;#39;This alert is delayed.&amp;#39;);&amp;quot;. The second parameter (&lt;strong&gt;timeout&lt;/strong&gt;), indicates the number of &lt;strong&gt;miliseconds &lt;/strong&gt;to pass before executing the &lt;strong&gt;expression&lt;/strong&gt;.
&lt;/p&gt;
&lt;h3&gt;Example&amp;nbsp;&lt;/h3&gt;
&lt;p class="code"&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;lt;head&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; function delayedAlert()&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; var t=setTimeout(&amp;quot;alert(&amp;#39;You pressed the button 5 seconds ago!&amp;#39;)&amp;quot;,5000)&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;lt;/script&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;lt;/head&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;lt;body&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;form&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;input type=&amp;quot;button&amp;quot; value=&amp;quot;Display Delayed Alert&amp;quot;&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; onClick=&amp;quot;delayedAlert();&amp;quot;&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/form&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt; 
&lt;/p&gt;
&lt;p align="justify"&gt;
An alert box will be shown 5 seconds later when you clicked the button.
&lt;/p&gt;
&lt;h2&gt;&lt;u&gt;clearTimeout()&lt;/u&gt;&lt;/h2&gt;
&lt;p align="justify"&gt;
Sometimes it&amp;#39;s useful to be able to cancel a timer before it goes off. The &lt;strong&gt;clearTimeout()&lt;/strong&gt; method lets us do exactly that. Its syntax is:
&lt;/p&gt;
&lt;p class="code"&gt;
clearTimeout ( timeoutId );
&lt;/p&gt;
&lt;p align="justify"&gt;
where timeoutId is the ID of the timeout as returned from the &lt;strong&gt;setTimeout()&lt;/strong&gt; method call.
&lt;/p&gt;
&lt;div class="socialBookmarksContainer"&gt;&lt;a rel="nofollow" href="http://digg.com/submit/?url=http://www.bloggingdeveloper.com/post/JavaScript-setTimeout-Function-JavaScript-Timing-Events.aspx" target="_blank" title="Digg It!"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/digg_24.png" style="border: 0;" alt="Digg It!" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.dzone.com/links/add.html?url=http://www.bloggingdeveloper.com/post/JavaScript-setTimeout-Function-JavaScript-Timing-Events.aspx&amp;amp;title=JavaScript setTimeout Function - JavaScript Timing Events" target="_blank" title="DZone It!"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/dzone_24.png" style="border: 0;" alt="DZone It!" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.stumbleupon.com/submit?url=http://www.bloggingdeveloper.com/post/JavaScript-setTimeout-Function-JavaScript-Timing-Events.aspx" target="_blank" title="StumbleUpon"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/stumbleupon_24.png" style="border: 0;" alt="StumbleUpon" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://technorati.com/ping?url=http://www.bloggingdeveloper.com/" target="_blank" title="Technorati"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/technorati_24.png" style="border: 0;" alt="Technorati" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://reddit.com/submit?url=http://www.bloggingdeveloper.com/post/JavaScript-setTimeout-Function-JavaScript-Timing-Events.aspx&amp;amp;title=JavaScript setTimeout Function - JavaScript Timing Events" target="_blank" title="Reddit"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/reddit_24.png" style="border: 0;" alt="Reddit" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://del.icio.us/post?url=http://www.bloggingdeveloper.com/post/JavaScript-setTimeout-Function-JavaScript-Timing-Events.aspx&amp;amp;title=JavaScript setTimeout Function - JavaScript Timing Events" target="_blank" title="Del.icio.us"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/delicious_24.png" style="border: 0;" alt="Del.icio.us" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.newsvine.com/_wine/save?u=http://www.bloggingdeveloper.com/post/JavaScript-setTimeout-Function-JavaScript-Timing-Events.aspx" target="_blank"title="NewsVine"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/newsvine_24.png" style="border: 0;" alt="NewsVine" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://furl.net" target="_blank" title="Furl"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/furl_24.png" style="border: 0;" alt="Furl" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://blinklist.com/submit/" target="_blank" title="BlinkList"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/blinklist_24.png" style="border: 0;" alt="BlinkList" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/71iJZNLhb10" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/71iJZNLhb10/post.aspx</link><author>bloggingdeveloper.nospam@nospam.bloggingdeveloper.com (Blogging Developer)</author><comments>http://www.bloggingdeveloper.com/post/JavaScript-setTimeout-Function-JavaScript-Timing-Events.aspx#comment</comments><guid isPermaLink="false">http://www.bloggingdeveloper.com/post.aspx?id=1b9c4e74-d09c-4c94-a396-5cea933e645f</guid><pubDate>Fri, 16 Nov 2007 23:42:00 +0300</pubDate><category>JavaScript</category><category>All</category><dc:publisher>Blogging Developer</dc:publisher><pingback:server>http://www.bloggingdeveloper.com/pingback.axd</pingback:server><pingback:target>http://www.bloggingdeveloper.com/post.aspx?id=1b9c4e74-d09c-4c94-a396-5cea933e645f</pingback:target><slash:comments>1</slash:comments><trackback:ping>http://www.bloggingdeveloper.com/trackback.axd?id=1b9c4e74-d09c-4c94-a396-5cea933e645f</trackback:ping><wfw:comment>http://www.bloggingdeveloper.com/post/JavaScript-setTimeout-Function-JavaScript-Timing-Events.aspx#comment</wfw:comment><wfw:commentRss>http://www.bloggingdeveloper.com/syndication.axd?post=1b9c4e74-d09c-4c94-a396-5cea933e645f</wfw:commentRss><feedburner:origLink>http://www.bloggingdeveloper.com/post.aspx?id=1b9c4e74-d09c-4c94-a396-5cea933e645f</feedburner:origLink></item><item><title>JavaScript Url Redirect with Delay using setTimeout</title><description>&lt;p align="justify"&gt;
&lt;strong&gt;Time delay in url redirection&lt;/strong&gt; may be useful for the following conditions: 
&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;Refresh a web page in every specified seconds.&lt;/li&gt;
	&lt;li&gt;For displaying an &amp;quot;Update you Bookmark&amp;quot; page when a page Url has ben changed.&lt;/li&gt;
&lt;/ul&gt;
&lt;p align="justify"&gt;
&lt;br /&gt;
The html and &lt;strong&gt;JavaScript code for url redirection with delay&lt;/strong&gt; is given below: 
&lt;/p&gt;
&lt;p class="code"&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
function &lt;strong&gt;delayedRedirect&lt;/strong&gt;(){&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; window.location = &amp;quot;/default.aspx&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&amp;lt;body onLoad=&amp;quot;&lt;strong&gt;setTimeout&lt;/strong&gt;(&amp;#39;&lt;strong&gt;delayedRedirect&lt;/strong&gt;()&amp;#39;, 3000)&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h2&amp;gt;You&amp;#39;ll be redirected soon!&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt; 
&lt;/p&gt;
&lt;p align="justify"&gt;
The JavaScript function &lt;strong&gt;setTimeout &lt;/strong&gt;is the most important part of the code given above. &lt;strong&gt;setTimeout &lt;/strong&gt;function calls &lt;strong&gt;delayedRedirect &lt;/strong&gt;function after 3 seconds (3000 miliseconds).
&lt;/p&gt;
&lt;p align="justify"&gt;
You may find the details of &lt;strong&gt;setTimeout()&lt;/strong&gt; method in &lt;a href="http://www.bloggingdeveloper.com/post/JavaScript-setTimeout-Function-JavaScript-Timing-Events.aspx"&gt;JavaScript setTimeout Function - JavaScript Timing Events&lt;/a&gt; 
&lt;/p&gt;
&lt;div class="socialBookmarksContainer"&gt;&lt;a rel="nofollow" href="http://digg.com/submit/?url=http://www.bloggingdeveloper.com/post/JavaScript-Url-Redirect-with-Delay.aspx" target="_blank" title="Digg It!"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/digg_24.png" style="border: 0;" alt="Digg It!" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.dzone.com/links/add.html?url=http://www.bloggingdeveloper.com/post/JavaScript-Url-Redirect-with-Delay.aspx&amp;amp;title=JavaScript Url Redirect with Delay using setTimeout" target="_blank" title="DZone It!"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/dzone_24.png" style="border: 0;" alt="DZone It!" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.stumbleupon.com/submit?url=http://www.bloggingdeveloper.com/post/JavaScript-Url-Redirect-with-Delay.aspx" target="_blank" title="StumbleUpon"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/stumbleupon_24.png" style="border: 0;" alt="StumbleUpon" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://technorati.com/ping?url=http://www.bloggingdeveloper.com/" target="_blank" title="Technorati"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/technorati_24.png" style="border: 0;" alt="Technorati" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://reddit.com/submit?url=http://www.bloggingdeveloper.com/post/JavaScript-Url-Redirect-with-Delay.aspx&amp;amp;title=JavaScript Url Redirect with Delay using setTimeout" target="_blank" title="Reddit"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/reddit_24.png" style="border: 0;" alt="Reddit" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://del.icio.us/post?url=http://www.bloggingdeveloper.com/post/JavaScript-Url-Redirect-with-Delay.aspx&amp;amp;title=JavaScript Url Redirect with Delay using setTimeout" target="_blank" title="Del.icio.us"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/delicious_24.png" style="border: 0;" alt="Del.icio.us" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.newsvine.com/_wine/save?u=http://www.bloggingdeveloper.com/post/JavaScript-Url-Redirect-with-Delay.aspx" target="_blank"title="NewsVine"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/newsvine_24.png" style="border: 0;" alt="NewsVine" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://furl.net" target="_blank" title="Furl"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/furl_24.png" style="border: 0;" alt="Furl" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://blinklist.com/submit/" target="_blank" title="BlinkList"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/blinklist_24.png" style="border: 0;" alt="BlinkList" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/GX-OsjJbTjc" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/GX-OsjJbTjc/post.aspx</link><author>bloggingdeveloper.nospam@nospam.bloggingdeveloper.com (Blogging Developer)</author><comments>http://www.bloggingdeveloper.com/post/JavaScript-Url-Redirect-with-Delay.aspx#comment</comments><guid isPermaLink="false">http://www.bloggingdeveloper.com/post.aspx?id=9266ad26-e74a-45df-b135-6d7403894903</guid><pubDate>Fri, 16 Nov 2007 20:19:00 +0300</pubDate><category>All</category><category>JavaScript</category><dc:publisher>Blogging Developer</dc:publisher><pingback:server>http://www.bloggingdeveloper.com/pingback.axd</pingback:server><pingback:target>http://www.bloggingdeveloper.com/post.aspx?id=9266ad26-e74a-45df-b135-6d7403894903</pingback:target><slash:comments>3</slash:comments><trackback:ping>http://www.bloggingdeveloper.com/trackback.axd?id=9266ad26-e74a-45df-b135-6d7403894903</trackback:ping><wfw:comment>http://www.bloggingdeveloper.com/post/JavaScript-Url-Redirect-with-Delay.aspx#comment</wfw:comment><wfw:commentRss>http://www.bloggingdeveloper.com/syndication.axd?post=9266ad26-e74a-45df-b135-6d7403894903</wfw:commentRss><feedburner:origLink>http://www.bloggingdeveloper.com/post.aspx?id=9266ad26-e74a-45df-b135-6d7403894903</feedburner:origLink></item><item><title>location.href vs. location.replace - The Difference Between JavaScript Url Redirection Methods</title><description>&lt;p align="justify"&gt;
JavaScript offers several ways to display a different page in the current browser window. 
&lt;/p&gt;
&lt;p&gt;
Redirecting visitors with Javascript is straightforward. The simplest way is to use one of the methods given below. 
&lt;/p&gt;
&lt;h2&gt;&lt;u&gt;location.href Method&lt;/u&gt;&lt;/h2&gt;
&lt;p align="justify"&gt;
Including the following script will immediately redirect visitors to the URL entered. 
&lt;/p&gt;
&lt;p class="code"&gt;
&lt;span class="sh_symbol"&gt;&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; location.href=&amp;#39;http://www.bloggingdeveloper.com&amp;#39;;&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;/span&gt;&amp;nbsp; 
&lt;/p&gt;
&lt;h2&gt;&lt;u&gt;location.replace Method&lt;/u&gt;&lt;/h2&gt;
&lt;p align="justify"&gt;
Including the following script will immediately redirect visitors to the URL entered. 
&lt;/p&gt;
&lt;p class="code"&gt;
&lt;span class="sh_symbol"&gt;&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; location.replace(&amp;#39;http://www.bloggingdeveloper.com/&amp;#39;);&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;/span&gt;&lt;span class="sh_symbol"&gt;&lt;/span&gt; 
&lt;/p&gt;
&lt;h2&gt;&lt;u&gt;The difference between location.href and location.replace&lt;/u&gt;&lt;/h2&gt;
&lt;p align="justify"&gt;
The difference between location.href and location.replace is that the former creates a new history entry on the visitor&amp;#39;s browser meaning that if they hit the back button, they can get in a &amp;#39;redirection loop&amp;#39; which is usually undesirable and may have unwanted side effects. 
&lt;/p&gt;
&lt;div class="socialBookmarksContainer"&gt;&lt;a rel="nofollow" href="http://digg.com/submit/?url=http://www.bloggingdeveloper.com/post/Location-href-vs-Location-replace---The-Difference-Between-JavaScript-Redirect-Methods.aspx" target="_blank" title="Digg It!"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/digg_24.png" style="border: 0;" alt="Digg It!" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.dzone.com/links/add.html?url=http://www.bloggingdeveloper.com/post/Location-href-vs-Location-replace---The-Difference-Between-JavaScript-Redirect-Methods.aspx&amp;amp;title=location.href vs. location.replace - The Difference Between JavaScript Url Redirection Methods" target="_blank" title="DZone It!"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/dzone_24.png" style="border: 0;" alt="DZone It!" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.stumbleupon.com/submit?url=http://www.bloggingdeveloper.com/post/Location-href-vs-Location-replace---The-Difference-Between-JavaScript-Redirect-Methods.aspx" target="_blank" title="StumbleUpon"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/stumbleupon_24.png" style="border: 0;" alt="StumbleUpon" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://technorati.com/ping?url=http://www.bloggingdeveloper.com/" target="_blank" title="Technorati"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/technorati_24.png" style="border: 0;" alt="Technorati" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://reddit.com/submit?url=http://www.bloggingdeveloper.com/post/Location-href-vs-Location-replace---The-Difference-Between-JavaScript-Redirect-Methods.aspx&amp;amp;title=location.href vs. location.replace - The Difference Between JavaScript Url Redirection Methods" target="_blank" title="Reddit"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/reddit_24.png" style="border: 0;" alt="Reddit" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://del.icio.us/post?url=http://www.bloggingdeveloper.com/post/Location-href-vs-Location-replace---The-Difference-Between-JavaScript-Redirect-Methods.aspx&amp;amp;title=location.href vs. location.replace - The Difference Between JavaScript Url Redirection Methods" target="_blank" title="Del.icio.us"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/delicious_24.png" style="border: 0;" alt="Del.icio.us" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.newsvine.com/_wine/save?u=http://www.bloggingdeveloper.com/post/Location-href-vs-Location-replace---The-Difference-Between-JavaScript-Redirect-Methods.aspx" target="_blank"title="NewsVine"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/newsvine_24.png" style="border: 0;" alt="NewsVine" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://furl.net" target="_blank" title="Furl"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/furl_24.png" style="border: 0;" alt="Furl" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://blinklist.com/submit/" target="_blank" title="BlinkList"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/blinklist_24.png" style="border: 0;" alt="BlinkList" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/68KWES-6wxU" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/68KWES-6wxU/post.aspx</link><author>bloggingdeveloper.nospam@nospam.bloggingdeveloper.com (Blogging Developer)</author><comments>http://www.bloggingdeveloper.com/post/Location-href-vs-Location-replace---The-Difference-Between-JavaScript-Redirect-Methods.aspx#comment</comments><guid isPermaLink="false">http://www.bloggingdeveloper.com/post.aspx?id=7318b558-f2d9-4522-8409-9bf731b9a83d</guid><pubDate>Fri, 16 Nov 2007 19:18:00 +0300</pubDate><category>JavaScript</category><category>All</category><category>Tips</category><dc:publisher>Blogging Developer</dc:publisher><pingback:server>http://www.bloggingdeveloper.com/pingback.axd</pingback:server><pingback:target>http://www.bloggingdeveloper.com/post.aspx?id=7318b558-f2d9-4522-8409-9bf731b9a83d</pingback:target><slash:comments>2</slash:comments><trackback:ping>http://www.bloggingdeveloper.com/trackback.axd?id=7318b558-f2d9-4522-8409-9bf731b9a83d</trackback:ping><wfw:comment>http://www.bloggingdeveloper.com/post/Location-href-vs-Location-replace---The-Difference-Between-JavaScript-Redirect-Methods.aspx#comment</wfw:comment><wfw:commentRss>http://www.bloggingdeveloper.com/syndication.axd?post=7318b558-f2d9-4522-8409-9bf731b9a83d</wfw:commentRss><feedburner:origLink>http://www.bloggingdeveloper.com/post.aspx?id=7318b558-f2d9-4522-8409-9bf731b9a83d</feedburner:origLink></item><item><title>How To: Compress ViewState in ASP.NET 2.0 - ViewState Compression with System.IO.Compression</title><description>&lt;p align="justify"&gt;
ViewState is the built-in structure for automatically retaining values between multiple requests for the same page in ASP.NET. In other words, ViewState technology saves/restores page state between&amp;nbsp;postbacks. On the other hand, this technology comes with an overhead that affects performance especially during page load since the state data is&amp;nbsp;maintained in a hidden field. 
&lt;/p&gt;
&lt;p class="code"&gt;
&amp;lt;input type=&amp;quot;hidden&amp;quot; name=&amp;quot;__VIEWSTATE&amp;quot; id=&amp;quot;__VIEWSTATE&amp;quot; value=&amp;quot;/wEPDwUJLTMzMTY4NDI5ZGRrYY+UdQNeb33gRiGcw2LoiMHduA==&amp;quot; /&amp;gt; 
&lt;/p&gt;
&lt;h2&gt;Reducing ViewState Size&lt;/h2&gt;
&lt;p align="justify"&gt;
We can completely disable viewstate by setting EnableViewState to false in the page directive but you need extra programming effort&amp;nbsp;for you to take care of the&amp;nbsp;page state.&amp;nbsp;It is a good idea to disable ViewState for the controls that do not actually need it such as Literals and Labels by setting EnableViewState to false. But this do not entirely solve the problem.&amp;nbsp; 
&lt;/p&gt;
&lt;h2&gt;Compressing ViewState&lt;/h2&gt;
&lt;p align="justify"&gt;
ASP.NET 2.0 comes with the System.IO.Compression namespace, which contains classes with functionality to compress/decompress streams. In ASP.NET 1.1, developers must use third party compression tools such as ICSharpCode.SharpZipLib to compress viewstate. 
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;&lt;u&gt;Compressing/Decompressing using GZipStream&lt;/u&gt;&lt;/strong&gt; 
&lt;/p&gt;
&lt;p align="justify"&gt;
The following class contains two methods for&amp;nbsp;compressing and decompressing a stream.&amp;nbsp;&amp;nbsp; 
&lt;/p&gt;
&lt;p class="code"&gt;
using System;&lt;br /&gt;
using System.Data;&lt;br /&gt;
using System.Configuration;&lt;br /&gt;
using System.IO;&lt;br /&gt;
using System.IO.Compression;&lt;br /&gt;
&lt;br /&gt;
public static class CompressViewState&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; public static byte[] Compress(byte[] data)&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; MemoryStream output = new MemoryStream();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GZipStream gzip = new GZipStream(output,&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; CompressionMode.Compress, true);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gzip.Write(data, 0, data.Length);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gzip.Close();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return output.ToArray();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; public static byte[] Decompress(byte[] data)&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; MemoryStream input = new MemoryStream();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; input.Write(data, 0, data.Length);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; input.Position = 0;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GZipStream gzip = new GZipStream(input,&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; CompressionMode.Decompress, true);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MemoryStream output = new MemoryStream();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; byte[] buff = new byte[64];&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int read = -1;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; read = gzip.Read(buff, 0, buff.Length);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; while (read &amp;gt; 0)&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; output.Write(buff, 0, read);&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; read = gzip.Read(buff, 0, buff.Length);&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; gzip.Close();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return output.ToArray();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
}&amp;nbsp; 
&lt;/p&gt;
&lt;p&gt;
You need to save this class in a .cs file in the App_Code directory. 
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;&lt;u&gt;Utilizing the CompressViewState Class&lt;/u&gt;&lt;/strong&gt; 
&lt;/p&gt;
&lt;p&gt;
In order to compress the ViewState of a web page, you have to override the two methods &lt;strong&gt;LoadPageStateFromPersistenceMedium&lt;/strong&gt; and &lt;strong&gt;SavePageStateToPersistenceMedium&lt;/strong&gt;. 
&lt;/p&gt;
&lt;p&gt;
The folowing code creates a BasePage class which inherits from System.Web.UI.Page, and web pages using the following Base Page class as the base class utilizes ViewState compression. The BasePage class adds an additional hidden field __COMPRESSEDVIEWSTATE, to store the compressed ViewState. 
&lt;/p&gt;
&lt;p class="code"&gt;
using System;&lt;br /&gt;
using System.IO;&lt;br /&gt;
using System.IO.Compression;&lt;br /&gt;
using System.Collections;&lt;br /&gt;
using System.ComponentModel;&lt;br /&gt;
using System.Web.UI;&lt;br /&gt;
using System.Configuration;&lt;br /&gt;
using System.Threading;&lt;br /&gt;
using System.Globalization;&lt;br /&gt;
using System.Text; &lt;br /&gt;
&lt;br /&gt;
public abstract class BasePage : System.Web.UI.Page&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; private ObjectStateFormatter _formatter = &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; new ObjectStateFormatter(); &lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; protected override void&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SavePageStateToPersistenceMedium(object viewState)&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; MemoryStream ms = new MemoryStream();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _formatter.Serialize(ms, viewState);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; byte[] viewStateArray = ms.ToArray();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ClientScript.RegisterHiddenField(&amp;quot;__COMPRESSEDVIEWSTATE&amp;quot;,&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; Convert.ToBase64String(&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; CompressViewState.Compress(viewStateArray)));&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; protected override object&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LoadPageStateFromPersistenceMedium()&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; string vsString = Request.Form[&amp;quot;__COMPRESSEDVIEWSTATE&amp;quot;];&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; byte[] bytes = Convert.FromBase64String(vsString);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bytes = CompressViewState.Decompress(bytes);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return _formatter.Deserialize(&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; Convert.ToBase64String(bytes));&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
} 
&lt;/p&gt;
&lt;p align="justify"&gt;
&lt;strong&gt;&lt;u&gt;Demo&lt;/u&gt;&lt;/strong&gt; 
&lt;/p&gt;
&lt;p align="justify"&gt;
Demo project contains two web pages. You may compare the compression performance using the demo project. 
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.bloggingdeveloper.com/posts/aspnet/compressviewstate.zip" title="Demo Compressing View State"&gt;Download the&amp;nbsp;viewstate compression demo&amp;nbsp;VS2005 project.&lt;/a&gt;&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.bloggingdeveloper.com/posts/aspnet/viewstatecompression/default_nocompression.aspx" title="An online demo web page without viewstate compression."&gt;An online demo web page without viewstate compression.&lt;/a&gt; &lt;br /&gt;
&lt;a href="http://www.bloggingdeveloper.com/posts/aspnet/viewstatecompression/default_withcompression.aspx" title="An online demo web page with viewstate compression."&gt;An online demo web page with viewstate compression.&lt;/a&gt; 
&lt;/p&gt;
&lt;p align="justify"&gt;
If you view the HTML of the page with viewstate compression, the __VIEWSTATE field is empty, while our __COMPRESSEDVIEWSTATE field contains the compressed ViewState, encoded in Base64. 
&lt;/p&gt;
&lt;h2&gt;ViewState Compression Performance&lt;/h2&gt;
&lt;p align="justify"&gt;
After few tests using the demo project, ViewState size is reduces by 40 - 60% resulting shorter response times for users and less bandwidth need for site owners. 
&lt;/p&gt;
&lt;p&gt;
Compression, decompressing, encoding and decoding data is a quite heavy work for the server so while you are saving from bandwidth and offering shorter response times for users, you are having a performance hit on the server&amp;#39;s hardware. 
&lt;/p&gt;
&lt;div class="socialBookmarksContainer"&gt;&lt;a rel="nofollow" href="http://digg.com/submit/?url=http://www.bloggingdeveloper.com/post/How-To-Compress-ViewState-in-ASPNET-20-ViewState-Compression-with-SystemIOCompression.aspx" target="_blank" title="Digg It!"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/digg_24.png" style="border: 0;" alt="Digg It!" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.dzone.com/links/add.html?url=http://www.bloggingdeveloper.com/post/How-To-Compress-ViewState-in-ASPNET-20-ViewState-Compression-with-SystemIOCompression.aspx&amp;amp;title=How To: Compress ViewState in ASP.NET 2.0 - ViewState Compression with System.IO.Compression" target="_blank" title="DZone It!"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/dzone_24.png" style="border: 0;" alt="DZone It!" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.stumbleupon.com/submit?url=http://www.bloggingdeveloper.com/post/How-To-Compress-ViewState-in-ASPNET-20-ViewState-Compression-with-SystemIOCompression.aspx" target="_blank" title="StumbleUpon"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/stumbleupon_24.png" style="border: 0;" alt="StumbleUpon" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://technorati.com/ping?url=http://www.bloggingdeveloper.com/" target="_blank" title="Technorati"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/technorati_24.png" style="border: 0;" alt="Technorati" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://reddit.com/submit?url=http://www.bloggingdeveloper.com/post/How-To-Compress-ViewState-in-ASPNET-20-ViewState-Compression-with-SystemIOCompression.aspx&amp;amp;title=How To: Compress ViewState in ASP.NET 2.0 - ViewState Compression with System.IO.Compression" target="_blank" title="Reddit"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/reddit_24.png" style="border: 0;" alt="Reddit" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://del.icio.us/post?url=http://www.bloggingdeveloper.com/post/How-To-Compress-ViewState-in-ASPNET-20-ViewState-Compression-with-SystemIOCompression.aspx&amp;amp;title=How To: Compress ViewState in ASP.NET 2.0 - ViewState Compression with System.IO.Compression" target="_blank" title="Del.icio.us"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/delicious_24.png" style="border: 0;" alt="Del.icio.us" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.newsvine.com/_wine/save?u=http://www.bloggingdeveloper.com/post/How-To-Compress-ViewState-in-ASPNET-20-ViewState-Compression-with-SystemIOCompression.aspx" target="_blank"title="NewsVine"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/newsvine_24.png" style="border: 0;" alt="NewsVine" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://furl.net" target="_blank" title="Furl"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/furl_24.png" style="border: 0;" alt="Furl" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://blinklist.com/submit/" target="_blank" title="BlinkList"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/blinklist_24.png" style="border: 0;" alt="BlinkList" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/DfNTis-JZbI" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/DfNTis-JZbI/post.aspx</link><author>bloggingdeveloper.nospam@nospam.bloggingdeveloper.com (Blogging Developer)</author><comments>http://www.bloggingdeveloper.com/post/How-To-Compress-ViewState-in-ASPNET-20-ViewState-Compression-with-SystemIOCompression.aspx#comment</comments><guid isPermaLink="false">http://www.bloggingdeveloper.com/post.aspx?id=2723aa57-c34e-4132-98ef-1d1d12a72de8</guid><pubDate>Thu, 15 Nov 2007 13:07:00 +0300</pubDate><category>ASP.NET</category><category>C#</category><category>All</category><category>Performance</category><dc:publisher>Blogging Developer</dc:publisher><pingback:server>http://www.bloggingdeveloper.com/pingback.axd</pingback:server><pingback:target>http://www.bloggingdeveloper.com/post.aspx?id=2723aa57-c34e-4132-98ef-1d1d12a72de8</pingback:target><slash:comments>62</slash:comments><trackback:ping>http://www.bloggingdeveloper.com/trackback.axd?id=2723aa57-c34e-4132-98ef-1d1d12a72de8</trackback:ping><wfw:comment>http://www.bloggingdeveloper.com/post/How-To-Compress-ViewState-in-ASPNET-20-ViewState-Compression-with-SystemIOCompression.aspx#comment</wfw:comment><wfw:commentRss>http://www.bloggingdeveloper.com/syndication.axd?post=2723aa57-c34e-4132-98ef-1d1d12a72de8</wfw:commentRss><feedburner:origLink>http://www.bloggingdeveloper.com/post.aspx?id=2723aa57-c34e-4132-98ef-1d1d12a72de8</feedburner:origLink></item><item><title>JavaScript substr Function</title><description>&lt;p align="justify"&gt;
When you write JavaScript, you need to know what string manipulation methods/functions are available. 
&lt;/p&gt;
&lt;h2&gt;&lt;u&gt;&lt;u&gt;JavaScript &lt;strong&gt;substr()&lt;/strong&gt; Method&lt;/u&gt;&lt;/u&gt;&lt;/h2&gt;
&lt;p align="justify"&gt;
The &lt;strong&gt;substr() &lt;/strong&gt;method extracts a specified number of characters in a string, from a start index. The syntax of &lt;strong&gt;substr() &lt;/strong&gt;is given below:
&lt;/p&gt;
&lt;p class="code"&gt;
stringObjectToTakeAPartOf.&lt;strong&gt;substr&lt;/strong&gt;(start-index,length)
&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;start-index: (Required - Numeric Value) - where to start the extraction&lt;/li&gt;
	&lt;li&gt;length: (Optional - Numeric Value) - how many characters to extract&lt;br /&gt;
	&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;h3&gt;&lt;strong&gt;&lt;strong&gt;Notes about substr:&lt;/strong&gt;&lt;/strong&gt;&lt;/h3&gt;
&lt;ul&gt;
	&lt;li&gt;To extract characters from the end of the string, use a negative start-index. (Internet Explorer returns the whole string which is wrong.) &lt;br /&gt;
	&lt;/li&gt;
	&lt;li&gt;If the length parameter is omitted, &lt;strong&gt;substr &lt;/strong&gt;method extracts to the end of the string.&lt;/li&gt;
	&lt;li&gt;&lt;strong&gt;substr() &lt;/strong&gt;is not supported by &lt;strong&gt;Netscape 2&lt;/strong&gt;, &lt;strong&gt;Netscape 3&lt;/strong&gt;, &lt;strong&gt;Internet Explorer 3&lt;/strong&gt; and &lt;strong&gt;Opera 3&lt;/strong&gt;. &lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;h3&gt;&lt;strong&gt;substr Example:&lt;/strong&gt;&lt;/h3&gt;
&lt;p class="code"&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
var str = &amp;quot;Hello World&amp;quot;;&lt;br /&gt;
document.write(str.substr(4,4));&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/script&amp;gt;
&lt;/p&gt;
&lt;p align="justify"&gt;
The output of the above code is:
&lt;/p&gt;
&lt;p class="code"&gt;
o wo
&lt;/p&gt;
&lt;p align="justify"&gt;
Since &lt;strong&gt;substr() is not cross-browser&lt;/strong&gt;, I never use it. Instead, I use the &lt;a href="http://www.bloggingdeveloper.com/post/Javascript-substring-Method.aspx" title="Javascript substring() method"&gt;javascript&amp;#39;s substring() function&lt;/a&gt;.&amp;nbsp; 
&lt;/p&gt;
&lt;div class="socialBookmarksContainer"&gt;&lt;a rel="nofollow" href="http://digg.com/submit/?url=http://www.bloggingdeveloper.com/post/Javascript-substr-Function.aspx" target="_blank" title="Digg It!"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/digg_24.png" style="border: 0;" alt="Digg It!" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.dzone.com/links/add.html?url=http://www.bloggingdeveloper.com/post/Javascript-substr-Function.aspx&amp;amp;title=JavaScript substr Function" target="_blank" title="DZone It!"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/dzone_24.png" style="border: 0;" alt="DZone It!" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.stumbleupon.com/submit?url=http://www.bloggingdeveloper.com/post/Javascript-substr-Function.aspx" target="_blank" title="StumbleUpon"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/stumbleupon_24.png" style="border: 0;" alt="StumbleUpon" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://technorati.com/ping?url=http://www.bloggingdeveloper.com/" target="_blank" title="Technorati"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/technorati_24.png" style="border: 0;" alt="Technorati" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://reddit.com/submit?url=http://www.bloggingdeveloper.com/post/Javascript-substr-Function.aspx&amp;amp;title=JavaScript substr Function" target="_blank" title="Reddit"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/reddit_24.png" style="border: 0;" alt="Reddit" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://del.icio.us/post?url=http://www.bloggingdeveloper.com/post/Javascript-substr-Function.aspx&amp;amp;title=JavaScript substr Function" target="_blank" title="Del.icio.us"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/delicious_24.png" style="border: 0;" alt="Del.icio.us" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.newsvine.com/_wine/save?u=http://www.bloggingdeveloper.com/post/Javascript-substr-Function.aspx" target="_blank"title="NewsVine"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/newsvine_24.png" style="border: 0;" alt="NewsVine" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://furl.net" target="_blank" title="Furl"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/furl_24.png" style="border: 0;" alt="Furl" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://blinklist.com/submit/" target="_blank" title="BlinkList"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/blinklist_24.png" style="border: 0;" alt="BlinkList" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/4URt8-x_Alg" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/4URt8-x_Alg/post.aspx</link><author>bloggingdeveloper.nospam@nospam.bloggingdeveloper.com (Blogging Developer)</author><comments>http://www.bloggingdeveloper.com/post/Javascript-substr-Function.aspx#comment</comments><guid isPermaLink="false">http://www.bloggingdeveloper.com/post.aspx?id=4b8c8257-00be-416d-9216-7d4f5ba41bc6</guid><pubDate>Sat, 10 Nov 2007 13:05:00 +0300</pubDate><category>JavaScript</category><category>All</category><dc:publisher>Blogging Developer</dc:publisher><pingback:server>http://www.bloggingdeveloper.com/pingback.axd</pingback:server><pingback:target>http://www.bloggingdeveloper.com/post.aspx?id=4b8c8257-00be-416d-9216-7d4f5ba41bc6</pingback:target><slash:comments>0</slash:comments><trackback:ping>http://www.bloggingdeveloper.com/trackback.axd?id=4b8c8257-00be-416d-9216-7d4f5ba41bc6</trackback:ping><wfw:comment>http://www.bloggingdeveloper.com/post/Javascript-substr-Function.aspx#comment</wfw:comment><wfw:commentRss>http://www.bloggingdeveloper.com/syndication.axd?post=4b8c8257-00be-416d-9216-7d4f5ba41bc6</wfw:commentRss><feedburner:origLink>http://www.bloggingdeveloper.com/post.aspx?id=4b8c8257-00be-416d-9216-7d4f5ba41bc6</feedburner:origLink></item><item><title>JavaScript substring Function</title><description>&lt;p align="justify"&gt;
When you write JavaScript, you need to know what string manipulation methods/functions are available. 
&lt;/p&gt;
&lt;h2&gt;&lt;u&gt;JavaScript &lt;strong&gt;substring()&lt;/strong&gt; Method&lt;/u&gt;&lt;/h2&gt;
&lt;p align="justify"&gt;
&lt;strong&gt;substring &lt;/strong&gt;is used to take a part of a string. The syntax of &lt;strong&gt;substring &lt;/strong&gt;method is given below:
&lt;/p&gt;
&lt;p class="code"&gt;
stringObjectToTakeAPartOf.&lt;strong&gt;substring&lt;/strong&gt;(start-index,stop-index)
&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;start-index: (Required - Numeric Value) - where to start the extraction&lt;/li&gt;
	&lt;li&gt;stop-index: (Optional - Numeric Value) - where to stop the extraction&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;h3&gt;&lt;strong&gt;Notes about substring:&lt;/strong&gt;&lt;/h3&gt;
&lt;ul&gt;
	&lt;li&gt;If start-index is equal to stop-index, &lt;strong&gt;substring &lt;/strong&gt;returns an empty string. &lt;br /&gt;
	&lt;/li&gt;
	&lt;li&gt;If stop-index parameter is omitted, &lt;strong&gt;substring &lt;/strong&gt;extracts characters from start-index to the end of the string.&lt;/li&gt;
	&lt;li&gt;If parameters are 0or NaN, the parameters are threated as 0.&lt;/li&gt;
	&lt;li&gt;If parameters are greater than the string&amp;#39;s length, the parameters qill use string&amp;#39;s length.&lt;/li&gt;
	&lt;li&gt;If start-index &amp;gt; stop-index, then the &lt;strong&gt;substring &lt;/strong&gt;function swaps 2 parameters.&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;h3&gt;&lt;strong&gt;substring Example:&lt;/strong&gt;&lt;/h3&gt;
&lt;p class="code"&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
var str = &amp;quot;Hello World&amp;quot;;&lt;br /&gt;
document.write(str.substring(4,8));&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/script&amp;gt;
&lt;/p&gt;
&lt;p align="justify"&gt;
The output of the above code is:
&lt;/p&gt;
&lt;p class="code"&gt;
o wo
&lt;/p&gt;
&lt;div class="socialBookmarksContainer"&gt;&lt;a rel="nofollow" href="http://digg.com/submit/?url=http://www.bloggingdeveloper.com/post/JavaScript-substring-Function.aspx" target="_blank" title="Digg It!"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/digg_24.png" style="border: 0;" alt="Digg It!" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.dzone.com/links/add.html?url=http://www.bloggingdeveloper.com/post/JavaScript-substring-Function.aspx&amp;amp;title=JavaScript substring Function" target="_blank" title="DZone It!"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/dzone_24.png" style="border: 0;" alt="DZone It!" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.stumbleupon.com/submit?url=http://www.bloggingdeveloper.com/post/JavaScript-substring-Function.aspx" target="_blank" title="StumbleUpon"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/stumbleupon_24.png" style="border: 0;" alt="StumbleUpon" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://technorati.com/ping?url=http://www.bloggingdeveloper.com/" target="_blank" title="Technorati"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/technorati_24.png" style="border: 0;" alt="Technorati" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://reddit.com/submit?url=http://www.bloggingdeveloper.com/post/JavaScript-substring-Function.aspx&amp;amp;title=JavaScript substring Function" target="_blank" title="Reddit"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/reddit_24.png" style="border: 0;" alt="Reddit" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://del.icio.us/post?url=http://www.bloggingdeveloper.com/post/JavaScript-substring-Function.aspx&amp;amp;title=JavaScript substring Function" target="_blank" title="Del.icio.us"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/delicious_24.png" style="border: 0;" alt="Del.icio.us" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.newsvine.com/_wine/save?u=http://www.bloggingdeveloper.com/post/JavaScript-substring-Function.aspx" target="_blank"title="NewsVine"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/newsvine_24.png" style="border: 0;" alt="NewsVine" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://furl.net" target="_blank" title="Furl"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/furl_24.png" style="border: 0;" alt="Furl" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://blinklist.com/submit/" target="_blank" title="BlinkList"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/blinklist_24.png" style="border: 0;" alt="BlinkList" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/Nvx7YOPalgo" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/Nvx7YOPalgo/post.aspx</link><author>bloggingdeveloper.nospam@nospam.bloggingdeveloper.com (Blogging Developer)</author><comments>http://www.bloggingdeveloper.com/post/JavaScript-substring-Function.aspx#comment</comments><guid isPermaLink="false">http://www.bloggingdeveloper.com/post.aspx?id=206f667b-de98-448a-b7e3-efa1a259d521</guid><pubDate>Fri, 09 Nov 2007 13:02:00 +0300</pubDate><category>JavaScript</category><category>All</category><dc:publisher>Blogging Developer</dc:publisher><pingback:server>http://www.bloggingdeveloper.com/pingback.axd</pingback:server><pingback:target>http://www.bloggingdeveloper.com/post.aspx?id=206f667b-de98-448a-b7e3-efa1a259d521</pingback:target><slash:comments>1</slash:comments><trackback:ping>http://www.bloggingdeveloper.com/trackback.axd?id=206f667b-de98-448a-b7e3-efa1a259d521</trackback:ping><wfw:comment>http://www.bloggingdeveloper.com/post/JavaScript-substring-Function.aspx#comment</wfw:comment><wfw:commentRss>http://www.bloggingdeveloper.com/syndication.axd?post=206f667b-de98-448a-b7e3-efa1a259d521</wfw:commentRss><feedburner:origLink>http://www.bloggingdeveloper.com/post.aspx?id=206f667b-de98-448a-b7e3-efa1a259d521</feedburner:origLink></item><item><title>How To: Prevent Form Spam without Using CAPTCHA</title><description>&lt;p align="justify"&gt;
Web sites are increasingly under spam attack from automated scripts. &amp;ldquo;CAPTCHAs&amp;rdquo; (Completely Automated Public Turing test to tell Computers and Humans Apart) can help Web sites to distinguish between human and machine users by forming a problem that is easy for humans to solve, but difficult for machines to solve. 
&lt;/p&gt;
&lt;p align="justify"&gt;
CAPTCHA can control many automated spam attacks against Web sites, but without careful planning, it can also cause problems. 
&lt;/p&gt;
&lt;div id="articleimg"&gt;
&lt;div id="image"&gt;
&lt;img src="/posts/tips/captcha.jpg" alt="CAPTCHA Sample" title="Sample CAPTCHA" width="290" height="80" /&gt; 
&lt;/div&gt;
&lt;div id="explanation"&gt;
A Sample CAPTCHA Image&amp;nbsp; 
&lt;/div&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;p class="quote" align="justify"&gt;
Because CAPTCHAs rely on perception, users unable to perceive a CAPTCHA (for example, due to a disability or because it is difficult to read) will be unable to perform the task protected by a CAPTCHA. 
&lt;/p&gt;
&lt;h2&gt;Prevent Spam Attacks without Using CAPTCHAs&lt;/h2&gt;
&lt;p align="justify"&gt;
The idea here is setting up a form with a text field which is made invisible by using CSS. After form submission, if that text box has information in it, that means a human didn&amp;rsquo;t fill it out (because this field is invisible for humans), and the submitted form is simply aborted. 
&lt;/p&gt;
&lt;p&gt;
Here are the steps for implementing the methods mentioned above: 
&lt;/p&gt;
&lt;ol&gt;
	&lt;li&gt;Add an input field to your form, with some interesting name, for example &amp;#39;URL&amp;#39;, or &amp;#39;Subject&amp;#39;. 
	&lt;p class="code"&gt;
	&lt;font face="Courier New"&gt;&amp;lt;input name=&amp;quot;subject&amp;quot; type=&amp;quot;text&amp;quot; value=&amp;quot;&amp;quot;/&amp;gt;&lt;/font&gt; 
	&lt;/p&gt;
	&lt;/li&gt;
	&lt;li&gt;Make the input box invisible using CSS so that human users cannot see it directly. 
	&lt;p class="code"&gt;
	&amp;lt;style type=&amp;quot;text/css&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;.fstyle&lt;br /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; display: none;&lt;br /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
	&amp;lt;/style&amp;gt; 
	&lt;/p&gt;
	&lt;p class="code"&gt;
	&lt;font face="Courier New"&gt;&amp;nbsp;&amp;lt;p class=&amp;quot;fstyle&amp;quot;&amp;gt;&amp;lt;input name=&amp;quot;subject&amp;quot; type=&amp;quot;text&amp;quot; value=&amp;quot;&amp;quot;/&amp;gt;&amp;nbsp; &amp;lt;/p&amp;gt;&lt;/font&gt; 
	&lt;/p&gt;
	&lt;/li&gt;
	&lt;li&gt;After submission, check the invisible input. If it contains any value, reject the post. &lt;/li&gt;
&lt;/ol&gt;
&lt;br /&gt;
&lt;h2&gt;Conclusion&lt;/h2&gt;
&lt;p&gt;
I implemented this method, in a high traffic blog site, the site was catching around 50 spams a day without any spam prevention methods. With this invisible form input method, the site receives 2-3 manually entered spam messages. 
&lt;/p&gt;
&lt;div class="socialBookmarksContainer"&gt;&lt;a rel="nofollow" href="http://digg.com/submit/?url=http://www.bloggingdeveloper.com/post/How-To-Prevent-Form-Spam-without-Using-CAPTCHA.aspx" target="_blank" title="Digg It!"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/digg_24.png" style="border: 0;" alt="Digg It!" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.dzone.com/links/add.html?url=http://www.bloggingdeveloper.com/post/How-To-Prevent-Form-Spam-without-Using-CAPTCHA.aspx&amp;amp;title=How To: Prevent Form Spam without Using CAPTCHA" target="_blank" title="DZone It!"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/dzone_24.png" style="border: 0;" alt="DZone It!" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.stumbleupon.com/submit?url=http://www.bloggingdeveloper.com/post/How-To-Prevent-Form-Spam-without-Using-CAPTCHA.aspx" target="_blank" title="StumbleUpon"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/stumbleupon_24.png" style="border: 0;" alt="StumbleUpon" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://technorati.com/ping?url=http://www.bloggingdeveloper.com/" target="_blank" title="Technorati"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/technorati_24.png" style="border: 0;" alt="Technorati" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://reddit.com/submit?url=http://www.bloggingdeveloper.com/post/How-To-Prevent-Form-Spam-without-Using-CAPTCHA.aspx&amp;amp;title=How To: Prevent Form Spam without Using CAPTCHA" target="_blank" title="Reddit"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/reddit_24.png" style="border: 0;" alt="Reddit" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://del.icio.us/post?url=http://www.bloggingdeveloper.com/post/How-To-Prevent-Form-Spam-without-Using-CAPTCHA.aspx&amp;amp;title=How To: Prevent Form Spam without Using CAPTCHA" target="_blank" title="Del.icio.us"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/delicious_24.png" style="border: 0;" alt="Del.icio.us" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.newsvine.com/_wine/save?u=http://www.bloggingdeveloper.com/post/How-To-Prevent-Form-Spam-without-Using-CAPTCHA.aspx" target="_blank"title="NewsVine"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/newsvine_24.png" style="border: 0;" alt="NewsVine" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://furl.net" target="_blank" title="Furl"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/furl_24.png" style="border: 0;" alt="Furl" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://blinklist.com/submit/" target="_blank" title="BlinkList"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/blinklist_24.png" style="border: 0;" alt="BlinkList" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/IxvlLlJMNbI" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/IxvlLlJMNbI/post.aspx</link><author>bloggingdeveloper.nospam@nospam.bloggingdeveloper.com (Blogging Developer)</author><comments>http://www.bloggingdeveloper.com/post/How-To-Prevent-Form-Spam-without-Using-CAPTCHA.aspx#comment</comments><guid isPermaLink="false">http://www.bloggingdeveloper.com/post.aspx?id=9105a0c3-e021-473b-8699-e55b7351d64e</guid><pubDate>Tue, 06 Nov 2007 10:23:00 +0300</pubDate><category>All</category><category>Tips</category><dc:publisher>Blogging Developer</dc:publisher><pingback:server>http://www.bloggingdeveloper.com/pingback.axd</pingback:server><pingback:target>http://www.bloggingdeveloper.com/post.aspx?id=9105a0c3-e021-473b-8699-e55b7351d64e</pingback:target><slash:comments>0</slash:comments><trackback:ping>http://www.bloggingdeveloper.com/trackback.axd?id=9105a0c3-e021-473b-8699-e55b7351d64e</trackback:ping><wfw:comment>http://www.bloggingdeveloper.com/post/How-To-Prevent-Form-Spam-without-Using-CAPTCHA.aspx#comment</wfw:comment><wfw:commentRss>http://www.bloggingdeveloper.com/syndication.axd?post=9105a0c3-e021-473b-8699-e55b7351d64e</wfw:commentRss><feedburner:origLink>http://www.bloggingdeveloper.com/post.aspx?id=9105a0c3-e021-473b-8699-e55b7351d64e</feedburner:origLink></item><item><title>JavaScript Redirect - Url Redirection with Javascript</title><description>&lt;p&gt;
Redirecting visitors with Javascript can be achieved by one of the methods given below. 
&lt;/p&gt;
&lt;h2&gt;&lt;u&gt;location.href Method&lt;/u&gt;&lt;/h2&gt;
&lt;p align="justify"&gt;
Including the following script will immediately redirect visitors to the URL entered. 
&lt;/p&gt;
&lt;p class="code"&gt;
&lt;span class="sh_symbol"&gt;&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; location.href=&amp;#39;http://www.bloggingdeveloper.com&amp;#39;;&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;/span&gt;&amp;nbsp; 
&lt;/p&gt;
&lt;h2&gt;&lt;u&gt;location.replace Method&lt;/u&gt;&lt;/h2&gt;
&lt;p align="justify"&gt;
Including the following script will immediately redirect visitors to the URL entered. 
&lt;/p&gt;
&lt;p class="code"&gt;
&lt;span class="sh_symbol"&gt;&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; location.replace(&amp;#39;http://www.bloggingdeveloper.com/&amp;#39;);&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;/span&gt;&lt;span class="sh_symbol"&gt;&lt;/span&gt; 
&lt;/p&gt;
&lt;p align="justify"&gt;
location.replace creates a new history entry on the visitor&amp;#39;s browser meaning that if they hit the back button, they can get in a &amp;#39;redirection loop&amp;#39; which is usually undesirable and may have unwanted side effects. 
&lt;/p&gt;
&lt;div class="socialBookmarksContainer"&gt;&lt;a rel="nofollow" href="http://digg.com/submit/?url=http://www.bloggingdeveloper.com/post/JavaScript-Redirect---Url-Redirection-with-Javascript.aspx" target="_blank" title="Digg It!"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/digg_24.png" style="border: 0;" alt="Digg It!" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.dzone.com/links/add.html?url=http://www.bloggingdeveloper.com/post/JavaScript-Redirect---Url-Redirection-with-Javascript.aspx&amp;amp;title=JavaScript Redirect - Url Redirection with Javascript" target="_blank" title="DZone It!"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/dzone_24.png" style="border: 0;" alt="DZone It!" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.stumbleupon.com/submit?url=http://www.bloggingdeveloper.com/post/JavaScript-Redirect---Url-Redirection-with-Javascript.aspx" target="_blank" title="StumbleUpon"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/stumbleupon_24.png" style="border: 0;" alt="StumbleUpon" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://technorati.com/ping?url=http://www.bloggingdeveloper.com/" target="_blank" title="Technorati"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/technorati_24.png" style="border: 0;" alt="Technorati" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://reddit.com/submit?url=http://www.bloggingdeveloper.com/post/JavaScript-Redirect---Url-Redirection-with-Javascript.aspx&amp;amp;title=JavaScript Redirect - Url Redirection with Javascript" target="_blank" title="Reddit"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/reddit_24.png" style="border: 0;" alt="Reddit" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://del.icio.us/post?url=http://www.bloggingdeveloper.com/post/JavaScript-Redirect---Url-Redirection-with-Javascript.aspx&amp;amp;title=JavaScript Redirect - Url Redirection with Javascript" target="_blank" title="Del.icio.us"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/delicious_24.png" style="border: 0;" alt="Del.icio.us" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.newsvine.com/_wine/save?u=http://www.bloggingdeveloper.com/post/JavaScript-Redirect---Url-Redirection-with-Javascript.aspx" target="_blank"title="NewsVine"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/newsvine_24.png" style="border: 0;" alt="NewsVine" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://furl.net" target="_blank" title="Furl"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/furl_24.png" style="border: 0;" alt="Furl" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://blinklist.com/submit/" target="_blank" title="BlinkList"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/blinklist_24.png" style="border: 0;" alt="BlinkList" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/Kd3thoFrMio" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/Kd3thoFrMio/post.aspx</link><author>bloggingdeveloper.nospam@nospam.bloggingdeveloper.com (Blogging Developer)</author><comments>http://www.bloggingdeveloper.com/post/JavaScript-Redirect---Url-Redirection-with-Javascript.aspx#comment</comments><guid isPermaLink="false">http://www.bloggingdeveloper.com/post.aspx?id=0ab26f33-27a6-470d-aea1-3bf574feb452</guid><pubDate>Sun, 04 Nov 2007 20:01:00 +0300</pubDate><category>JavaScript</category><category>All</category><dc:publisher>Blogging Developer</dc:publisher><pingback:server>http://www.bloggingdeveloper.com/pingback.axd</pingback:server><pingback:target>http://www.bloggingdeveloper.com/post.aspx?id=0ab26f33-27a6-470d-aea1-3bf574feb452</pingback:target><slash:comments>0</slash:comments><trackback:ping>http://www.bloggingdeveloper.com/trackback.axd?id=0ab26f33-27a6-470d-aea1-3bf574feb452</trackback:ping><wfw:comment>http://www.bloggingdeveloper.com/post/JavaScript-Redirect---Url-Redirection-with-Javascript.aspx#comment</wfw:comment><wfw:commentRss>http://www.bloggingdeveloper.com/syndication.axd?post=0ab26f33-27a6-470d-aea1-3bf574feb452</wfw:commentRss><feedburner:origLink>http://www.bloggingdeveloper.com/post.aspx?id=0ab26f33-27a6-470d-aea1-3bf574feb452</feedburner:origLink></item><item><title>Enter Key Default Button in ASP.NET 2.0</title><description>&lt;p align="justify"&gt;
If you try to use Enter key in ASP.NET, according to your browser type, you can get really weird results. In my previous article &lt;a href="http://www.bloggingdeveloper.com/post/Default-Button-in-ASPNET-11.aspx"&gt;Default Button in ASP.NET 1.1&lt;/a&gt;, I described two methods&amp;nbsp;to make&amp;nbsp;enter key default button for form inputs in ASP.NET 1.1. 
&lt;/p&gt;
&lt;p align="justify"&gt;
Fortunately, ASP.NET 2.0 makes this easier by introducing a concept of &amp;quot;default button&amp;quot; that can be used with either a &amp;lt;form&amp;gt; or &amp;lt;asp:panel&amp;gt; control. What button will be &amp;quot;clicked&amp;quot; depends of where acutally cursor is and what button is choosen as a default button for form or a panel. 
&lt;/p&gt;
&lt;p align="justify"&gt;
For example, with the below sample: 
&lt;/p&gt;
&lt;p class="code"&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;form defaultbutton=&amp;ldquo;button1&amp;rdquo; runat=&amp;ldquo;server&amp;rdquo;&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;asp:button id=&amp;ldquo;button1&amp;rdquo; text=&amp;ldquo;btn1&amp;rdquo; runat=&amp;ldquo;server&amp;rdquo;/&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;asp:panel defaultbutton=&amp;ldquo;button2&amp;rdquo; runat=&amp;ldquo;server&amp;rdquo;&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;lt;asp:textbox id=&amp;ldquo;textbox1&amp;rdquo; runat=&amp;ldquo;server&amp;rdquo;/&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;lt;asp:button id=&amp;ldquo;button2&amp;rdquo;&amp;nbsp; text=&amp;quot;btn2&amp;quot; runat=&amp;ldquo;server&amp;rdquo;/&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;/asp:panel&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/form&amp;gt;&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt; 
&lt;/p&gt;
&lt;p align="justify"&gt;
If the enter key is selected the first time the page is loaded, &amp;quot;button1&amp;quot; will be the button that receives the post-back event. If the enter key is hit while the user has their cursor focus within the &amp;quot;textbox1&amp;quot; textbox (contained within the &amp;lt;asp:panel&amp;gt;), then &amp;quot;button2&amp;quot; will be the button that receives the post-back event.&amp;nbsp; 
&lt;/p&gt;
&lt;div class="socialBookmarksContainer"&gt;&lt;a rel="nofollow" href="http://digg.com/submit/?url=http://www.bloggingdeveloper.com/post/Enter-Key-Default-Button-in-ASPNET-20.aspx" target="_blank" title="Digg It!"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/digg_24.png" style="border: 0;" alt="Digg It!" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.dzone.com/links/add.html?url=http://www.bloggingdeveloper.com/post/Enter-Key-Default-Button-in-ASPNET-20.aspx&amp;amp;title=Enter Key Default Button in ASP.NET 2.0" target="_blank" title="DZone It!"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/dzone_24.png" style="border: 0;" alt="DZone It!" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.stumbleupon.com/submit?url=http://www.bloggingdeveloper.com/post/Enter-Key-Default-Button-in-ASPNET-20.aspx" target="_blank" title="StumbleUpon"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/stumbleupon_24.png" style="border: 0;" alt="StumbleUpon" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://technorati.com/ping?url=http://www.bloggingdeveloper.com/" target="_blank" title="Technorati"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/technorati_24.png" style="border: 0;" alt="Technorati" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://reddit.com/submit?url=http://www.bloggingdeveloper.com/post/Enter-Key-Default-Button-in-ASPNET-20.aspx&amp;amp;title=Enter Key Default Button in ASP.NET 2.0" target="_blank" title="Reddit"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/reddit_24.png" style="border: 0;" alt="Reddit" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://del.icio.us/post?url=http://www.bloggingdeveloper.com/post/Enter-Key-Default-Button-in-ASPNET-20.aspx&amp;amp;title=Enter Key Default Button in ASP.NET 2.0" target="_blank" title="Del.icio.us"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/delicious_24.png" style="border: 0;" alt="Del.icio.us" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.newsvine.com/_wine/save?u=http://www.bloggingdeveloper.com/post/Enter-Key-Default-Button-in-ASPNET-20.aspx" target="_blank"title="NewsVine"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/newsvine_24.png" style="border: 0;" alt="NewsVine" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://furl.net" target="_blank" title="Furl"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/furl_24.png" style="border: 0;" alt="Furl" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://blinklist.com/submit/" target="_blank" title="BlinkList"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/blinklist_24.png" style="border: 0;" alt="BlinkList" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/QWMXBPUeYCI" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/QWMXBPUeYCI/post.aspx</link><author>bloggingdeveloper.nospam@nospam.bloggingdeveloper.com (Blogging Developer)</author><comments>http://www.bloggingdeveloper.com/post/Enter-Key-Default-Button-in-ASPNET-20.aspx#comment</comments><guid isPermaLink="false">http://www.bloggingdeveloper.com/post.aspx?id=946ef5bc-a7eb-4a7c-b1a0-834ced2b4689</guid><pubDate>Fri, 02 Nov 2007 20:12:00 +0300</pubDate><category>ASP.NET</category><category>All</category><dc:publisher>Blogging Developer</dc:publisher><pingback:server>http://www.bloggingdeveloper.com/pingback.axd</pingback:server><pingback:target>http://www.bloggingdeveloper.com/post.aspx?id=946ef5bc-a7eb-4a7c-b1a0-834ced2b4689</pingback:target><slash:comments>1</slash:comments><trackback:ping>http://www.bloggingdeveloper.com/trackback.axd?id=946ef5bc-a7eb-4a7c-b1a0-834ced2b4689</trackback:ping><wfw:comment>http://www.bloggingdeveloper.com/post/Enter-Key-Default-Button-in-ASPNET-20.aspx#comment</wfw:comment><wfw:commentRss>http://www.bloggingdeveloper.com/syndication.axd?post=946ef5bc-a7eb-4a7c-b1a0-834ced2b4689</wfw:commentRss><feedburner:origLink>http://www.bloggingdeveloper.com/post.aspx?id=946ef5bc-a7eb-4a7c-b1a0-834ced2b4689</feedburner:origLink></item><item><title>Enter Key Default Button in ASP.NET 1.1</title><description>&lt;p align="justify"&gt;
Hitting the enter key in a TextBox&amp;nbsp;may sometimes cause undesired effects in ASP.NET 1.1. For example, the wrong submit button&amp;#39;s click event may be triggered or no click event of any button is triggered. 
&lt;/p&gt;
&lt;p align="justify"&gt;
Suppose that,&amp;nbsp;you have one ASP.NET textbox and a button&amp;nbsp;in a web form and&amp;nbsp;OnClick event of the button contains the following code: 
&lt;/p&gt;
&lt;p class="code"&gt;
Response.Write(&amp;quot;Clicked&amp;quot;); 
&lt;/p&gt;
&lt;p align="justify"&gt;
If you press the enter key when the textbox has focus, the form will be&amp;nbsp;submitted but button&amp;#39;s click event will not be executed. 
&lt;/p&gt;
&lt;p align="justify"&gt;
Place an HTML textbox&amp;nbsp;into the form (it may be invisible): 
&lt;/p&gt;
&lt;p class="code"&gt;
&amp;lt;INPUT type=&amp;quot;text&amp;quot; style=&amp;quot;visibility:hidden&amp;quot;/&amp;gt; 
&lt;/p&gt;
&lt;p align="justify"&gt;
If you press the enter key&amp;nbsp;when the textbox has focus, form will submit and the button&amp;#39;s click event will be executed. 
&lt;/p&gt;
&lt;p align="justify"&gt;
If you have a single button in a form, the solution described above may be useful. However, for forms with more than one button, we need to specify exactly what button will be clicked when visitor presses the enter key. 
&lt;/p&gt;
&lt;h2&gt;Solution 1: Using a Custom Javascript Function &lt;/h2&gt;
&lt;p align="justify"&gt;
&lt;br /&gt;
The method below describes the way to specify a default button to submit when the user hits the enter key in a textbox. 
&lt;/p&gt;
&lt;p class="code"&gt;
&amp;lt;script language=&amp;quot;JavaScript&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
function clickButton(e, buttonid)&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var evt = e ? e : window.event;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var bt = document.getElementById(buttonid);&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;if (bt)&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (evt.keyCode == 13)&lt;br /&gt;
&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; bt.click();&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 false; &lt;br /&gt;
&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; } &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/script&amp;gt; 
&lt;/p&gt;
&lt;p align="justify"&gt;
When you press a key, OnKeyPress event is fired on the client side. This calls a function (clickButton)&amp;nbsp;to which we pass the default button&amp;#39;s id. The function simulates a mouse click on the button. 
&lt;/p&gt;
&lt;p align="justify"&gt;
In order to associate above JavaScript function with the textbox, place the following snippet to the code behind. 
&lt;/p&gt;
&lt;p class="code"&gt;
TextBox1.Attributes.Add(&amp;quot;OnKeyPress&amp;quot;, &amp;quot;return clickButton(event,&amp;#39;&amp;quot; + Button1.ClickID + &amp;quot;&amp;#39;)&amp;quot;); 
&lt;/p&gt;
&lt;p align="justify"&gt;
The above code snippet generates the following HTML code: 
&lt;/p&gt;
&lt;p class="code"&gt;
&amp;lt;input name=&amp;quot;TextBox1&amp;quot; type=&amp;quot;text&amp;quot; id=&amp;quot;TextBox1&amp;quot; onkeypress=&amp;quot;return clickButton(event,&amp;#39;Button1&amp;#39;)&amp;quot;&amp;nbsp; /&amp;gt; 
&lt;/p&gt;
&lt;p align="justify"&gt;
This causes Button1 to be clicked when the enter key is hit inside Textbox1. 
&lt;/p&gt;
&lt;h2&gt;Solution 2: Using the Built-in Javascript Function &lt;/h2&gt;
&lt;p align="justify"&gt;
&lt;br /&gt;
You have to place the clickButton JavaScript function in every web page for the method described in Solution 1 to work. 
&lt;/p&gt;
&lt;p align="justify"&gt;
Place the following snippet to the code behind: 
&lt;/p&gt;
&lt;p class="code"&gt;
TextBox1.Attributes.Add(&amp;quot;OnKeyPress&amp;quot;, &amp;quot;javascript:if (event.keyCode == 13) __doPostBack(&amp;#39;&amp;quot; + Button1.UniqueID + &amp;quot;&amp;#39;,&amp;#39;&amp;#39;)&amp;quot;); 
&lt;/p&gt;
&lt;p align="justify"&gt;
The code snippet given above, renders an extra attribute for Textbox1 that checks for a key press and if it&amp;#39;s the enter key, it fires ASP.NET&amp;#39;s __doPostBack method with the unique id of the default button that virtually presses&amp;nbsp;it. 
&lt;/p&gt;
&lt;div class="socialBookmarksContainer"&gt;&lt;a rel="nofollow" href="http://digg.com/submit/?url=http://www.bloggingdeveloper.com/post/Default-Button-in-ASPNET-11.aspx" target="_blank" title="Digg It!"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/digg_24.png" style="border: 0;" alt="Digg It!" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.dzone.com/links/add.html?url=http://www.bloggingdeveloper.com/post/Default-Button-in-ASPNET-11.aspx&amp;amp;title=Enter Key Default Button in ASP.NET 1.1" target="_blank" title="DZone It!"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/dzone_24.png" style="border: 0;" alt="DZone It!" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.stumbleupon.com/submit?url=http://www.bloggingdeveloper.com/post/Default-Button-in-ASPNET-11.aspx" target="_blank" title="StumbleUpon"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/stumbleupon_24.png" style="border: 0;" alt="StumbleUpon" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://technorati.com/ping?url=http://www.bloggingdeveloper.com/" target="_blank" title="Technorati"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/technorati_24.png" style="border: 0;" alt="Technorati" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://reddit.com/submit?url=http://www.bloggingdeveloper.com/post/Default-Button-in-ASPNET-11.aspx&amp;amp;title=Enter Key Default Button in ASP.NET 1.1" target="_blank" title="Reddit"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/reddit_24.png" style="border: 0;" alt="Reddit" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://del.icio.us/post?url=http://www.bloggingdeveloper.com/post/Default-Button-in-ASPNET-11.aspx&amp;amp;title=Enter Key Default Button in ASP.NET 1.1" target="_blank" title="Del.icio.us"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/delicious_24.png" style="border: 0;" alt="Del.icio.us" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.newsvine.com/_wine/save?u=http://www.bloggingdeveloper.com/post/Default-Button-in-ASPNET-11.aspx" target="_blank"title="NewsVine"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/newsvine_24.png" style="border: 0;" alt="NewsVine" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://furl.net" target="_blank" title="Furl"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/furl_24.png" style="border: 0;" alt="Furl" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://blinklist.com/submit/" target="_blank" title="BlinkList"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/blinklist_24.png" style="border: 0;" alt="BlinkList" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/NJ4naH0fIcE" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/NJ4naH0fIcE/post.aspx</link><author>bloggingdeveloper.nospam@nospam.bloggingdeveloper.com (Blogging Developer)</author><comments>http://www.bloggingdeveloper.com/post/Default-Button-in-ASPNET-11.aspx#comment</comments><guid isPermaLink="false">http://www.bloggingdeveloper.com/post.aspx?id=96c1e3f2-35c5-4777-a75d-89ce87479255</guid><pubDate>Fri, 02 Nov 2007 19:14:00 +0300</pubDate><category>JavaScript</category><category>ASP.NET</category><category>All</category><category>Tips</category><dc:publisher>Blogging Developer</dc:publisher><pingback:server>http://www.bloggingdeveloper.com/pingback.axd</pingback:server><pingback:target>http://www.bloggingdeveloper.com/post.aspx?id=96c1e3f2-35c5-4777-a75d-89ce87479255</pingback:target><slash:comments>5</slash:comments><trackback:ping>http://www.bloggingdeveloper.com/trackback.axd?id=96c1e3f2-35c5-4777-a75d-89ce87479255</trackback:ping><wfw:comment>http://www.bloggingdeveloper.com/post/Default-Button-in-ASPNET-11.aspx#comment</wfw:comment><wfw:commentRss>http://www.bloggingdeveloper.com/syndication.axd?post=96c1e3f2-35c5-4777-a75d-89ce87479255</wfw:commentRss><feedburner:origLink>http://www.bloggingdeveloper.com/post.aspx?id=96c1e3f2-35c5-4777-a75d-89ce87479255</feedburner:origLink></item><item><title>KeyPress, KeyDown, KeyUp - The Difference Between Javascript Key Events</title><description>&lt;p align="justify"&gt;
In JavaScript, pressing a key triggers events which can be captured and handled. Three events are triggered when a key is pressed and released: 
&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;keydown&lt;/li&gt;
	&lt;li&gt;keypress&lt;/li&gt;
	&lt;li&gt;keyup &lt;/li&gt;
&lt;/ul&gt;
&lt;p align="justify"&gt;
&lt;br /&gt;
The keydown event occurs when the key is pressed, followed immediately by the keypress event. Then the keyup event is generated when the key is released. 
&lt;/p&gt;
&lt;p class="quote" align="justify"&gt;
In order to understand the difference between keydown and keypress, it is useful to&amp;nbsp;understand the difference&amp;nbsp;between a &amp;quot;character&amp;quot; and a &amp;quot;key&amp;quot;. A &amp;quot;key&amp;quot; is a physical button on the computer&amp;#39;s keyboard while&amp;nbsp;a &amp;quot;character&amp;quot; is a symbol typed by pressing a button.&amp;nbsp; In theory, the keydown and keyup events represent keys being pressed or released, while the keypress event represents a character being typed. The implementation of the theory is not same in all browsers. 
&lt;/p&gt;
&lt;p&gt;
Below is a Key Event Tester that logs the three&amp;nbsp;key events:&amp;nbsp;(The first button logs keydown and keyup events. The second button logs keypress events.) 
&lt;/p&gt;
&lt;p&gt;
[usercontrol: ~/posts/usercontrols/keyevents.ascx] 
&lt;/p&gt;
&lt;p&gt;
Note: Enter Key event is disabled to avoid unwanted post backs. 
&lt;/p&gt;
&lt;div class="socialBookmarksContainer"&gt;&lt;a rel="nofollow" href="http://digg.com/submit/?url=http://www.bloggingdeveloper.com/post/KeyPress-KeyDown-KeyUp-The-Difference-Between-Javascript-Key-Events.aspx" target="_blank" title="Digg It!"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/digg_24.png" style="border: 0;" alt="Digg It!" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.dzone.com/links/add.html?url=http://www.bloggingdeveloper.com/post/KeyPress-KeyDown-KeyUp-The-Difference-Between-Javascript-Key-Events.aspx&amp;amp;title=KeyPress, KeyDown, KeyUp - The Difference Between Javascript Key Events" target="_blank" title="DZone It!"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/dzone_24.png" style="border: 0;" alt="DZone It!" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.stumbleupon.com/submit?url=http://www.bloggingdeveloper.com/post/KeyPress-KeyDown-KeyUp-The-Difference-Between-Javascript-Key-Events.aspx" target="_blank" title="StumbleUpon"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/stumbleupon_24.png" style="border: 0;" alt="StumbleUpon" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://technorati.com/ping?url=http://www.bloggingdeveloper.com/" target="_blank" title="Technorati"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/technorati_24.png" style="border: 0;" alt="Technorati" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://reddit.com/submit?url=http://www.bloggingdeveloper.com/post/KeyPress-KeyDown-KeyUp-The-Difference-Between-Javascript-Key-Events.aspx&amp;amp;title=KeyPress, KeyDown, KeyUp - The Difference Between Javascript Key Events" target="_blank" title="Reddit"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/reddit_24.png" style="border: 0;" alt="Reddit" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://del.icio.us/post?url=http://www.bloggingdeveloper.com/post/KeyPress-KeyDown-KeyUp-The-Difference-Between-Javascript-Key-Events.aspx&amp;amp;title=KeyPress, KeyDown, KeyUp - The Difference Between Javascript Key Events" target="_blank" title="Del.icio.us"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/delicious_24.png" style="border: 0;" alt="Del.icio.us" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.newsvine.com/_wine/save?u=http://www.bloggingdeveloper.com/post/KeyPress-KeyDown-KeyUp-The-Difference-Between-Javascript-Key-Events.aspx" target="_blank"title="NewsVine"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/newsvine_24.png" style="border: 0;" alt="NewsVine" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://furl.net" target="_blank" title="Furl"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/furl_24.png" style="border: 0;" alt="Furl" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://blinklist.com/submit/" target="_blank" title="BlinkList"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/blinklist_24.png" style="border: 0;" alt="BlinkList" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/kQulH3Xmdro" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/kQulH3Xmdro/post.aspx</link><author>bloggingdeveloper.nospam@nospam.bloggingdeveloper.com (Blogging Developer)</author><comments>http://www.bloggingdeveloper.com/post/KeyPress-KeyDown-KeyUp-The-Difference-Between-Javascript-Key-Events.aspx#comment</comments><guid isPermaLink="false">http://www.bloggingdeveloper.com/post.aspx?id=43664738-4543-4e5c-b6a0-f82ebfb83e27</guid><pubDate>Fri, 02 Nov 2007 14:13:00 +0300</pubDate><category>JavaScript</category><category>All</category><category>Tips</category><dc:publisher>Blogging Developer</dc:publisher><pingback:server>http://www.bloggingdeveloper.com/pingback.axd</pingback:server><pingback:target>http://www.bloggingdeveloper.com/post.aspx?id=43664738-4543-4e5c-b6a0-f82ebfb83e27</pingback:target><slash:comments>7</slash:comments><trackback:ping>http://www.bloggingdeveloper.com/trackback.axd?id=43664738-4543-4e5c-b6a0-f82ebfb83e27</trackback:ping><wfw:comment>http://www.bloggingdeveloper.com/post/KeyPress-KeyDown-KeyUp-The-Difference-Between-Javascript-Key-Events.aspx#comment</wfw:comment><wfw:commentRss>http://www.bloggingdeveloper.com/syndication.axd?post=43664738-4543-4e5c-b6a0-f82ebfb83e27</wfw:commentRss><feedburner:origLink>http://www.bloggingdeveloper.com/post.aspx?id=43664738-4543-4e5c-b6a0-f82ebfb83e27</feedburner:origLink></item><item><title>How To: Disable Form Submit on Enter Key Press</title><description>&lt;p align="justify"&gt;
Sometimes, you need to disable form submission on Enter Key press. If you want to prevent it completely, you need to use OnKeyPress handler on &amp;lt;body&amp;gt; tag of your page. 
&lt;/p&gt;
&lt;p class="code" align="justify"&gt;
&amp;lt;body OnKeyPress=&amp;quot;return disableKeyPress(event)&amp;quot;&amp;gt; 
&lt;/p&gt;
&lt;p align="justify"&gt;
The javascript code should be: 
&lt;/p&gt;
&lt;p class="code"&gt;
&amp;lt;script language=&amp;quot;JavaScript&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
function disableEnterKey(e)&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var key; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(window.event)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; key = window.event.keyCode; //IE&lt;br /&gt;
&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; key = e.which; //firefox &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return (key != 13);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/script&amp;gt; 
&lt;/p&gt;
&lt;p align="justify"&gt;
If you want to disable form submission when enter key is pressed in an input field, you must use the function above on the&amp;nbsp;OnKeyPress handler of the input&amp;nbsp;field as follows: 
&lt;/p&gt;
&lt;p class="code"&gt;
&amp;lt;input type=&amp;rdquo;text&amp;rdquo; name=&amp;rdquo;txtInput&amp;rdquo; onKeyPress=&amp;rdquo;return disableEnterKey(event)&amp;rdquo;&amp;gt; 
&lt;/p&gt;
&lt;div class="socialBookmarksContainer"&gt;&lt;a rel="nofollow" href="http://digg.com/submit/?url=http://www.bloggingdeveloper.com/post/Disable-Form-Submit-on-Enter-Key-Press.aspx" target="_blank" title="Digg It!"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/digg_24.png" style="border: 0;" alt="Digg It!" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.dzone.com/links/add.html?url=http://www.bloggingdeveloper.com/post/Disable-Form-Submit-on-Enter-Key-Press.aspx&amp;amp;title=How To: Disable Form Submit on Enter Key Press" target="_blank" title="DZone It!"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/dzone_24.png" style="border: 0;" alt="DZone It!" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.stumbleupon.com/submit?url=http://www.bloggingdeveloper.com/post/Disable-Form-Submit-on-Enter-Key-Press.aspx" target="_blank" title="StumbleUpon"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/stumbleupon_24.png" style="border: 0;" alt="StumbleUpon" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://technorati.com/ping?url=http://www.bloggingdeveloper.com/" target="_blank" title="Technorati"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/technorati_24.png" style="border: 0;" alt="Technorati" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://reddit.com/submit?url=http://www.bloggingdeveloper.com/post/Disable-Form-Submit-on-Enter-Key-Press.aspx&amp;amp;title=How To: Disable Form Submit on Enter Key Press" target="_blank" title="Reddit"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/reddit_24.png" style="border: 0;" alt="Reddit" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://del.icio.us/post?url=http://www.bloggingdeveloper.com/post/Disable-Form-Submit-on-Enter-Key-Press.aspx&amp;amp;title=How To: Disable Form Submit on Enter Key Press" target="_blank" title="Del.icio.us"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/delicious_24.png" style="border: 0;" alt="Del.icio.us" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.newsvine.com/_wine/save?u=http://www.bloggingdeveloper.com/post/Disable-Form-Submit-on-Enter-Key-Press.aspx" target="_blank"title="NewsVine"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/newsvine_24.png" style="border: 0;" alt="NewsVine" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://furl.net" target="_blank" title="Furl"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/furl_24.png" style="border: 0;" alt="Furl" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://blinklist.com/submit/" target="_blank" title="BlinkList"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/blinklist_24.png" style="border: 0;" alt="BlinkList" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/3NA_91iwtZA" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/3NA_91iwtZA/post.aspx</link><author>bloggingdeveloper.nospam@nospam.bloggingdeveloper.com (Blogging Developer)</author><comments>http://www.bloggingdeveloper.com/post/Disable-Form-Submit-on-Enter-Key-Press.aspx#comment</comments><guid isPermaLink="false">http://www.bloggingdeveloper.com/post.aspx?id=3f07d1a9-58cb-479e-9bdc-13b4bcb529cc</guid><pubDate>Fri, 02 Nov 2007 13:23:00 +0300</pubDate><category>JavaScript</category><category>ASP.NET</category><category>All</category><category>Tips</category><dc:publisher>Blogging Developer</dc:publisher><pingback:server>http://www.bloggingdeveloper.com/pingback.axd</pingback:server><pingback:target>http://www.bloggingdeveloper.com/post.aspx?id=3f07d1a9-58cb-479e-9bdc-13b4bcb529cc</pingback:target><slash:comments>14</slash:comments><trackback:ping>http://www.bloggingdeveloper.com/trackback.axd?id=3f07d1a9-58cb-479e-9bdc-13b4bcb529cc</trackback:ping><wfw:comment>http://www.bloggingdeveloper.com/post/Disable-Form-Submit-on-Enter-Key-Press.aspx#comment</wfw:comment><wfw:commentRss>http://www.bloggingdeveloper.com/syndication.axd?post=3f07d1a9-58cb-479e-9bdc-13b4bcb529cc</wfw:commentRss><feedburner:origLink>http://www.bloggingdeveloper.com/post.aspx?id=3f07d1a9-58cb-479e-9bdc-13b4bcb529cc</feedburner:origLink></item><item><title>Int32.Parse, Convert.ToInt32, Int32.TryParse - Comparing String to Integer Conversion Methods of .NET</title><description>&lt;p align="justify"&gt;
.Net provides several different ways to extract integers from strings. In this article, I will present the differences between Parse, TryParse and ConvertTo. 
&lt;/p&gt;
&lt;p align="justify"&gt;
&lt;strong&gt;&lt;u&gt;Parse&lt;/u&gt;&lt;/strong&gt;: This function takes a string and tries to extract an integer from it&amp;nbsp;and returns the integer. If the string is not a numerical value, the method throws &lt;strong&gt;FormatException&lt;/strong&gt;. If the extracted number is too big, it throws&amp;nbsp;&lt;strong&gt;OverflowException&lt;/strong&gt;. Finally, if the string value is null, it throws &lt;strong&gt;ArgumentNullException&lt;/strong&gt;. 
&lt;/p&gt;
&lt;p class="code"&gt;
Int32 intValue = &lt;strong&gt;Int32.Parse(str);&lt;/strong&gt; 
&lt;/p&gt;
&lt;p align="justify"&gt;
&lt;strong&gt;&lt;u&gt;Convert&lt;/u&gt;&lt;/strong&gt;: This function checks for a null value and if the value is null, it&amp;nbsp;returns 0 instead of throwing an exception. If the string is not a numerical value, the method throws &lt;strong&gt;FormatException&lt;/strong&gt;. If the extracted number is too big, it throws&amp;nbsp;&lt;strong&gt;OverflowException&lt;/strong&gt;.&amp;nbsp; 
&lt;/p&gt;
&lt;p class="code"&gt;
Int32 intValue = &lt;strong&gt;Convert.ToInt32(str);&lt;/strong&gt; 
&lt;/p&gt;
&lt;p align="justify"&gt;
&lt;strong&gt;&lt;u&gt;TryParse&lt;/u&gt;&lt;/strong&gt;: This function is new in .Net 2.0. Since exception handling is very slow, &lt;strong&gt;TryParse&lt;/strong&gt; function returns a boolean indicating if it was able to successfully parse a number instead of throwing an exception. Therefore, you have to pass into &lt;strong&gt;TryParse&lt;/strong&gt; both the string to be parsed and an out parameter to fill in. Using the &lt;strong&gt;TryParse&lt;/strong&gt; static method, you can avoid the exception and ambiguous result when the string is null. 
&lt;/p&gt;
&lt;p class="code"&gt;
bool isParsed = &lt;strong&gt;Int32.TryParse(str, out intValue);&lt;/strong&gt; 
&lt;/p&gt;
&lt;div class="socialBookmarksContainer"&gt;&lt;a rel="nofollow" href="http://digg.com/submit/?url=http://www.bloggingdeveloper.com/post/Int32Parse-ConvertToInt32-Int32TryParse-Comparing-String-to-Integer-Conversion-Methods-of-NET.aspx" target="_blank" title="Digg It!"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/digg_24.png" style="border: 0;" alt="Digg It!" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.dzone.com/links/add.html?url=http://www.bloggingdeveloper.com/post/Int32Parse-ConvertToInt32-Int32TryParse-Comparing-String-to-Integer-Conversion-Methods-of-NET.aspx&amp;amp;title=Int32.Parse, Convert.ToInt32, Int32.TryParse - Comparing String to Integer Conversion Methods of .NET" target="_blank" title="DZone It!"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/dzone_24.png" style="border: 0;" alt="DZone It!" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.stumbleupon.com/submit?url=http://www.bloggingdeveloper.com/post/Int32Parse-ConvertToInt32-Int32TryParse-Comparing-String-to-Integer-Conversion-Methods-of-NET.aspx" target="_blank" title="StumbleUpon"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/stumbleupon_24.png" style="border: 0;" alt="StumbleUpon" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://technorati.com/ping?url=http://www.bloggingdeveloper.com/" target="_blank" title="Technorati"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/technorati_24.png" style="border: 0;" alt="Technorati" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://reddit.com/submit?url=http://www.bloggingdeveloper.com/post/Int32Parse-ConvertToInt32-Int32TryParse-Comparing-String-to-Integer-Conversion-Methods-of-NET.aspx&amp;amp;title=Int32.Parse, Convert.ToInt32, Int32.TryParse - Comparing String to Integer Conversion Methods of .NET" target="_blank" title="Reddit"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/reddit_24.png" style="border: 0;" alt="Reddit" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://del.icio.us/post?url=http://www.bloggingdeveloper.com/post/Int32Parse-ConvertToInt32-Int32TryParse-Comparing-String-to-Integer-Conversion-Methods-of-NET.aspx&amp;amp;title=Int32.Parse, Convert.ToInt32, Int32.TryParse - Comparing String to Integer Conversion Methods of .NET" target="_blank" title="Del.icio.us"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/delicious_24.png" style="border: 0;" alt="Del.icio.us" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.newsvine.com/_wine/save?u=http://www.bloggingdeveloper.com/post/Int32Parse-ConvertToInt32-Int32TryParse-Comparing-String-to-Integer-Conversion-Methods-of-NET.aspx" target="_blank"title="NewsVine"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/newsvine_24.png" style="border: 0;" alt="NewsVine" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://furl.net" target="_blank" title="Furl"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/furl_24.png" style="border: 0;" alt="Furl" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://blinklist.com/submit/" target="_blank" title="BlinkList"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/blinklist_24.png" style="border: 0;" alt="BlinkList" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/j2CY4DrjXb8" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/j2CY4DrjXb8/post.aspx</link><author>bloggingdeveloper.nospam@nospam.bloggingdeveloper.com (Blogging Developer)</author><comments>http://www.bloggingdeveloper.com/post/Int32Parse-ConvertToInt32-Int32TryParse-Comparing-String-to-Integer-Conversion-Methods-of-NET.aspx#comment</comments><guid isPermaLink="false">http://www.bloggingdeveloper.com/post.aspx?id=cc24ec18-1762-467d-ab57-e6b0ff4f8ab5</guid><pubDate>Sun, 21 Oct 2007 21:42:00 +0300</pubDate><category>ASP.NET</category><category>C#</category><category>All</category><dc:publisher>Blogging Developer</dc:publisher><pingback:server>http://www.bloggingdeveloper.com/pingback.axd</pingback:server><pingback:target>http://www.bloggingdeveloper.com/post.aspx?id=cc24ec18-1762-467d-ab57-e6b0ff4f8ab5</pingback:target><slash:comments>0</slash:comments><trackback:ping>http://www.bloggingdeveloper.com/trackback.axd?id=cc24ec18-1762-467d-ab57-e6b0ff4f8ab5</trackback:ping><wfw:comment>http://www.bloggingdeveloper.com/post/Int32Parse-ConvertToInt32-Int32TryParse-Comparing-String-to-Integer-Conversion-Methods-of-NET.aspx#comment</wfw:comment><wfw:commentRss>http://www.bloggingdeveloper.com/syndication.axd?post=cc24ec18-1762-467d-ab57-e6b0ff4f8ab5</wfw:commentRss><feedburner:origLink>http://www.bloggingdeveloper.com/post.aspx?id=cc24ec18-1762-467d-ab57-e6b0ff4f8ab5</feedburner:origLink></item><item><title>Links for 2007-10-17 [del.icio.us]</title><link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/aNbuGRxKFnQ/bloggingdeveloper</link><pubDate>Thu, 18 Oct 2007 00:00:00 PDT</pubDate><guid isPermaLink="false">http://del.icio.us/bloggingdeveloper#2007-10-17</guid><description>&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.bloggingdeveloper.com/post/Visual-Studio-Tip-Stop-Loosing-the-Clipboard-Data-Accidentally.aspx"&gt;Visual Studio Tip: Stop Loosing the Clipboard Data Accidentally&lt;/a&gt;&lt;br/&gt;
I frequently type Ctrl+C instead of Ctrl+V on a blank line and loose the data on the clipboard by copying a blank line.

Today, I discovered a VS option to disable cut and copy commands on blank lines when there is no selection.

You may find the opti&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/aNbuGRxKFnQ" height="1" width="1"/&gt;</description><feedburner:origLink>http://del.icio.us/bloggingdeveloper#2007-10-17</feedburner:origLink></item><item><title>Gmail's Plans on Mail Storage</title><description>&lt;p align="justify"&gt;
Google chosed April Fool&amp;#39;s Day to announce the launch of Gmail in 2004 to make people to believe it was a hoax as free web-base e-mail with one gigabyte of storage was imposible on those days since Hotmail was offering 2 MB and Yahoo was offering 4 MB of mail storage. Actually, this was a marketing strategy to make people thing that the product is hoax, spread the word around and then to surprise them when they realize that it is actually real. (Check: &lt;a rel="no-follow" href="http://en.wikipedia.org/wiki/Google's_hoaxes" target="_blank" title="Google's hoaxes"&gt;google&amp;#39;s hoaxes&lt;/a&gt;) In addition, on April 1&lt;sup&gt;st&lt;/sup&gt;, 2005, Google announced the increase of storage to 2 GBs.&amp;nbsp; 
&lt;/p&gt;
&lt;p align="justify"&gt;
In April 2005, Google started to increase Gmail storage as part of their &amp;quot;Infinity+1&amp;quot; storage plan promising to give more space to Gmail users. They put a storage counter on Gmail. On October 12, 2007, they announced that they speeded up the counter to give more mail storage. 
&lt;/p&gt;
&lt;div id="articleimg"&gt;
&lt;div id="image"&gt;
&lt;img src="/posts/google/gmail_storage_counter.jpg" alt="Google Storage Counter" title="Google Storage Counter" /&gt; 
&lt;/div&gt;
&lt;div id="explanation"&gt;
Google Storage Counter 
&lt;/div&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;p align="justify"&gt;
Actually, they updated gmail&amp;#39;s storage estimation. The new estimation script indicates that the storage will be: 
&lt;/p&gt;
&lt;ol&gt;
	&lt;li&gt;4.2 GB by the 23rd of October &lt;/li&gt;
	&lt;li&gt;6 GB by the January 4&lt;sup&gt;th&lt;/sup&gt;, 2008&lt;/li&gt;
	&lt;li&gt;42 GB by the year 2038&lt;/li&gt;
	&lt;li&gt;2.70266701 &amp;times; 10&lt;sup&gt;75&lt;/sup&gt; GB by the year 3456&lt;br /&gt;
	&lt;br /&gt;
	&lt;/li&gt;
&lt;/ol&gt;
&lt;p class="code"&gt;
// Estimates of nanite storage generation over time.&lt;br /&gt;
var CP = [ &lt;br /&gt;
&amp;nbsp;&amp;nbsp; [1175414400000, 2835], &lt;br /&gt;
&amp;nbsp;&amp;nbsp; [1192176000000, 2912], &lt;br /&gt;
&amp;nbsp;&amp;nbsp; [1193122800000, 4321],&lt;br /&gt;
&amp;nbsp;&amp;nbsp; [1199433600000, 6283], &lt;br /&gt;
&amp;nbsp;&amp;nbsp; [2147328000000, 43008], &lt;br /&gt;
&amp;nbsp;&amp;nbsp; [46893711600000, Number.MAX_VALUE] &lt;br /&gt;
]; 
&lt;/p&gt;
&lt;p align="justify"&gt;
Google also updated the rates for paid storage: 
&lt;/p&gt;
&lt;p align="justify"&gt;
Before the October 12, 2007: 
&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;6 GB ($20.00 USD per year)&lt;/li&gt;
	&lt;li&gt;25 GB ($75.00 USD per year)&lt;/li&gt;
	&lt;li&gt;100 GB ($250.00 USD per year)&lt;/li&gt;
	&lt;li&gt;250 GB ($500.00 USD per year)&amp;nbsp; &lt;br /&gt;
	&lt;br /&gt;
	&lt;/li&gt;
&lt;/ul&gt;
&lt;p align="justify"&gt;
Now:&amp;nbsp; 
&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;10 GB ($20.00 USD per year)&lt;/li&gt;
	&lt;li&gt;40 GB ($75.00 USD per year)&lt;/li&gt;
	&lt;li&gt;150 GB ($250.00 USD per year)&lt;/li&gt;
	&lt;li&gt;400 GB ($500.00 USD per year)&lt;br /&gt;
	&lt;br /&gt;
	&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="socialBookmarksContainer"&gt;&lt;a rel="nofollow" href="http://digg.com/submit/?url=http://www.bloggingdeveloper.com/post/Gmails-Plans-on-Mail-Storage.aspx" target="_blank" title="Digg It!"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/digg_24.png" style="border: 0;" alt="Digg It!" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.dzone.com/links/add.html?url=http://www.bloggingdeveloper.com/post/Gmails-Plans-on-Mail-Storage.aspx&amp;amp;title=Gmail's Plans on Mail Storage" target="_blank" title="DZone It!"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/dzone_24.png" style="border: 0;" alt="DZone It!" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.stumbleupon.com/submit?url=http://www.bloggingdeveloper.com/post/Gmails-Plans-on-Mail-Storage.aspx" target="_blank" title="StumbleUpon"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/stumbleupon_24.png" style="border: 0;" alt="StumbleUpon" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://technorati.com/ping?url=http://www.bloggingdeveloper.com/" target="_blank" title="Technorati"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/technorati_24.png" style="border: 0;" alt="Technorati" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://reddit.com/submit?url=http://www.bloggingdeveloper.com/post/Gmails-Plans-on-Mail-Storage.aspx&amp;amp;title=Gmail's Plans on Mail Storage" target="_blank" title="Reddit"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/reddit_24.png" style="border: 0;" alt="Reddit" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://del.icio.us/post?url=http://www.bloggingdeveloper.com/post/Gmails-Plans-on-Mail-Storage.aspx&amp;amp;title=Gmail's Plans on Mail Storage" target="_blank" title="Del.icio.us"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/delicious_24.png" style="border: 0;" alt="Del.icio.us" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.newsvine.com/_wine/save?u=http://www.bloggingdeveloper.com/post/Gmails-Plans-on-Mail-Storage.aspx" target="_blank"title="NewsVine"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/newsvine_24.png" style="border: 0;" alt="NewsVine" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://furl.net" target="_blank" title="Furl"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/furl_24.png" style="border: 0;" alt="Furl" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://blinklist.com/submit/" target="_blank" title="BlinkList"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/blinklist_24.png" style="border: 0;" alt="BlinkList" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/Uc4fRhsdqY4" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/Uc4fRhsdqY4/post.aspx</link><author>bloggingdeveloper.nospam@nospam.bloggingdeveloper.com (Blogging Developer)</author><comments>http://www.bloggingdeveloper.com/post/Gmails-Plans-on-Mail-Storage.aspx#comment</comments><guid isPermaLink="false">http://www.bloggingdeveloper.com/post.aspx?id=80cadf57-52a9-41c5-9ca1-e5520c77285a</guid><pubDate>Wed, 17 Oct 2007 04:52:00 +0300</pubDate><category>Online Services</category><category>All</category><dc:publisher>Blogging Developer</dc:publisher><pingback:server>http://www.bloggingdeveloper.com/pingback.axd</pingback:server><pingback:target>http://www.bloggingdeveloper.com/post.aspx?id=80cadf57-52a9-41c5-9ca1-e5520c77285a</pingback:target><slash:comments>1</slash:comments><trackback:ping>http://www.bloggingdeveloper.com/trackback.axd?id=80cadf57-52a9-41c5-9ca1-e5520c77285a</trackback:ping><wfw:comment>http://www.bloggingdeveloper.com/post/Gmails-Plans-on-Mail-Storage.aspx#comment</wfw:comment><wfw:commentRss>http://www.bloggingdeveloper.com/syndication.axd?post=80cadf57-52a9-41c5-9ca1-e5520c77285a</wfw:commentRss><feedburner:origLink>http://www.bloggingdeveloper.com/post.aspx?id=80cadf57-52a9-41c5-9ca1-e5520c77285a</feedburner:origLink></item><item><title>Visual Studio Tip: Stop Loosing the Clipboard Data Accidentally</title><description>&lt;p align="justify"&gt;
I frequently type Ctrl+C instead of Ctrl+V on a blank line and loose the data on the clipboard by copying a blank line. 
&lt;/p&gt;
&lt;p align="justify"&gt;
Today, I discovered a VS option to disable cut and copy commands on blank lines when there is no selection. 
&lt;/p&gt;
&lt;p align="justify"&gt;
You may find the option in &lt;strong&gt;Tools - Options - Text Editor - All Languages - General&lt;/strong&gt;. Uncheck &lt;strong&gt;Apply Cut or Copy commands to blank lines when there is no selection.&lt;/strong&gt; 
&lt;/p&gt;
&lt;div id="articleimg"&gt;
&lt;div id="image"&gt;
&lt;img src="/posts/tips/visual_studio_2005_2008_tip.jpg" alt="Apply Cut or Copy commands to blank lines when there is no selection" title="Apply Cut or Copy commands to blank lines when there is no selection" width="495" height="286" /&gt; 
&lt;/div&gt;
&lt;div id="explanation"&gt;
To disable Cut or Copy commands to blank lines uncheck &amp;quot;Apply Cut or Copy commands to blank lines when there is no selection&amp;quot; checkbox. 
&lt;/div&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;p class="update"&gt;
&lt;strong class="updatetitle"&gt;UPDATE&lt;/strong&gt; I forgot to mention that the tip applies both to Visual Studio 2005 and Visual Studio 2008. 
&lt;/p&gt;
&lt;div class="socialBookmarksContainer"&gt;&lt;a rel="nofollow" href="http://digg.com/submit/?url=http://www.bloggingdeveloper.com/post/Visual-Studio-Tip-Stop-Loosing-the-Clipboard-Data-Accidentally.aspx" target="_blank" title="Digg It!"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/digg_24.png" style="border: 0;" alt="Digg It!" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.dzone.com/links/add.html?url=http://www.bloggingdeveloper.com/post/Visual-Studio-Tip-Stop-Loosing-the-Clipboard-Data-Accidentally.aspx&amp;amp;title=Visual Studio Tip: Stop Loosing the Clipboard Data Accidentally" target="_blank" title="DZone It!"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/dzone_24.png" style="border: 0;" alt="DZone It!" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.stumbleupon.com/submit?url=http://www.bloggingdeveloper.com/post/Visual-Studio-Tip-Stop-Loosing-the-Clipboard-Data-Accidentally.aspx" target="_blank" title="StumbleUpon"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/stumbleupon_24.png" style="border: 0;" alt="StumbleUpon" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://technorati.com/ping?url=http://www.bloggingdeveloper.com/" target="_blank" title="Technorati"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/technorati_24.png" style="border: 0;" alt="Technorati" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://reddit.com/submit?url=http://www.bloggingdeveloper.com/post/Visual-Studio-Tip-Stop-Loosing-the-Clipboard-Data-Accidentally.aspx&amp;amp;title=Visual Studio Tip: Stop Loosing the Clipboard Data Accidentally" target="_blank" title="Reddit"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/reddit_24.png" style="border: 0;" alt="Reddit" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://del.icio.us/post?url=http://www.bloggingdeveloper.com/post/Visual-Studio-Tip-Stop-Loosing-the-Clipboard-Data-Accidentally.aspx&amp;amp;title=Visual Studio Tip: Stop Loosing the Clipboard Data Accidentally" target="_blank" title="Del.icio.us"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/delicious_24.png" style="border: 0;" alt="Del.icio.us" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.newsvine.com/_wine/save?u=http://www.bloggingdeveloper.com/post/Visual-Studio-Tip-Stop-Loosing-the-Clipboard-Data-Accidentally.aspx" target="_blank"title="NewsVine"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/newsvine_24.png" style="border: 0;" alt="NewsVine" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://furl.net" target="_blank" title="Furl"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/furl_24.png" style="border: 0;" alt="Furl" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://blinklist.com/submit/" target="_blank" title="BlinkList"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/blinklist_24.png" style="border: 0;" alt="BlinkList" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/GeO_ddpmB_s" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/GeO_ddpmB_s/post.aspx</link><author>bloggingdeveloper.nospam@nospam.bloggingdeveloper.com (Blogging Developer)</author><comments>http://www.bloggingdeveloper.com/post/Visual-Studio-Tip-Stop-Loosing-the-Clipboard-Data-Accidentally.aspx#comment</comments><guid isPermaLink="false">http://www.bloggingdeveloper.com/post.aspx?id=09986aac-44d1-445f-8e00-94dae4786c10</guid><pubDate>Wed, 17 Oct 2007 00:07:00 +0300</pubDate><category>All</category><category>Tips</category><dc:publisher>Blogging Developer</dc:publisher><pingback:server>http://www.bloggingdeveloper.com/pingback.axd</pingback:server><pingback:target>http://www.bloggingdeveloper.com/post.aspx?id=09986aac-44d1-445f-8e00-94dae4786c10</pingback:target><slash:comments>1</slash:comments><trackback:ping>http://www.bloggingdeveloper.com/trackback.axd?id=09986aac-44d1-445f-8e00-94dae4786c10</trackback:ping><wfw:comment>http://www.bloggingdeveloper.com/post/Visual-Studio-Tip-Stop-Loosing-the-Clipboard-Data-Accidentally.aspx#comment</wfw:comment><wfw:commentRss>http://www.bloggingdeveloper.com/syndication.axd?post=09986aac-44d1-445f-8e00-94dae4786c10</wfw:commentRss><feedburner:origLink>http://www.bloggingdeveloper.com/post.aspx?id=09986aac-44d1-445f-8e00-94dae4786c10</feedburner:origLink></item><item><title>Static Variables vs Application Object - Boost ASP.NET Web Site Performance by Using Static Variables instead of the Application Object</title><description>&lt;p align="justify"&gt;
When developing Web applications with ASP.NET, you sometimes need to access data which is shared among users again and again throughout the life of the application.
&lt;/p&gt;
&lt;p align="justify"&gt;
If you want to share a value or an object instance between all sessions, you typically use the Application object. However, a better alternative to Application object is a static property defined in a class. &lt;strong&gt;Static properties maintain their values throughout the Application&lt;/strong&gt;. So they work like the Application object. 
&lt;/p&gt;
&lt;p align="justify"&gt;
Storing and reading a &lt;strong&gt;static value is faster&lt;/strong&gt; when we compare it with the Application object because static variables do not need to look-up in a collection when you refer to them and you do not need to cast from object to a specific type. 
&lt;/p&gt;
&lt;p align="justify"&gt;
The key reason that the Application object exists in ASP.NET is for compatibility with classic ASP code to allow easy migration of existing applications to ASP.NET. 
&lt;/p&gt;
&lt;div class="socialBookmarksContainer"&gt;&lt;a rel="nofollow" href="http://digg.com/submit/?url=http://www.bloggingdeveloper.com/post/Static-Variables-vs-Application-Object---Boost-ASPNET-Web-Site-Performance-by-Using-Static-Variables-instead-of-the-Application-Object.aspx" target="_blank" title="Digg It!"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/digg_24.png" style="border: 0;" alt="Digg It!" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.dzone.com/links/add.html?url=http://www.bloggingdeveloper.com/post/Static-Variables-vs-Application-Object---Boost-ASPNET-Web-Site-Performance-by-Using-Static-Variables-instead-of-the-Application-Object.aspx&amp;amp;title=Static Variables vs Application Object - Boost ASP.NET Web Site Performance by Using Static Variables instead of the Application Object" target="_blank" title="DZone It!"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/dzone_24.png" style="border: 0;" alt="DZone It!" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.stumbleupon.com/submit?url=http://www.bloggingdeveloper.com/post/Static-Variables-vs-Application-Object---Boost-ASPNET-Web-Site-Performance-by-Using-Static-Variables-instead-of-the-Application-Object.aspx" target="_blank" title="StumbleUpon"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/stumbleupon_24.png" style="border: 0;" alt="StumbleUpon" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://technorati.com/ping?url=http://www.bloggingdeveloper.com/" target="_blank" title="Technorati"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/technorati_24.png" style="border: 0;" alt="Technorati" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://reddit.com/submit?url=http://www.bloggingdeveloper.com/post/Static-Variables-vs-Application-Object---Boost-ASPNET-Web-Site-Performance-by-Using-Static-Variables-instead-of-the-Application-Object.aspx&amp;amp;title=Static Variables vs Application Object - Boost ASP.NET Web Site Performance by Using Static Variables instead of the Application Object" target="_blank" title="Reddit"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/reddit_24.png" style="border: 0;" alt="Reddit" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://del.icio.us/post?url=http://www.bloggingdeveloper.com/post/Static-Variables-vs-Application-Object---Boost-ASPNET-Web-Site-Performance-by-Using-Static-Variables-instead-of-the-Application-Object.aspx&amp;amp;title=Static Variables vs Application Object - Boost ASP.NET Web Site Performance by Using Static Variables instead of the Application Object" target="_blank" title="Del.icio.us"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/delicious_24.png" style="border: 0;" alt="Del.icio.us" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.newsvine.com/_wine/save?u=http://www.bloggingdeveloper.com/post/Static-Variables-vs-Application-Object---Boost-ASPNET-Web-Site-Performance-by-Using-Static-Variables-instead-of-the-Application-Object.aspx" target="_blank"title="NewsVine"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/newsvine_24.png" style="border: 0;" alt="NewsVine" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://furl.net" target="_blank" title="Furl"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/furl_24.png" style="border: 0;" alt="Furl" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://blinklist.com/submit/" target="_blank" title="BlinkList"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/blinklist_24.png" style="border: 0;" alt="BlinkList" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/s7qLMpFZ2uo" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/s7qLMpFZ2uo/post.aspx</link><author>bloggingdeveloper.nospam@nospam.bloggingdeveloper.com (Blogging Developer)</author><comments>http://www.bloggingdeveloper.com/post/Static-Variables-vs-Application-Object---Boost-ASPNET-Web-Site-Performance-by-Using-Static-Variables-instead-of-the-Application-Object.aspx#comment</comments><guid isPermaLink="false">http://www.bloggingdeveloper.com/post.aspx?id=a8bb3c87-b9cc-4e5b-8d9f-036c8bef0189</guid><pubDate>Fri, 05 Oct 2007 17:14:00 +0300</pubDate><category>ASP.NET</category><category>C#</category><category>All</category><category>Performance</category><dc:publisher>Blogging Developer</dc:publisher><pingback:server>http://www.bloggingdeveloper.com/pingback.axd</pingback:server><pingback:target>http://www.bloggingdeveloper.com/post.aspx?id=a8bb3c87-b9cc-4e5b-8d9f-036c8bef0189</pingback:target><slash:comments>3</slash:comments><trackback:ping>http://www.bloggingdeveloper.com/trackback.axd?id=a8bb3c87-b9cc-4e5b-8d9f-036c8bef0189</trackback:ping><wfw:comment>http://www.bloggingdeveloper.com/post/Static-Variables-vs-Application-Object---Boost-ASPNET-Web-Site-Performance-by-Using-Static-Variables-instead-of-the-Application-Object.aspx#comment</wfw:comment><wfw:commentRss>http://www.bloggingdeveloper.com/syndication.axd?post=a8bb3c87-b9cc-4e5b-8d9f-036c8bef0189</wfw:commentRss><feedburner:origLink>http://www.bloggingdeveloper.com/post.aspx?id=a8bb3c87-b9cc-4e5b-8d9f-036c8bef0189</feedburner:origLink></item><item><title>Links for 2007-09-20 [del.icio.us]</title><link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/7JBxXMa1mu8/bloggingdeveloper</link><pubDate>Fri, 21 Sep 2007 00:00:00 PDT</pubDate><guid isPermaLink="false">http://del.icio.us/bloggingdeveloper#2007-09-20</guid><description>&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.bloggingdeveloper.com/post/IZWebFileManager---Advanced-ASPNET-20-Online-File-Manager-Server-Control.aspx"&gt;IZWebFileManager - Advanced ASP.NET 2.0 Online File Manager Server Control&lt;/a&gt;&lt;br/&gt;
IZWebFileManager is a web based file manager server control for Microsoft IIS web servers, written for ASP.NET 2.0. It is compatible with most-used browsers like Internet Explorer, Firefox and Netscape. 

Its features include: copying, moving, renaming,&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/7JBxXMa1mu8" height="1" width="1"/&gt;</description><feedburner:origLink>http://del.icio.us/bloggingdeveloper#2007-09-20</feedburner:origLink></item><item><title>IZWebFileManager - Advanced ASP.NET 2.0 Online File Manager Server Control</title><description>&lt;p align="justify"&gt;
IZWebFileManager is a web based file manager server control for Microsoft IIS web servers, written for ASP.NET 2.0. It is compatible with most-used browsers like Internet Explorer, Firefox and Netscape. 
&lt;/p&gt;
&lt;p align="justify"&gt;
Its features include: &lt;strong&gt;copying, moving, renaming, deletion of files and folders; ability to work with several files at ones; uploading; easy duplication of files and folders; Windows Explorer like right-click context menu; short-cut support; permission control; file size limit; multilingual interface; unicode and right-to-left support; easy to install without configurations&lt;/strong&gt;. 
&lt;/p&gt;
&lt;div id="articleimg"&gt;
&lt;div id="image"&gt;
&lt;img src="/posts/aspnet/iz.gif" alt="ASP.NET Advanced Web File Manager" title="IZWEBFILEMANAGER" width="495" height="368" /&gt; 
&lt;/div&gt;
&lt;div id="explanation"&gt;
IZ WebFileManager - ASP.NET Advanced Web File Manager 
&lt;/div&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;p&gt;
For More Details: &lt;a rel="nofollow" href="http://www.izwebfilemanager.com" target="_blank" title="Iz Web File Manager"&gt;IZWebFileManager Web Site&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
For an Online Demo: &lt;a rel="nofollow" href="http://www.izwebfilemanager.com/demo/default.aspx" target="_blank" title="Iz Web File Manager Demo"&gt;IZWebFileManager Online Demo&lt;/a&gt; 
&lt;/p&gt;
&lt;div class="socialBookmarksContainer"&gt;&lt;a rel="nofollow" href="http://digg.com/submit/?url=http://www.bloggingdeveloper.com/post/IZWebFileManager---Advanced-ASPNET-20-Online-File-Manager-Server-Control.aspx" target="_blank" title="Digg It!"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/digg_24.png" style="border: 0;" alt="Digg It!" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.dzone.com/links/add.html?url=http://www.bloggingdeveloper.com/post/IZWebFileManager---Advanced-ASPNET-20-Online-File-Manager-Server-Control.aspx&amp;amp;title=IZWebFileManager - Advanced ASP.NET 2.0 Online File Manager Server Control" target="_blank" title="DZone It!"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/dzone_24.png" style="border: 0;" alt="DZone It!" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.stumbleupon.com/submit?url=http://www.bloggingdeveloper.com/post/IZWebFileManager---Advanced-ASPNET-20-Online-File-Manager-Server-Control.aspx" target="_blank" title="StumbleUpon"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/stumbleupon_24.png" style="border: 0;" alt="StumbleUpon" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://technorati.com/ping?url=http://www.bloggingdeveloper.com/" target="_blank" title="Technorati"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/technorati_24.png" style="border: 0;" alt="Technorati" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://reddit.com/submit?url=http://www.bloggingdeveloper.com/post/IZWebFileManager---Advanced-ASPNET-20-Online-File-Manager-Server-Control.aspx&amp;amp;title=IZWebFileManager - Advanced ASP.NET 2.0 Online File Manager Server Control" target="_blank" title="Reddit"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/reddit_24.png" style="border: 0;" alt="Reddit" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://del.icio.us/post?url=http://www.bloggingdeveloper.com/post/IZWebFileManager---Advanced-ASPNET-20-Online-File-Manager-Server-Control.aspx&amp;amp;title=IZWebFileManager - Advanced ASP.NET 2.0 Online File Manager Server Control" target="_blank" title="Del.icio.us"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/delicious_24.png" style="border: 0;" alt="Del.icio.us" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.newsvine.com/_wine/save?u=http://www.bloggingdeveloper.com/post/IZWebFileManager---Advanced-ASPNET-20-Online-File-Manager-Server-Control.aspx" target="_blank"title="NewsVine"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/newsvine_24.png" style="border: 0;" alt="NewsVine" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://furl.net" target="_blank" title="Furl"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/furl_24.png" style="border: 0;" alt="Furl" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://blinklist.com/submit/" target="_blank" title="BlinkList"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/blinklist_24.png" style="border: 0;" alt="BlinkList" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/Er4kk_Iut7A" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/Er4kk_Iut7A/post.aspx</link><author>bloggingdeveloper.nospam@nospam.bloggingdeveloper.com (Blogging Developer)</author><comments>http://www.bloggingdeveloper.com/post/IZWebFileManager---Advanced-ASPNET-20-Online-File-Manager-Server-Control.aspx#comment</comments><guid isPermaLink="false">http://www.bloggingdeveloper.com/post.aspx?id=889aa15c-226e-4b0a-b1b8-bd24c011dca8</guid><pubDate>Thu, 20 Sep 2007 13:12:00 +0300</pubDate><category>ASP.NET</category><category>C#</category><category>All</category><dc:publisher>Blogging Developer</dc:publisher><pingback:server>http://www.bloggingdeveloper.com/pingback.axd</pingback:server><pingback:target>http://www.bloggingdeveloper.com/post.aspx?id=889aa15c-226e-4b0a-b1b8-bd24c011dca8</pingback:target><slash:comments>2</slash:comments><trackback:ping>http://www.bloggingdeveloper.com/trackback.axd?id=889aa15c-226e-4b0a-b1b8-bd24c011dca8</trackback:ping><wfw:comment>http://www.bloggingdeveloper.com/post/IZWebFileManager---Advanced-ASPNET-20-Online-File-Manager-Server-Control.aspx#comment</wfw:comment><wfw:commentRss>http://www.bloggingdeveloper.com/syndication.axd?post=889aa15c-226e-4b0a-b1b8-bd24c011dca8</wfw:commentRss><feedburner:origLink>http://www.bloggingdeveloper.com/post.aspx?id=889aa15c-226e-4b0a-b1b8-bd24c011dca8</feedburner:origLink></item><item><title>Links for 2007-09-17 [del.icio.us]</title><link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/EnrlDNWgkDc/bloggingdeveloper</link><pubDate>Tue, 18 Sep 2007 00:00:00 PDT</pubDate><guid isPermaLink="false">http://del.icio.us/bloggingdeveloper#2007-09-17</guid><description>&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.bloggingdeveloper.com/post/Convert-Parse-and-TryParse-Methods---Comparing-String-to-Numerical-Conversion-Methods.aspx"&gt;Convert, Parse and TryParse Methods - Comparing String to Numerical Conversion Methods&lt;/a&gt;&lt;br/&gt;
.Net provides several different ways to extract integers from strings. In this article, I will present the differences between Parse, TryParse and ConvertTo.&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/EnrlDNWgkDc" height="1" width="1"/&gt;</description><feedburner:origLink>http://del.icio.us/bloggingdeveloper#2007-09-17</feedburner:origLink></item><item><title>Convert, Parse and TryParse Methods - Comparing String to Number Conversion Methods</title><description>&lt;p align="justify"&gt;
.Net provides several different ways to extract integers from strings. In this article, I will present the differences between Parse, TryParse and ConvertTo. 
&lt;/p&gt;
&lt;p align="justify"&gt;
&lt;strong&gt;&lt;u&gt;Parse&lt;/u&gt;&lt;/strong&gt;: This function takes a string and tries to extract an integer from it&amp;nbsp;and returns the integer. If the string is not a numerical value, the method throws &lt;strong&gt;FormatException&lt;/strong&gt;. If the extracted number is too big, it throws&amp;nbsp;&lt;strong&gt;OverflowException&lt;/strong&gt;. Finally, if the string value is null, it throws &lt;strong&gt;ArgumentNullException&lt;/strong&gt;. 
&lt;/p&gt;
&lt;p class="code"&gt;
Int32 intValue = Int32.Parse(str); 
&lt;/p&gt;
&lt;p align="justify"&gt;
&lt;strong&gt;&lt;u&gt;Convert&lt;/u&gt;&lt;/strong&gt;: This function checks for a null value and if the value is null, it&amp;nbsp;returns 0 instead of throwing an exception. If the string is not a numerical value, the method throws &lt;strong&gt;FormatException&lt;/strong&gt;. If the extracted number is too big, it throws&amp;nbsp;&lt;strong&gt;OverflowException&lt;/strong&gt;.&amp;nbsp; 
&lt;/p&gt;
&lt;p class="code"&gt;
Int32 intValue = Convert.ToInt32(str); 
&lt;/p&gt;
&lt;p align="justify"&gt;
&lt;strong&gt;&lt;u&gt;TryParse&lt;/u&gt;&lt;/strong&gt;: This function is new in .Net 2.0. Since exception handling is very slow, &lt;strong&gt;TryParse&lt;/strong&gt; function returns a boolean indicating if it was able to successfully parse a number instead of throwing an exception. Therefore, you have to pass into &lt;strong&gt;TryParse&lt;/strong&gt; both the string to be parsed and an out parameter to fill in. Using the &lt;strong&gt;TryParse&lt;/strong&gt; static method, you can avoid the exception and ambiguous result when the string is null. 
&lt;/p&gt;
&lt;p class="code"&gt;
bool isParsed = Int32.TryParse(str, out intValue); 
&lt;/p&gt;
&lt;h3&gt;Examples: &lt;/h3&gt;&lt;br /&gt;
&lt;p class="code"&gt;
string str1 = &amp;quot;1234&amp;quot;; &lt;br /&gt;
string str2 = &amp;quot;1234.65&amp;quot;; &lt;br /&gt;
string str3 = null; &lt;br /&gt;
string str4 = &amp;quot;999999999999999999999999999999999999999999&amp;quot;; &lt;br /&gt;
&lt;br /&gt;
int intValue; &lt;br /&gt;
bool isParsed; &lt;br /&gt;
&lt;br /&gt;
intValue= Int32.Parse(str1); //1234 &lt;br /&gt;
intValue= Int32.Parse(str2); //throws FormatException &lt;br /&gt;
intValue= Int32.Parse(str3); //throws ArgumentNullException &lt;br /&gt;
intValue= Int32.Parse(str4); //throws OverflowException &lt;br /&gt;
&lt;br /&gt;
intValue= Convert.ToInt32(str1); //1234&lt;br /&gt;
intValue= Convert.ToInt32(str2); //throws FormatException &lt;br /&gt;
intValue= Convert.ToInt32(str3); //0 &lt;br /&gt;
intValue= Convert.ToInt32(str4); //throws OverflowException &lt;br /&gt;
&lt;br /&gt;
isParsed= Int32.TryParse(str1, out intValue); //isParsed=true&amp;nbsp; 1234&lt;br /&gt;
isParsed= Int32.TryParse(str2, out intValue); //isParsed=false 0&lt;br /&gt;
isParsed= Int32.TryParse(str3, out intValue); //isParsed=false 0&lt;br /&gt;
isParsed= Int32.TryParse(str4, out intValue); //isParsed=false 0 
&lt;/p&gt;
&lt;div class="socialBookmarksContainer"&gt;&lt;a rel="nofollow" href="http://digg.com/submit/?url=http://www.bloggingdeveloper.com/post/Convert-Parse-and-TryParse-Methods---Comparing-String-to-Numerical-Conversion-Methods.aspx" target="_blank" title="Digg It!"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/digg_24.png" style="border: 0;" alt="Digg It!" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.dzone.com/links/add.html?url=http://www.bloggingdeveloper.com/post/Convert-Parse-and-TryParse-Methods---Comparing-String-to-Numerical-Conversion-Methods.aspx&amp;amp;title=Convert, Parse and TryParse Methods - Comparing String to Number Conversion Methods" target="_blank" title="DZone It!"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/dzone_24.png" style="border: 0;" alt="DZone It!" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.stumbleupon.com/submit?url=http://www.bloggingdeveloper.com/post/Convert-Parse-and-TryParse-Methods---Comparing-String-to-Numerical-Conversion-Methods.aspx" target="_blank" title="StumbleUpon"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/stumbleupon_24.png" style="border: 0;" alt="StumbleUpon" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://technorati.com/ping?url=http://www.bloggingdeveloper.com/" target="_blank" title="Technorati"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/technorati_24.png" style="border: 0;" alt="Technorati" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://reddit.com/submit?url=http://www.bloggingdeveloper.com/post/Convert-Parse-and-TryParse-Methods---Comparing-String-to-Numerical-Conversion-Methods.aspx&amp;amp;title=Convert, Parse and TryParse Methods - Comparing String to Number Conversion Methods" target="_blank" title="Reddit"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/reddit_24.png" style="border: 0;" alt="Reddit" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://del.icio.us/post?url=http://www.bloggingdeveloper.com/post/Convert-Parse-and-TryParse-Methods---Comparing-String-to-Numerical-Conversion-Methods.aspx&amp;amp;title=Convert, Parse and TryParse Methods - Comparing String to Number Conversion Methods" target="_blank" title="Del.icio.us"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/delicious_24.png" style="border: 0;" alt="Del.icio.us" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.newsvine.com/_wine/save?u=http://www.bloggingdeveloper.com/post/Convert-Parse-and-TryParse-Methods---Comparing-String-to-Numerical-Conversion-Methods.aspx" target="_blank"title="NewsVine"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/newsvine_24.png" style="border: 0;" alt="NewsVine" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://furl.net" target="_blank" title="Furl"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/furl_24.png" style="border: 0;" alt="Furl" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://blinklist.com/submit/" target="_blank" title="BlinkList"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/blinklist_24.png" style="border: 0;" alt="BlinkList" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/izZhG-qv6ww" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/izZhG-qv6ww/post.aspx</link><author>bloggingdeveloper.nospam@nospam.bloggingdeveloper.com (Blogging Developer)</author><comments>http://www.bloggingdeveloper.com/post/Convert-Parse-and-TryParse-Methods---Comparing-String-to-Numerical-Conversion-Methods.aspx#comment</comments><guid isPermaLink="false">http://www.bloggingdeveloper.com/post.aspx?id=c0fd5efc-d88f-4af1-8bf0-7b737536ac2d</guid><pubDate>Mon, 17 Sep 2007 20:54:00 +0300</pubDate><category>C#</category><category>All</category><category>Performance</category><dc:publisher>Blogging Developer</dc:publisher><pingback:server>http://www.bloggingdeveloper.com/pingback.axd</pingback:server><pingback:target>http://www.bloggingdeveloper.com/post.aspx?id=c0fd5efc-d88f-4af1-8bf0-7b737536ac2d</pingback:target><slash:comments>1</slash:comments><trackback:ping>http://www.bloggingdeveloper.com/trackback.axd?id=c0fd5efc-d88f-4af1-8bf0-7b737536ac2d</trackback:ping><wfw:comment>http://www.bloggingdeveloper.com/post/Convert-Parse-and-TryParse-Methods---Comparing-String-to-Numerical-Conversion-Methods.aspx#comment</wfw:comment><wfw:commentRss>http://www.bloggingdeveloper.com/syndication.axd?post=c0fd5efc-d88f-4af1-8bf0-7b737536ac2d</wfw:commentRss><feedburner:origLink>http://www.bloggingdeveloper.com/post.aspx?id=c0fd5efc-d88f-4af1-8bf0-7b737536ac2d</feedburner:origLink></item><item><title>Links for 2007-09-12 [del.icio.us]</title><link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/TaskCXbso2M/bloggingdeveloper</link><pubDate>Thu, 13 Sep 2007 00:00:00 PDT</pubDate><guid isPermaLink="false">http://del.icio.us/bloggingdeveloper#2007-09-12</guid><description>&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.bloggingdeveloper.com/post/Using-JavaScript-with-ASPNET.aspx"&gt;Using JavaScript with ASP.NET&lt;/a&gt;&lt;br/&gt;
ASP.NET provides a powerful server-based programming model with its postback architecture that allows performing all the work on the server while ensuring security and compatibility. The most significant weakness of postback architecture is its overhead.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.bloggingdeveloper.com/post/Cross-Browser-JavaScript-Events--Commonly-Supported-Events-that-are-Safe-to-Use.aspx"&gt;Cross-Browser JavaScript Events - Commonly Supported Events that are Safe to Use&lt;/a&gt;&lt;br/&gt;
The combination of JavaScript and HTML is called as DHTML (Dynamic HTML). Since not all browsers support the same level of DHTML, the events you can use and the way events work vary from browser to browser. 

The following table contains the JavaScript&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.bloggingdeveloper.com/post/Limiting-the-File-Upload-Size-in-ASPNET.aspx"&gt;Limiting the File Upload Size in ASP.NET&lt;/a&gt;&lt;br/&gt;
By default, the maximum size of a file to be uploaded to a server using the ASP.NET FileUpload control is 4MB. You cannot upload anything that is larger than this limit. To change this size limit, you have to make some changes in the application&amp;#039;s web.con&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/TaskCXbso2M" height="1" width="1"/&gt;</description><feedburner:origLink>http://del.icio.us/bloggingdeveloper#2007-09-12</feedburner:origLink></item><item><title>Limiting the File Upload Size in ASP.NET</title><description>&lt;p align="justify"&gt;
By default, the maximum size of a file to be uploaded to a server using the ASP.NET FileUpload control is 4MB. You cannot upload anything that is larger than this limit.
&lt;/p&gt;
&lt;p align="justify"&gt;
To change this size limit, you have to make some changes in the application&amp;#39;s web.config:
&lt;/p&gt;
&lt;p class="code"&gt;
&amp;lt;system.web&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;lt;httpRuntime&amp;nbsp; maxRequestLength=&amp;quot;102400&amp;quot; executionTimeout=&amp;quot;360&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/system.web&amp;gt;
&lt;/p&gt;
&lt;p align="justify"&gt;
&lt;strong&gt;maxRequestLength&lt;/strong&gt; - Attribute limits the file upload size for ASP.NET application. This limit can be used to prevent &lt;strong&gt;denial of service attacks&lt;/strong&gt; (DOS) caused by users posting large files to the server. The size specified is in kilobytes. As mentioned earlier, the default is &amp;quot;4096&amp;quot; (4 MB). Max value is &amp;quot;1048576&amp;quot; (1 GB) for .NET Framework 1.0/1.1 and &amp;quot;2097151&amp;quot; (2 GB) for .NET Framework 2.0.
&lt;/p&gt;
&lt;p align="justify"&gt;
&lt;strong&gt;executionTimeout&lt;/strong&gt; - Attribute indicates the maximum number of seconds that a request is allowed to execute before being automatically shut down by the application. The executionTimeout value should always be longer than the amount of time that the upload process can take.
&lt;/p&gt;
&lt;div class="socialBookmarksContainer"&gt;&lt;a rel="nofollow" href="http://digg.com/submit/?url=http://www.bloggingdeveloper.com/post/Limiting-the-File-Upload-Size-in-ASPNET.aspx" target="_blank" title="Digg It!"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/digg_24.png" style="border: 0;" alt="Digg It!" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.dzone.com/links/add.html?url=http://www.bloggingdeveloper.com/post/Limiting-the-File-Upload-Size-in-ASPNET.aspx&amp;amp;title=Limiting the File Upload Size in ASP.NET" target="_blank" title="DZone It!"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/dzone_24.png" style="border: 0;" alt="DZone It!" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.stumbleupon.com/submit?url=http://www.bloggingdeveloper.com/post/Limiting-the-File-Upload-Size-in-ASPNET.aspx" target="_blank" title="StumbleUpon"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/stumbleupon_24.png" style="border: 0;" alt="StumbleUpon" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://technorati.com/ping?url=http://www.bloggingdeveloper.com/" target="_blank" title="Technorati"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/technorati_24.png" style="border: 0;" alt="Technorati" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://reddit.com/submit?url=http://www.bloggingdeveloper.com/post/Limiting-the-File-Upload-Size-in-ASPNET.aspx&amp;amp;title=Limiting the File Upload Size in ASP.NET" target="_blank" title="Reddit"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/reddit_24.png" style="border: 0;" alt="Reddit" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://del.icio.us/post?url=http://www.bloggingdeveloper.com/post/Limiting-the-File-Upload-Size-in-ASPNET.aspx&amp;amp;title=Limiting the File Upload Size in ASP.NET" target="_blank" title="Del.icio.us"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/delicious_24.png" style="border: 0;" alt="Del.icio.us" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.newsvine.com/_wine/save?u=http://www.bloggingdeveloper.com/post/Limiting-the-File-Upload-Size-in-ASPNET.aspx" target="_blank"title="NewsVine"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/newsvine_24.png" style="border: 0;" alt="NewsVine" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://furl.net" target="_blank" title="Furl"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/furl_24.png" style="border: 0;" alt="Furl" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://blinklist.com/submit/" target="_blank" title="BlinkList"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/blinklist_24.png" style="border: 0;" alt="BlinkList" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/oyXj0BxBhcE" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/oyXj0BxBhcE/post.aspx</link><author>bloggingdeveloper.nospam@nospam.bloggingdeveloper.com (Blogging Developer)</author><comments>http://www.bloggingdeveloper.com/post/Limiting-the-File-Upload-Size-in-ASPNET.aspx#comment</comments><guid isPermaLink="false">http://www.bloggingdeveloper.com/post.aspx?id=d27dba20-905d-49a2-a3af-af78378f54c6</guid><pubDate>Wed, 12 Sep 2007 21:48:00 +0300</pubDate><category>ASP.NET</category><category>All</category><dc:publisher>Blogging Developer</dc:publisher><pingback:server>http://www.bloggingdeveloper.com/pingback.axd</pingback:server><pingback:target>http://www.bloggingdeveloper.com/post.aspx?id=d27dba20-905d-49a2-a3af-af78378f54c6</pingback:target><slash:comments>1</slash:comments><trackback:ping>http://www.bloggingdeveloper.com/trackback.axd?id=d27dba20-905d-49a2-a3af-af78378f54c6</trackback:ping><wfw:comment>http://www.bloggingdeveloper.com/post/Limiting-the-File-Upload-Size-in-ASPNET.aspx#comment</wfw:comment><wfw:commentRss>http://www.bloggingdeveloper.com/syndication.axd?post=d27dba20-905d-49a2-a3af-af78378f54c6</wfw:commentRss><feedburner:origLink>http://www.bloggingdeveloper.com/post.aspx?id=d27dba20-905d-49a2-a3af-af78378f54c6</feedburner:origLink></item><item><title>Using JavaScript with ASP.NET</title><description>&lt;p align="justify"&gt;
ASP.NET provides a powerful server-based programming model with its postback architecture that allows performing all the work on the server while ensuring security and compatibility. The most significant weakness of postback architecture is its &lt;strong&gt;overhead&lt;/strong&gt;. It is impossible to react to mouse movements or key presses on the server efficiently. 
&lt;/p&gt;
&lt;p align="justify"&gt;
To overcome this weakness, developers use &lt;strong&gt;client-side JavaScript&lt;/strong&gt;. This client-side script allows developers to react user events without posting back (submitting to the server). 
&lt;/p&gt;
&lt;p align="justify"&gt;
JavaScript is embedded directly into an HTML web page. The code is downloaded to the client computer and executed by the browser.  
&lt;/p&gt;
&lt;p align="justify"&gt;
The most straightforward approach for embedding small amounts of JavaScript code is adding directly to an event attribute for an HTML element. If you want to run the code automatically when the page loads, or react to a client-side event, you can add  tag that contains the script code.
&lt;/p&gt;
&lt;p align="justify"&gt;
Usually, developers define a function in a  block and then attach the function to a client-side event using an event attribute. 
&lt;/p&gt;
&lt;p class="code"&gt;
&amp;lt;script language=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; Function alertOnClick(){ alert(&amp;ldquo;Clicked!&amp;rdquo;);}&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p class="code"&gt;
Protected void Page_Load(object sender, System.EventArgs e)&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp; button1.Attributes.Add(&amp;ldquo;onClick&amp;rdquo;,&amp;rdquo;alertOnClick();&amp;rdquo;)&lt;br /&gt;
} 
&lt;/p&gt;
&lt;p align="justify"&gt;
Whether you use event attributes, script blocks or both, you may directly add static JavaScript code to the .aspx page or you may embed code by using the methods of the Page class.
&lt;/p&gt;
&lt;p align="justify"&gt;
The code above adds the &lt;strong&gt;onClick&lt;/strong&gt; attribute to the button1 control. When the user click on the button, the event occurs and the JavaScript &lt;strong&gt;alert()&lt;/strong&gt; function is called and &amp;ldquo;Clicked&amp;rdquo; message is displayed.
&lt;/p&gt;
&lt;p align="justify"&gt;
Usually, you have to insert JavaScript by adding attributes to a control with one exception. In button (button,linkbutton ,imagebutton) controls&amp;#39; clicks, you can use OnClientClick property. 
&lt;/p&gt;
&lt;p class="code"&gt;
&amp;lt;asp:button id=&amp;quot;btnClick&amp;quot; runat=&amp;quot;server&amp;quot;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OnClientClick=&amp;quot;return confirm(&amp;#39;Sure?&amp;#39;);&amp;quot;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; text=&amp;quot;Click Me&amp;quot;/&amp;gt; 
&lt;/p&gt;
&lt;p align="justify"&gt;
The button click still post back the page but before posting back, client side confirmation prompt is displayed.
&lt;/p&gt;
&lt;p align="justify"&gt;
Common approach for a large amount of code is to place a JavaScript function in a  block and then call that function using an event attribute. This approach is even more practical, if you need to use the same code for several times.
&lt;/p&gt;
&lt;p align="justify"&gt;
The script blocks can be embedded anywhere in the header or the body of an HTML document, and a single document can have any number of script blocks. However, if you need to call a function, that function must be defined in a script block before the event attribute that calls it. Otherwise, it is better to place scripts to the end of the document. Progressive rendering is blocked until all JavaScript have been downloaded. Scripts cause progressive rendering to stop for all content below the script until it is fully loaded.
&lt;/p&gt;
&lt;p&gt;
For more details: &lt;a href="http://www.bloggingdeveloper.com/post/7-Easy-to-Apply-Tips-to-Improve-Your-Web-Site-Performance.aspx" title="7 Easy-to-Apply Tips to Improve Your Web Site Performance"&gt;7 Easy-to-Apply Tips to Improve Your Web Site Performance&lt;/a&gt;
&lt;/p&gt;
&lt;p align="justify"&gt;
The  tag takes a language attribute that specifies the language and version. Browsers ignore script blocks for languages they don&amp;rsquo;t support.
&lt;/p&gt;
&lt;p align="justify"&gt;
You can also use the &lt;strong&gt;src&lt;/strong&gt; attribute to embed external javascripts files. These files usually contain complex JavaScript. Using external files generally produces faster pages because the JavaScript files are cached by the browser.
&lt;/p&gt;
&lt;p align="justify"&gt;
It&amp;rsquo;s more flexible to render script blocks using the &lt;strong&gt;Page.ClientScript&lt;/strong&gt; property, which exposes a &lt;strong&gt;ClientScriptManager&lt;/strong&gt; object that provides several useful methods for managing script blocks. Two of the most useful are: &lt;strong&gt;RegisterStartupScript&lt;/strong&gt; and &lt;strong&gt;RegisterClientScriptBlock.&lt;/strong&gt;
&lt;/p&gt;
&lt;p align="justify"&gt;
&lt;strong&gt;RegisterClientScriptBlock()&lt;/strong&gt; is designed for functions that are called in response to JavaScript events. YThese  blocks can be placed anywhere in the HTML document. The &lt;strong&gt;RegisterStartupScript()&lt;/strong&gt; is meant to add JavaScript code that will be executed immediately when the page loads.
&lt;/p&gt;
&lt;p align="justify"&gt;
When you use &lt;strong&gt;RegisterClientScriptBlock()&lt;/strong&gt; and &lt;strong&gt;RegisterStartupScript()&lt;/strong&gt;, you also specify a key name for the script block. For example, if your function shows an alert, you might use a unique key name such as ShowAlert. The purpose is to ensure that ASP.NET doesn&amp;rsquo;t add the same script function more than once.
&lt;/p&gt;
&lt;p class="code"&gt;
protected void Page_Load(object sender, System.EventArgs e)&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp; string script = @&amp;quot;&amp;lt;script language=&amp;#39;JavaScript&amp;#39;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; function ShowAlert() {&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var msg = &amp;#39;Submitted!!&amp;#39;;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return alert(msg);}&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; &amp;lt;/script&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp; Page.ClientScript.RegisterClientScriptBlock(this.GetType(), &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;quot;ShowAlert&amp;quot;, script); &lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; form1.Attributes.Add(&amp;quot;onSubmit&amp;quot;, &amp;quot;return ShowAlert();&amp;quot;);&lt;br /&gt;
} 
&lt;/p&gt;
&lt;p align="justify"&gt;
The build in Page.ClientScript object allows you to place JavaScript inside an ASP.NET page. We cannot use this object to place JavaScript code or JavaScript include file into the head section of the page.
&lt;/p&gt;
&lt;p align="justify"&gt;
Fortunately, Simone B created a library, to include/register scripts and style sheets into the head portion of an ASP.NET page.
&lt;/p&gt;
&lt;p&gt;
For more details: &lt;a href="http://www.bloggingdeveloper.com/post/HeadScriptManager---A-class-library-for-registering-scripts-into-the-page-header-with-ASPNET-20.aspx" title="HeadScriptManager - A class library for registering scripts into the page header with ASP.NET 2.0"&gt;HeadScriptManager - A class library for registering scripts into the page header with ASP.NET 2.0&lt;/a&gt;
&lt;/p&gt;
&lt;div class="socialBookmarksContainer"&gt;&lt;a rel="nofollow" href="http://digg.com/submit/?url=http://www.bloggingdeveloper.com/post/Using-JavaScript-with-ASPNET.aspx" target="_blank" title="Digg It!"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/digg_24.png" style="border: 0;" alt="Digg It!" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.dzone.com/links/add.html?url=http://www.bloggingdeveloper.com/post/Using-JavaScript-with-ASPNET.aspx&amp;amp;title=Using JavaScript with ASP.NET" target="_blank" title="DZone It!"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/dzone_24.png" style="border: 0;" alt="DZone It!" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.stumbleupon.com/submit?url=http://www.bloggingdeveloper.com/post/Using-JavaScript-with-ASPNET.aspx" target="_blank" title="StumbleUpon"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/stumbleupon_24.png" style="border: 0;" alt="StumbleUpon" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://technorati.com/ping?url=http://www.bloggingdeveloper.com/" target="_blank" title="Technorati"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/technorati_24.png" style="border: 0;" alt="Technorati" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://reddit.com/submit?url=http://www.bloggingdeveloper.com/post/Using-JavaScript-with-ASPNET.aspx&amp;amp;title=Using JavaScript with ASP.NET" target="_blank" title="Reddit"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/reddit_24.png" style="border: 0;" alt="Reddit" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://del.icio.us/post?url=http://www.bloggingdeveloper.com/post/Using-JavaScript-with-ASPNET.aspx&amp;amp;title=Using JavaScript with ASP.NET" target="_blank" title="Del.icio.us"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/delicious_24.png" style="border: 0;" alt="Del.icio.us" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.newsvine.com/_wine/save?u=http://www.bloggingdeveloper.com/post/Using-JavaScript-with-ASPNET.aspx" target="_blank"title="NewsVine"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/newsvine_24.png" style="border: 0;" alt="NewsVine" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://furl.net" target="_blank" title="Furl"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/furl_24.png" style="border: 0;" alt="Furl" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://blinklist.com/submit/" target="_blank" title="BlinkList"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/blinklist_24.png" style="border: 0;" alt="BlinkList" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/1exyV7QXzhg" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/1exyV7QXzhg/post.aspx</link><author>bloggingdeveloper.nospam@nospam.bloggingdeveloper.com (Blogging Developer)</author><comments>http://www.bloggingdeveloper.com/post/Using-JavaScript-with-ASPNET.aspx#comment</comments><guid isPermaLink="false">http://www.bloggingdeveloper.com/post.aspx?id=5ef61430-c7d4-4a85-b7c4-5fd4c9ef3f2f</guid><pubDate>Wed, 12 Sep 2007 13:25:00 +0300</pubDate><category>JavaScript</category><category>ASP.NET</category><category>C#</category><category>All</category><dc:publisher>Blogging Developer</dc:publisher><pingback:server>http://www.bloggingdeveloper.com/pingback.axd</pingback:server><pingback:target>http://www.bloggingdeveloper.com/post.aspx?id=5ef61430-c7d4-4a85-b7c4-5fd4c9ef3f2f</pingback:target><slash:comments>8</slash:comments><trackback:ping>http://www.bloggingdeveloper.com/trackback.axd?id=5ef61430-c7d4-4a85-b7c4-5fd4c9ef3f2f</trackback:ping><wfw:comment>http://www.bloggingdeveloper.com/post/Using-JavaScript-with-ASPNET.aspx#comment</wfw:comment><wfw:commentRss>http://www.bloggingdeveloper.com/syndication.axd?post=5ef61430-c7d4-4a85-b7c4-5fd4c9ef3f2f</wfw:commentRss><feedburner:origLink>http://www.bloggingdeveloper.com/post.aspx?id=5ef61430-c7d4-4a85-b7c4-5fd4c9ef3f2f</feedburner:origLink></item><item><title>Cross-Browser JavaScript Events - Commonly Supported Events that are Safe to Use</title><description>&lt;p align="justify"&gt;
The combination of JavaScript and HTML is called as DHTML (Dynamic HTML). Since not all browsers support the same level of DHTML, the events you can use and the way events work vary from browser to browser. 
&lt;/p&gt;
&lt;p align="justify"&gt;
The following table contains the JavaScript events that are safe for browsers (Cross-Browser) that support JavaScript.&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&lt;table border="0" summary="Cross-Browser JavaScript Events"&gt;
	&lt;caption&gt;Cross-Browser JavaScript Events&lt;/caption&gt;
	&lt;thead&gt;
		&lt;tr&gt;
			&lt;th scope="col"&gt;Event&lt;/th&gt;
			&lt;th scope="col"&gt;Description&lt;/th&gt;
			&lt;th scope="col"&gt;Applies To&lt;/th&gt;
		&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
		&lt;tr&gt;
			&lt;td id="event"&gt;onClick&lt;/td&gt;
			&lt;td&gt;Occurs when the user clicks on a control&lt;/td&gt;
			&lt;td id="appliesto"&gt;button, area, checkbox, radio, link&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td id="event"&gt;onChange&lt;/td&gt;
			&lt;td&gt;Occurs when the user changes value in an iput control. The
			event fires after user changes focus to another control in text
			controls&lt;/td&gt;
			&lt;td id="appliesto"&gt;select, text, textarea&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td id="event"&gt;onFocus&lt;/td&gt;
			&lt;td&gt;Occurs when a control is focused&lt;/td&gt;
			&lt;td id="appliesto"&gt;select, text, textarea&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td id="event"&gt;onBlur&lt;/td&gt;
			&lt;td&gt;Occurs when focus leaves a control&lt;/td&gt;
			&lt;td id="appliesto"&gt;select, text, textarea&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td id="event"&gt;onLoad&lt;/td&gt;
			&lt;td&gt;Occurs when a page finishes downloading&lt;/td&gt;
			&lt;td id="appliesto"&gt;window, location&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td id="event"&gt;onUnload&lt;/td&gt;
			&lt;td&gt;Occurs after a link has been clicked or a new URL has been
			entered just before the download of the new page.&lt;/td&gt;
			&lt;td id="appliesto"&gt;window&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td id="event"&gt;onMouseOver&lt;/td&gt;
			&lt;td&gt;Occurs when the user moves the mouse over a control&lt;/td&gt;
			&lt;td id="appliesto"&gt;link, area&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td id="event"&gt;onMouseOut&lt;/td&gt;
			&lt;td&gt;Occurs when the user moves the mouse away from a control&lt;/td&gt;
			&lt;td id="appliesto"&gt;link, area&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td id="event"&gt;onKeyUp&lt;/td&gt;
			&lt;td&gt;Occurs when the user releases a key&lt;/td&gt;
			&lt;td id="appliesto"&gt;text, textarea&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td id="event"&gt;onKeyDown&lt;/td&gt;
			&lt;td&gt;Occurs when the user presses a key&lt;/td&gt;
			&lt;td id="appliesto"&gt;text, textarea&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td id="event"&gt;onSelect&lt;/td&gt;
			&lt;td&gt;Occurs when the user selects a text on an input control&lt;/td&gt;
			&lt;td id="appliesto"&gt;text, textarea&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td id="event"&gt;onAbort&lt;/td&gt;
			&lt;td&gt;Occurs when the user cancels an image download&lt;/td&gt;
			&lt;td id="appliesto"&gt;image&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td id="event"&gt;onError&lt;/td&gt;
			&lt;td&gt;Occurs when an image cannot be downloaded&lt;/td&gt;
			&lt;td id="appliesto"&gt;image&lt;/td&gt;
		&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;/p&gt;
&lt;br /&gt;
&lt;p&gt;
The JavaScript events listed above are tested on:
&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;Internet Explorer 5&lt;/li&gt; 
	&lt;li&gt;Internet Explorer 5.5&lt;/li&gt;
	&lt;li&gt;Internet Explorer 6&lt;/li&gt;  
	&lt;li&gt;Internet Explorer 7&lt;/li&gt;
	&lt;li&gt;Mozilla Firefox 2+&lt;/li&gt;  
	&lt;li&gt;Mozilla 1.75+&lt;/li&gt;
	&lt;li&gt;Safari 1.3+&lt;/li&gt;
	&lt;li&gt;Opera 8+&lt;/li&gt;
	&lt;li&gt;Netscape 4+&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;p&gt;
For more details on Javascript event compatibility: &lt;a rel="nofollow" href="http://www.quirksmode.org/js/events_compinfo.html" target="_blank"&gt;Event compatibility tables&lt;/a&gt;
&lt;/p&gt;
&lt;div class="socialBookmarksContainer"&gt;&lt;a rel="nofollow" href="http://digg.com/submit/?url=http://www.bloggingdeveloper.com/post/Cross-Browser-JavaScript-Events--Commonly-Supported-Events-that-are-Safe-to-Use.aspx" target="_blank" title="Digg It!"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/digg_24.png" style="border: 0;" alt="Digg It!" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.dzone.com/links/add.html?url=http://www.bloggingdeveloper.com/post/Cross-Browser-JavaScript-Events--Commonly-Supported-Events-that-are-Safe-to-Use.aspx&amp;amp;title=Cross-Browser JavaScript Events - Commonly Supported Events that are Safe to Use" target="_blank" title="DZone It!"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/dzone_24.png" style="border: 0;" alt="DZone It!" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.stumbleupon.com/submit?url=http://www.bloggingdeveloper.com/post/Cross-Browser-JavaScript-Events--Commonly-Supported-Events-that-are-Safe-to-Use.aspx" target="_blank" title="StumbleUpon"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/stumbleupon_24.png" style="border: 0;" alt="StumbleUpon" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://technorati.com/ping?url=http://www.bloggingdeveloper.com/" target="_blank" title="Technorati"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/technorati_24.png" style="border: 0;" alt="Technorati" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://reddit.com/submit?url=http://www.bloggingdeveloper.com/post/Cross-Browser-JavaScript-Events--Commonly-Supported-Events-that-are-Safe-to-Use.aspx&amp;amp;title=Cross-Browser JavaScript Events - Commonly Supported Events that are Safe to Use" target="_blank" title="Reddit"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/reddit_24.png" style="border: 0;" alt="Reddit" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://del.icio.us/post?url=http://www.bloggingdeveloper.com/post/Cross-Browser-JavaScript-Events--Commonly-Supported-Events-that-are-Safe-to-Use.aspx&amp;amp;title=Cross-Browser JavaScript Events - Commonly Supported Events that are Safe to Use" target="_blank" title="Del.icio.us"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/delicious_24.png" style="border: 0;" alt="Del.icio.us" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.newsvine.com/_wine/save?u=http://www.bloggingdeveloper.com/post/Cross-Browser-JavaScript-Events--Commonly-Supported-Events-that-are-Safe-to-Use.aspx" target="_blank"title="NewsVine"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/newsvine_24.png" style="border: 0;" alt="NewsVine" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://furl.net" target="_blank" title="Furl"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/furl_24.png" style="border: 0;" alt="Furl" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://blinklist.com/submit/" target="_blank" title="BlinkList"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/blinklist_24.png" style="border: 0;" alt="BlinkList" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/X8v_sMfCcRw" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/X8v_sMfCcRw/post.aspx</link><author>bloggingdeveloper.nospam@nospam.bloggingdeveloper.com (Blogging Developer)</author><comments>http://www.bloggingdeveloper.com/post/Cross-Browser-JavaScript-Events--Commonly-Supported-Events-that-are-Safe-to-Use.aspx#comment</comments><guid isPermaLink="false">http://www.bloggingdeveloper.com/post.aspx?id=0db141ac-b23e-4bf2-934d-21d129e6efb3</guid><pubDate>Wed, 12 Sep 2007 10:47:00 +0300</pubDate><category>JavaScript</category><category>All</category><dc:publisher>Blogging Developer</dc:publisher><pingback:server>http://www.bloggingdeveloper.com/pingback.axd</pingback:server><pingback:target>http://www.bloggingdeveloper.com/post.aspx?id=0db141ac-b23e-4bf2-934d-21d129e6efb3</pingback:target><slash:comments>0</slash:comments><trackback:ping>http://www.bloggingdeveloper.com/trackback.axd?id=0db141ac-b23e-4bf2-934d-21d129e6efb3</trackback:ping><wfw:comment>http://www.bloggingdeveloper.com/post/Cross-Browser-JavaScript-Events--Commonly-Supported-Events-that-are-Safe-to-Use.aspx#comment</wfw:comment><wfw:commentRss>http://www.bloggingdeveloper.com/syndication.axd?post=0db141ac-b23e-4bf2-934d-21d129e6efb3</wfw:commentRss><feedburner:origLink>http://www.bloggingdeveloper.com/post.aspx?id=0db141ac-b23e-4bf2-934d-21d129e6efb3</feedburner:origLink></item><item><title>Links for 2007-09-10 [del.icio.us]</title><link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/Lm6OV-7UY0E/bloggingdeveloper</link><pubDate>Tue, 11 Sep 2007 00:00:00 PDT</pubDate><guid isPermaLink="false">http://del.icio.us/bloggingdeveloper#2007-09-10</guid><description>&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.bloggingdeveloper.com/post/7-Easy-to-Apply-Tips-to-Improve-Your-Web-Site-Performance.aspx"&gt;7 Easy-to-Apply Tips to Improve Your Web Site Performance&lt;/a&gt;&lt;br/&gt;
lot of articles have been written on website performance optimization lately but I want to share my hands-on-experience and important articles on the subject.

There are two types of performance:

    * Server Performance
    * Perceived Performance&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.bloggingdeveloper.com/post/How-To-Minimize-HTTP-Requests-The-Most-Important-Guideline-for-Improving-Web-Site-Performance.aspx"&gt;How To: Minimize HTTP Requests &amp;ndash; The Most Important Guideline for Improving Web Site Performance&lt;/a&gt;&lt;br/&gt;
n my previous article 7 Easy-to-Apply Tips to Improve Your Web Site Performance, I described methods to achieve better client-side performance.  The conclusion of the article was: “The most important and effective way to improve web site performance is&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/Lm6OV-7UY0E" height="1" width="1"/&gt;</description><feedburner:origLink>http://del.icio.us/bloggingdeveloper#2007-09-10</feedburner:origLink></item><item><title>7 Easy-to-Apply Tips to Improve Your Web Site Performance</title><description>&lt;p align="justify"&gt;
A lot of articles have been written on website performance optimization lately but I want to share my hands-on-experience and important articles on the subject.
&lt;/p&gt;
&lt;p align="justify"&gt;
There are two types of performance:
&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;&lt;strong&gt;Server Performance&lt;/strong&gt;&lt;/li&gt;
	&lt;li&gt;&lt;strong&gt;Perceived Performance&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;p align="justify"&gt;
Server Performance is associated with the number requests that a server can handle at a time and the time needed to process these requests. On high volume websites, since it determines the number of users a machine can serve before additional server is needed, this performance aspect is very important.
&lt;/p&gt;
&lt;p align="justify"&gt;
Perceived Performance is the speed of websites in visitors&amp;rsquo; perspective. Even if the server performance is high, a site may appear slow to a visitor because of slow client-side performance.
&lt;/p&gt;
&lt;p align="justify"&gt;
This article focuses perceived performance tuning by supplying reasons for poor client-side performance and details out how we can achieve better client-side performance.
&lt;/p&gt;
&lt;h2&gt;1. Make Fewer HTTP Requests&lt;/h2&gt;
&lt;br /&gt;
&lt;p align="justify"&gt;
A dedicated team focused on quantifying and improving the performance of Yahoo! Products worldwide conducted experiments to learn more about optimizing web page performance. They discovered that popular sites spend between 5% and 38% of the time downloading the HTML document. The other 62% to 95% of the time is spent making HTTP requests to get components in the HTML document. 
&lt;/p&gt;
&lt;div id="articleimg"&gt;
&lt;div id="image"&gt;
&lt;img src="/posts/performance/pageload.gif" alt="Each bar represents a specific component requested by the browser" title="Only 10% of 2.4 seconds is spent for downloading the html of Yahoo.com" /&gt;
&lt;/div&gt;
&lt;div id="explanation"&gt;
Each bar represents a specific component requested by the browser - Only 10% of 2.4 seconds is spent for downloading the html of Yahoo.com
&lt;/div&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;p align="justify"&gt;
Since browsers only are able to download two components on parallel per hostname, and every HTTP request has an average round-trip latency of 0.2 seconds, that causes a 2 second latency alone, if the site is loading 20 items, regardless of whether they are style sheets, images or scripts. (on an average broadband connection with a browser capable of downloading two components at a time).
&lt;/p&gt;
&lt;p align="justify"&gt;
Since browsers spend approximately 80% of the time fetching external components such as scripts, style sheets and images. Reducing the number of HTTP requests has the biggest impact on improving website performance. Moreover, it is the easiest way to make a performance improvement.
&lt;/p&gt;
&lt;p class="update"&gt;
&lt;strong class="updatetitle"&gt;UPDATE&lt;/strong&gt;
&lt;a href="http://www.bloggingdeveloper.com/post/How-To-Minimize-HTTP-Requests-The-Most-Important-Guideline-for-Improving-Web-Site-Performance.aspx" title=" How To: Minimize HTTP Requests &amp;ndash; The Most Important Guideline for Improving Web Site Performance"&gt;How To: Minimize HTTP Requests &amp;ndash; The Most Important Guideline for Improving Web Site Performance&lt;/a&gt; article focuses on ways of minimizing HTTP Requests to maximize web site performance.
&lt;/p&gt;
&lt;h2&gt;2. Enforce Caching&lt;/h2&gt;
&lt;br /&gt;
&lt;p align="jsutify"&gt;
If you examine the preferences dialog of any modern Web browser (like Internet Explorer, Safari or Mozilla), you&amp;rsquo;ll probably notice a &lt;strong&gt;cache&lt;/strong&gt; setting. This lets you set a section of your computer&amp;rsquo;s hard disk to store copies of web pages, images and media for faster browsing.
&lt;/p&gt;
&lt;p align="justify"&gt;
This cache is especially useful when users hit the &lt;strong&gt;back&lt;/strong&gt; button or click a link to see a page they&amp;rsquo;ve just looked at. Also, if navigation images throughout a site are the same, they&amp;rsquo;ll be served from browser&amp;#39;s cache.
&lt;/p&gt;
&lt;div id="articleimg"&gt;
&lt;div id="image"&gt;
&lt;img src="/posts/performance/ie_temporaryinternetfiles.gif" alt="Internet Explorer Cache Settings" title="Internet Explorer Cache Settings" /&gt;
&lt;/div&gt;
&lt;div id="explanation"&gt;
Internet Explorer Cache Settings
&lt;/div&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;p align="justify"&gt;
Web caching is useful for three important reasons: 
&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;Reduce user-perceived Web-site delays, &lt;/li&gt;
	&lt;li&gt;Reduce network bandwidth usage,&lt;/li&gt;
	&lt;li&gt;Reduce server loads.&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;p align="justify"&gt;
The Yahoo! Performance Team conducted another experiment to understand the difference between an empty cache (browser requests all the components to load the page) and full cache (most of the components are found in the disk to load the page and the HTTP requests corresponding to these components are avoided). 
&lt;/p&gt;
&lt;div id="articleimg"&gt;
&lt;div id="image"&gt;
&lt;img src="/posts/performance/pageload-fullcache.gif" alt="Loading Yahoo.com with full cache" title="Loading Yahoo.com with full cache" /&gt;
&lt;/div&gt;
&lt;div id="explanation"&gt;
Loading Yahoo.com with full cache
&lt;/div&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;p align="justify"&gt;
Loading with an empty cache took 2.4 while loading with a full cache took 0.9 seconds. The full cache page view had 90% fewer HTTP requests and 83% fewer bytes to download than the empty cache page view. 
&lt;/p&gt;
&lt;h2&gt;3. Use HTTP Compression&lt;/h2&gt;
&lt;br /&gt;
&lt;p align="justify"&gt;
The time it takes to transfer an HTTP request and response across the network can be significantly reduced by making fewer http requests. On the other hand, the end-user&amp;#39;s bandwidth speed, Internet service providers are beyond the control of the development team. However compression reduces response times by reducing the size of the HTTP response. 
&lt;/p&gt;
&lt;p align="justify"&gt;
In the case of HTTP compression, a standard gzip or deflate encoding method is applied to the payload of an HTTP response, significantly compressing the resource before it is transported across the web.
&lt;/p&gt;
&lt;p align="justify"&gt;
HTTP Compression is implemented on the server side as module which applies gzip algorithm to responses as the server sends them out. Any text based content such as static HTML content, style sheets, JavaScript. It is usually possible to cache the static content in order to avoid repeatedly compressing the same file. On the other hand, dynamic content such as .asp, .aspx, .php files must be recompressed before served.  This means that there is trade off to be considered between processor utilization and payload reduction.
&lt;/p&gt;
&lt;p align="justify"&gt;
If the primary goal is bandwidth savings, the strategy should be to compress all text-based output. Ideally, this should include static text files (such as HTML and CSS) and files that produce output in text media MIME types (such as ASP and ASP.NET files), as well as files that are text based but of another media type (such as external JavaScript files).
&lt;/p&gt;
&lt;div id="articleimg"&gt;
&lt;div id="image"&gt;
&lt;img src="/posts/performance/httpcompression.gif" alt="Bloggingdeveloper.com utilizes gzip compression. 74% bandwidth is saved by compression." title="Bloggingdeveloper.com utilizes gzip compression. 74% bandwidth is saved by compression." /&gt;
&lt;/div&gt;
&lt;div id="explanation"&gt;
Bloggingdeveloper.com utilizes gzip compression. 74% bandwidth is saved by compression.
&lt;/div&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;4. Increase the Number of Parallel Requests&lt;/h2&gt;
&lt;br /&gt;
&lt;p align="justify"&gt;
As I mentioned earlier, browsers are able to download two or four components on parallel per hostname.  So we may increase the number of parallel downloads by using additional aliases such as images.bloggingdeveloper.com.  According to the results of experiments conducted by Yahoo! Performance Team, using too many hostnames increases the amount of simultaneous HTTP requests but it will also increase the amount of DNS requests which affects the performance negatively. The Performance Team mentioned a strong balance between the number of parallel HTTP requests and required DNS requests to be performed of 2 to 4 hostnames. For higher number of hostnames, you may negatively affect the performance.
&lt;/p&gt;
&lt;h2&gt;5. Place StyleSheets into the Header&lt;/h2&gt;
&lt;br /&gt;
&lt;p align="justify"&gt;
Web developers that care about performance want browser to load whatever content it has as soon as possible. This fact is especially important for pages with a lot of content and for users with slow Internet connections. When the browser loads the page progressively the header, the logo, the navigation components serve as visual feedback for the user. 
&lt;/p&gt;
&lt;p align="justify"&gt;
When we place style sheets near the bottom part of the html, most browsers stop rendering to avoid redrawing elements of the page if their styles change.   
&lt;/p&gt;
&lt;h2&gt;6. Put Scripts to the end of Document&lt;/h2&gt;
&lt;br /&gt;
&lt;p align="justify"&gt;
Unlike StyleSheets, it is better to place scripts to the end of the document. Progressive rendering is blocked until all StyleSheets have been downloaded. Scripts cause progressive rendering to stop for all content below the script until it is fully loaded. Moreover, while downloading a script, browser does not start any other component downloads, even on different hostnames. 
&lt;/p&gt;
&lt;h2&gt;7. Make JavaScript and CSS External&lt;/h2&gt;
&lt;br /&gt;
&lt;p align="justify"&gt;
Using external files generally produces faster pages because the JavaScript and CSS files are cached by the browser. Inline JavaScript and CSS increases the HTML document size but reduces the number of HTTP requests. With cached external files, the size of the HTML is kept small without increasing the number of HTTP requests.
&lt;/p&gt;
&lt;h3&gt;Additional Reading&lt;/h3&gt;
&lt;p align="justify"&gt;
&lt;a rel="nofollow" href="http://yuiblog.com/blog/2007/01/04/performance-research-part-2/" target="_blank"&gt;
Browser Cache Usage &amp;ndash; Exposed! by Tenni Theurer&lt;/a&gt;&lt;br /&gt;
&lt;a rel="nofollow" href="http://yuiblog.com/blog/2006/11/28/performance-research-part-1/" target="_blank"&gt;
What the 80/20 Rule Tells Us about Reducing HTTP Requests &amp;ndash; by Tenni Theurer&lt;/a&gt;&lt;br /&gt;
&lt;a rel="nofollow" href="http://yuiblog.com/blog/2007/04/11/performance-research-part-4/" target="_blank"&gt;
Maximizing Parallel Downloads in the Carpool Lane - by Tenni Theurer&lt;/a&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;div class="socialBookmarksContainer"&gt;&lt;a rel="nofollow" href="http://digg.com/submit/?url=http://www.bloggingdeveloper.com/post/7-Easy-to-Apply-Tips-to-Improve-Your-Web-Site-Performance.aspx" target="_blank" title="Digg It!"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/digg_24.png" style="border: 0;" alt="Digg It!" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.dzone.com/links/add.html?url=http://www.bloggingdeveloper.com/post/7-Easy-to-Apply-Tips-to-Improve-Your-Web-Site-Performance.aspx&amp;amp;title=7 Easy-to-Apply Tips to Improve Your Web Site Performance" target="_blank" title="DZone It!"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/dzone_24.png" style="border: 0;" alt="DZone It!" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.stumbleupon.com/submit?url=http://www.bloggingdeveloper.com/post/7-Easy-to-Apply-Tips-to-Improve-Your-Web-Site-Performance.aspx" target="_blank" title="StumbleUpon"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/stumbleupon_24.png" style="border: 0;" alt="StumbleUpon" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://technorati.com/ping?url=http://www.bloggingdeveloper.com/" target="_blank" title="Technorati"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/technorati_24.png" style="border: 0;" alt="Technorati" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://reddit.com/submit?url=http://www.bloggingdeveloper.com/post/7-Easy-to-Apply-Tips-to-Improve-Your-Web-Site-Performance.aspx&amp;amp;title=7 Easy-to-Apply Tips to Improve Your Web Site Performance" target="_blank" title="Reddit"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/reddit_24.png" style="border: 0;" alt="Reddit" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://del.icio.us/post?url=http://www.bloggingdeveloper.com/post/7-Easy-to-Apply-Tips-to-Improve-Your-Web-Site-Performance.aspx&amp;amp;title=7 Easy-to-Apply Tips to Improve Your Web Site Performance" target="_blank" title="Del.icio.us"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/delicious_24.png" style="border: 0;" alt="Del.icio.us" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.newsvine.com/_wine/save?u=http://www.bloggingdeveloper.com/post/7-Easy-to-Apply-Tips-to-Improve-Your-Web-Site-Performance.aspx" target="_blank"title="NewsVine"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/newsvine_24.png" style="border: 0;" alt="NewsVine" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://furl.net" target="_blank" title="Furl"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/furl_24.png" style="border: 0;" alt="Furl" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://blinklist.com/submit/" target="_blank" title="BlinkList"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/blinklist_24.png" style="border: 0;" alt="BlinkList" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/nBGSxOLpyug" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/nBGSxOLpyug/post.aspx</link><author>bloggingdeveloper.nospam@nospam.bloggingdeveloper.com (Blogging Developer)</author><comments>http://www.bloggingdeveloper.com/post/7-Easy-to-Apply-Tips-to-Improve-Your-Web-Site-Performance.aspx#comment</comments><guid isPermaLink="false">http://www.bloggingdeveloper.com/post.aspx?id=99d9d327-eca8-40bc-b1f3-c15b8b9ec5db</guid><pubDate>Mon, 10 Sep 2007 09:38:00 +0300</pubDate><category>All</category><category>Performance</category><dc:publisher>Blogging Developer</dc:publisher><pingback:server>http://www.bloggingdeveloper.com/pingback.axd</pingback:server><pingback:target>http://www.bloggingdeveloper.com/post.aspx?id=99d9d327-eca8-40bc-b1f3-c15b8b9ec5db</pingback:target><slash:comments>4</slash:comments><trackback:ping>http://www.bloggingdeveloper.com/trackback.axd?id=99d9d327-eca8-40bc-b1f3-c15b8b9ec5db</trackback:ping><wfw:comment>http://www.bloggingdeveloper.com/post/7-Easy-to-Apply-Tips-to-Improve-Your-Web-Site-Performance.aspx#comment</wfw:comment><wfw:commentRss>http://www.bloggingdeveloper.com/syndication.axd?post=99d9d327-eca8-40bc-b1f3-c15b8b9ec5db</wfw:commentRss><feedburner:origLink>http://www.bloggingdeveloper.com/post.aspx?id=99d9d327-eca8-40bc-b1f3-c15b8b9ec5db</feedburner:origLink></item><item><title>Links for 2007-09-08 [del.icio.us]</title><link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/w__xMI8mPwA/bloggingdeveloper</link><pubDate>Sun, 09 Sep 2007 00:00:00 PDT</pubDate><guid isPermaLink="false">http://del.icio.us/bloggingdeveloper#2007-09-08</guid><description>&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.bloggingdeveloper.com/post/Absolutely-Pluggable-Application-Wide-Error-Logging-Facility-for-ASPNET-Web-Applications---ELMAH.aspx"&gt;Absolutely Pluggable Application-Wide Error Logging Facility for ASP.NET Web Applications - ELMAH&lt;/a&gt;&lt;br/&gt;
After taking a web application online, you need to track exceptions and errors effectively in order to debug problems. ELMAH (Error Logging Modules and Handlers) is an application wide error logging facility which is completely pluggable therefore it can&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/w__xMI8mPwA" height="1" width="1"/&gt;</description><feedburner:origLink>http://del.icio.us/bloggingdeveloper#2007-09-08</feedburner:origLink></item><item><title>Absolutely Pluggable Application-Wide Error Logging Facility for ASP.NET Web Applications - ELMAH</title><description>&lt;p align="justify"&gt;
After taking a web application online, you need to track exceptions and errors effectively in order to debug problems. ELMAH (Error Logging Modules and Handlers) is an application wide error logging facility which is completely pluggable therefore it can be added to a running ASP.NET web application without any need for compilation or deployment. 
&lt;/p&gt;
&lt;p class="quote" align="justify"&gt;
HTTP modules and handlers can be used in ASP.NET to provide a high degree of componentization for code that is orthogonal to a web application, enabling entire sets of functionalities to be developed, packaged and deployed as a single unit and independent of an application. ELMAH (Error Logging Modules and Handlers) illustrates this approach by demonstration of an application-wide error logging that is completely pluggable. It can be dynamically added to a running ASP.NET web application, or even all ASP.NET web applications on a machine, without any need for re-compilation or re-deployment.&lt;br /&gt;
&lt;br /&gt;
&lt;a rel="nofollow" href="http://code.google.com/p/elmah/" target="_blank"&gt;Elmah Project Site&lt;/a&gt; 
&lt;/p&gt;
&lt;p align="justify"&gt;
Elmah logs nearly all unhandled exceptions. It offers web pages to remotely view the exception log and its details. Even if customErrors mode in web.config file is turned off, you can view the yellow error screen. It offers notifications via e-mail and an RSS feed of the error log.&amp;nbsp; 
&lt;/p&gt;
&lt;div id="articleimg"&gt;
&lt;div id="image"&gt;
&lt;img src="/posts/aspnet/Elmah_Error_Log.gif" alt="Elmah offers a web page to remotely view the exception log." title="Elmah offers a web page to remotely view the exception log." width="495" height="340" /&gt; 
&lt;/div&gt;
&lt;div id="explanation"&gt;
Elmah offers a web page to remotely view the exception log. 
&lt;/div&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div id="articleimg"&gt;
&lt;div id="image"&gt;
&lt;img src="/posts/aspnet/Elmah_Error_Log_Detail.gif" alt="Elmah offers a web page to remotely view the exception log detail." title="Elmah offers a web page to remotely view the exception log detail." width="490" height="1746" /&gt; 
&lt;/div&gt;
&lt;div id="explanation"&gt;
Elmah offers a web page to remotely view the exception log detail. 
&lt;/div&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;p&gt;
To learn more about ELMAH, see the MSDN article &lt;a rel="nofollow" href="http://msdn2.microsoft.com/en-us/library/aa479332.aspx" target="_blank"&gt;Using HTTP Modules and Handlers to Create Pluggable ASP.NET Components&lt;/a&gt; by Scott Mitchell and Atif Aziz. 
&lt;/p&gt;
&lt;div class="socialBookmarksContainer"&gt;&lt;a rel="nofollow" href="http://digg.com/submit/?url=http://www.bloggingdeveloper.com/post/Absolutely-Pluggable-Application-Wide-Error-Logging-Facility-for-ASPNET-Web-Applications---ELMAH.aspx" target="_blank" title="Digg It!"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/digg_24.png" style="border: 0;" alt="Digg It!" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.dzone.com/links/add.html?url=http://www.bloggingdeveloper.com/post/Absolutely-Pluggable-Application-Wide-Error-Logging-Facility-for-ASPNET-Web-Applications---ELMAH.aspx&amp;amp;title=Absolutely Pluggable Application-Wide Error Logging Facility for ASP.NET Web Applications - ELMAH" target="_blank" title="DZone It!"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/dzone_24.png" style="border: 0;" alt="DZone It!" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.stumbleupon.com/submit?url=http://www.bloggingdeveloper.com/post/Absolutely-Pluggable-Application-Wide-Error-Logging-Facility-for-ASPNET-Web-Applications---ELMAH.aspx" target="_blank" title="StumbleUpon"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/stumbleupon_24.png" style="border: 0;" alt="StumbleUpon" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://technorati.com/ping?url=http://www.bloggingdeveloper.com/" target="_blank" title="Technorati"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/technorati_24.png" style="border: 0;" alt="Technorati" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://reddit.com/submit?url=http://www.bloggingdeveloper.com/post/Absolutely-Pluggable-Application-Wide-Error-Logging-Facility-for-ASPNET-Web-Applications---ELMAH.aspx&amp;amp;title=Absolutely Pluggable Application-Wide Error Logging Facility for ASP.NET Web Applications - ELMAH" target="_blank" title="Reddit"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/reddit_24.png" style="border: 0;" alt="Reddit" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://del.icio.us/post?url=http://www.bloggingdeveloper.com/post/Absolutely-Pluggable-Application-Wide-Error-Logging-Facility-for-ASPNET-Web-Applications---ELMAH.aspx&amp;amp;title=Absolutely Pluggable Application-Wide Error Logging Facility for ASP.NET Web Applications - ELMAH" target="_blank" title="Del.icio.us"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/delicious_24.png" style="border: 0;" alt="Del.icio.us" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.newsvine.com/_wine/save?u=http://www.bloggingdeveloper.com/post/Absolutely-Pluggable-Application-Wide-Error-Logging-Facility-for-ASPNET-Web-Applications---ELMAH.aspx" target="_blank"title="NewsVine"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/newsvine_24.png" style="border: 0;" alt="NewsVine" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://furl.net" target="_blank" title="Furl"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/furl_24.png" style="border: 0;" alt="Furl" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://blinklist.com/submit/" target="_blank" title="BlinkList"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/blinklist_24.png" style="border: 0;" alt="BlinkList" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/SyyGd2Oyb_E" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/SyyGd2Oyb_E/post.aspx</link><author>bloggingdeveloper.nospam@nospam.bloggingdeveloper.com (Blogging Developer)</author><comments>http://www.bloggingdeveloper.com/post/Absolutely-Pluggable-Application-Wide-Error-Logging-Facility-for-ASPNET-Web-Applications---ELMAH.aspx#comment</comments><guid isPermaLink="false">http://www.bloggingdeveloper.com/post.aspx?id=ad719f11-9c81-489a-b46f-d98def4fc7bf</guid><pubDate>Fri, 07 Sep 2007 13:14:00 +0300</pubDate><category>Errors</category><category>ASP.NET</category><category>All</category><dc:publisher>Blogging Developer</dc:publisher><pingback:server>http://www.bloggingdeveloper.com/pingback.axd</pingback:server><pingback:target>http://www.bloggingdeveloper.com/post.aspx?id=ad719f11-9c81-489a-b46f-d98def4fc7bf</pingback:target><slash:comments>0</slash:comments><trackback:ping>http://www.bloggingdeveloper.com/trackback.axd?id=ad719f11-9c81-489a-b46f-d98def4fc7bf</trackback:ping><wfw:comment>http://www.bloggingdeveloper.com/post/Absolutely-Pluggable-Application-Wide-Error-Logging-Facility-for-ASPNET-Web-Applications---ELMAH.aspx#comment</wfw:comment><wfw:commentRss>http://www.bloggingdeveloper.com/syndication.axd?post=ad719f11-9c81-489a-b46f-d98def4fc7bf</wfw:commentRss><feedburner:origLink>http://www.bloggingdeveloper.com/post.aspx?id=ad719f11-9c81-489a-b46f-d98def4fc7bf</feedburner:origLink></item><item><title>Links for 2007-09-06 [del.icio.us]</title><link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/wz-TmIx67N4/bloggingdeveloper</link><pubDate>Fri, 07 Sep 2007 00:00:00 PDT</pubDate><guid isPermaLink="false">http://del.icio.us/bloggingdeveloper#2007-09-06</guid><description>&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.bloggingdeveloper.com/post/Generate-Sitemaps-for-Google-MSN-Live-Yahoo-Ask-on-the-fly-using-an-ASPNET-HttpHandler.aspx"&gt;Generate Sitemaps for Google, MSN/Live, Yahoo, Ask on the fly using an ASP.NET HttpHandler&lt;/a&gt;&lt;br/&gt;
Sitemaps are XML files for search engines to learn what pages to crawl and how frequently to check for changes on each page. An asp.net httphandler to generate web site maps for seach engine on the fly.&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/wz-TmIx67N4" height="1" width="1"/&gt;</description><feedburner:origLink>http://del.icio.us/bloggingdeveloper#2007-09-06</feedburner:origLink></item><item><title>Generate Sitemaps for Google, MSN/Live, Yahoo, Ask on the fly using an ASP.NET HttpHandler</title><description>&lt;p align="justify"&gt;
Sitemaps are XML files for search engines to learn what pages to crawl and how frequently to check for changes on each page. 
&lt;/p&gt;
&lt;h2 class="moreinfolink"&gt;&lt;a href="#" onclick="return false;"&gt;What are Sitemaps?&lt;/a&gt;&lt;/h2&gt;&lt;br /&gt;
&lt;div class="moreinfo"&gt;
&lt;p class="quote" align="justify"&gt;
Sitemaps are an easy way for webmasters to inform search engines about pages on their sites that are available for crawling. In its simplest form, a Sitemap is an XML file that lists URLs for a site along with additional metadata about each URL (when it was last updated, how often it usually changes, and how important it is, relative to other URLs in the site) so that search engines can more intelligently crawl the site.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
Web crawlers usually discover pages from links within the site and from other sites. Sitemaps supplement this data to allow crawlers that support Sitemaps to pick up all URLs in the Sitemap and learn about those URLs using the associated metadata. Using the Sitemap &lt;a rel="nofollow" href="http://www.sitemaps.org/protocol.php" target="_blank"&gt;protocol&lt;/a&gt; does not guarantee that web pages are included in search engines, but provides hints for web crawlers to do a better job of crawling your site. 
&lt;/p&gt;
&lt;p align="justify"&gt;
The sitemap protocol format consists of XML tags. The encoding of the file must be UTF-8 . 
&lt;/p&gt;
&lt;p align="justify"&gt;
The sitemap must begin with &lt;strong&gt;&amp;lt;urlset&amp;gt;&lt;/strong&gt; and end with &lt;strong&gt;&amp;lt;/urlset&amp;gt;&lt;/strong&gt;. The name space must be specified inside the &lt;strong&gt;&amp;lt;urlset&amp;gt;&lt;/strong&gt;. An &lt;strong&gt;&amp;lt;url&amp;gt;&lt;/strong&gt; entity for each URL must be included as a parent XML tag. &lt;strong&gt;&amp;lt;loc&amp;gt;&lt;/strong&gt; (URL of the page)child element for each &lt;strong&gt;&amp;lt;url&amp;gt;&lt;/strong&gt; parent tag must be included. Optionally, &lt;strong&gt;&amp;lt;lastmod&amp;gt; &lt;/strong&gt;(The date of last modification of the file in YYYY-MM-DD format), &lt;strong&gt;&amp;lt;changefreq&amp;gt; &lt;/strong&gt;(How frequently the page is likely to change), &lt;strong&gt;&amp;lt;priority&amp;gt;&lt;/strong&gt; (The priority of this URL relative to other URLs on your site.) child elements may be included for each &lt;strong&gt;&amp;lt;url&amp;gt;&lt;/strong&gt; parent tag.&amp;nbsp; 
&lt;/p&gt;
&lt;p align="justify"&gt;
A sample XML Sitemap that contains a single URL. 
&lt;/p&gt;
&lt;p class="code"&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;urlset xmlns=&amp;quot;&lt;a href="http://www.sitemaps.org/schemas/sitemap/0.9"&gt;http://www.sitemaps.org/schemas/sitemap/0.9&lt;/a&gt;&amp;quot;&amp;gt; &lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;lt;url&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;loc&amp;gt;http://www.bloggingdeveloper.com/&amp;lt;/loc&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;lastmod&amp;gt;2007-09-06&amp;lt;/lastmod&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;changefreq&amp;gt;monthly&amp;lt;/changefreq&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;priority&amp;gt;0.8&amp;lt;/priority&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;lt;/url&amp;gt;&lt;br /&gt;
&amp;lt;/urlset&amp;gt; 
&lt;/p&gt;
&lt;p&gt;
For more information: &lt;a rel="nofollow" href="http://www.sitemaps.org/protocol.php" target="_blank"&gt;http://www.sitemaps.org/protocol.php&lt;/a&gt; 
&lt;/p&gt;
&lt;p align="justify"&gt;
In November 2006, Google, Yahoo and Microsoft announced that they all use the same sitemap protocol described in Sitemaps.org to index sites around the web. (For more information: &lt;a rel="nofollow" href="http://www.techcrunch.com/2006/11/15/google-yahoo-and-microsoft-agree-to-standard-sitemaps-protocol/" target="_blank"&gt;http://www.techcrunch.com/2006/11/15/google-yahoo-and-microsoft-agree-to-standard-sitemaps-protocol/&lt;/a&gt;) 
&lt;/p&gt;
&lt;p align="justify"&gt;
In April 2007, they announced to use robots.txt to allow webmasters to share their Sitemaps. To do this, simply add the following line to your robot.txt file. (for more information: &lt;a rel="nofollow" href="http://www.ysearchblog.com/archives/000437.html" target="_nofollow"&gt;http://www.ysearchblog.com/archives/000437.html&lt;/a&gt;) 
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Sitemap: &lt;/strong&gt;&lt;strong&gt;http://www.bloggingdeveloper.com/sitemap.xml&lt;/strong&gt; 
&lt;/p&gt;
&lt;/div&gt;
&lt;h2 class="moreinfolink"&gt;&lt;a href="#" onclick="return false;"&gt;What are HttpHandlers?&lt;/a&gt;&lt;/h2&gt;&lt;br /&gt;
&lt;div class="moreinfo"&gt;
&lt;p class="quote" align="justify"&gt;
All requests to IIS are handled through Internet Server Application Programming Interface (ISAPI) extensions. ASP.NET has its own filter to ensure pages are processed appropriately. By default, the ASP.NET ISAPI filter (aspnet_isapi.dll) only handles ASPX, ASMX, and all other non-display file formats used by .NET and Visual Studio. However, this filter can be registered with other extensions in order to handle requests to those file types, too, but that will be covered later.&lt;br /&gt;
&lt;br /&gt;
Every request flows through a number of HTTP modules, which cover various areas of the application (i.e. authentication and session intofmation). After passing through each module, the request is assigned to a single HTTP handler, which determines how the system will respond to the request. Upon completion of the request handler, the response flows back through the HTTP modules to the user.&lt;br /&gt;
&lt;br /&gt;
HTTP modules are executed before and after the handler and provide a method for interacting with the request. Custom modules must implement the System.Web.IHttpModule interface. Modules are typically synchronized with events of the System.Web.IHttpModule class (implemented within the Global.asax.cs or .vb file).&lt;br /&gt;
&lt;br /&gt;
HTTP handlers process the request and are generally responsible for initiating necessary business logic tied to the request. Custom handlers must implement the System.Web.IHttpHandler interface. Additionally, a handler factory can be created which will analyze a request to determine what HTTP handler is appropriate. Custom handler factories implement the System.Web.IHttpHandlerFactory interface.&lt;br /&gt;
&lt;br /&gt;
For more information: &lt;br /&gt;
&lt;a rel="nofollow" href="http://geekswithblogs.net//flanakin/articles/ModuleHandlerIntro.aspx" target="_blank"&gt;http://geekswithblogs.net//flanakin/articles/ModuleHandlerIntro.aspx&lt;/a&gt; 
&lt;/p&gt;
&lt;/div&gt;
&lt;h2&gt;Overview&lt;/h2&gt;&lt;br /&gt;
&lt;p align="justify"&gt;
Here is a brief overview of how SiteMap HttpHandler will work: A request for SiteMap, will be intercepted and passed to our SiteMap HttpHandler which will generate the SiteMap XML. 
&lt;/p&gt;
&lt;h2&gt;Step 1: Create HttpHandler&lt;/h2&gt;&lt;br /&gt;
&lt;p align="justify"&gt;
Inside the App_Code folder, create SiteMapHandler.cs. 
&lt;/p&gt;
&lt;div id="articleimg"&gt;
&lt;div id="image"&gt;
&lt;img src="/posts/aspnet/add_App_Code_Folder.gif" alt="Add App_Code Folder" title="Add App_Code Folder" width="362" height="624" /&gt; 
&lt;/div&gt;
&lt;div id="explanation"&gt;
Add App_Code Folder 
&lt;/div&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div id="articleimg"&gt;
&lt;div id="image"&gt;
&lt;img src="/posts/aspnet/add_New_Item.gif" alt="Add SiteMapHandler.cs" title="Add SiteMapHandler.cs" width="241" height="349" /&gt; 
&lt;/div&gt;
&lt;div id="explanation"&gt;
Add SiteMapHandler.cs 
&lt;/div&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;p align="justify"&gt;
Here is the code for the Asp.Net Sitemap Handler implementing the IHttpHandler interface. 
&lt;/p&gt;
&lt;div id="articleimg"&gt;
&lt;div id="image"&gt;
&lt;img src="/posts/aspnet/sitemaphandler_code.gif" alt="SitemapHandler.cs" title="SitemapHandler.cs" width="490" height="827" /&gt; 
&lt;/div&gt;
&lt;div id="explanation"&gt;
SitemapHandler.cs 
&lt;/div&gt;
&lt;div id="zoom"&gt;
&lt;a href="http://www.bloggingdeveloper.com/posts/aspnet/sitemaphandler_code_large.gif" title="SitemapHandler.cs" class="thickbox"&gt;&lt;img src="/themes/BD/Images/icon_zoom.gif" border="0" alt="" width="45" height="30" /&gt;&lt;/a&gt; 
&lt;/div&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;p align="justify"&gt;
I commented out the loop&amp;nbsp;that adds pages. You may get URL of your pages from web.sitemap file, database or another sitemap provider. 
&lt;/p&gt;
&lt;h2&gt;Step 2: Modify Sitemap&lt;/h2&gt;&lt;br /&gt;
&lt;p align="justify"&gt;
Add the following section inside system.web 
&lt;/p&gt;
&lt;p class="code"&gt;
&amp;lt;httpHandlers&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;lt;add verb=&amp;quot;*&amp;quot; path=&amp;quot;sitemap.axd&amp;quot; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; type=&amp;quot;SitemapHandler&amp;quot; validate=&amp;quot;false&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/httpHandlers&amp;gt; 
&lt;/p&gt;
&lt;p align="justify"&gt;
In order to test your sitemap; browse the sitemap.axd file. 
&lt;/p&gt;
&lt;h2&gt;Step 3: Use robots.txt to announce Sitemap to Search Engines&lt;/h2&gt;&lt;br /&gt;
&lt;p align="justify"&gt;
Create a text file in the root of your application and name it: &lt;strong&gt;robots.txt&lt;/strong&gt; 
&lt;/p&gt;
&lt;p align="justify"&gt;
Insert the following line changing bloggingdeveloper.com with your domain name: 
&lt;/p&gt;
&lt;p class="code"&gt;
Sitemap: http://www.bloggingdeveloper.com/sitemap.axd 
&lt;/p&gt;
&lt;p align="justify"&gt;
For an online demo: &lt;a href="http://www.bloggingdeveloper.com/sitemap.axd" title="http://www.bloggingdeveloper.com/sitemap.axd "&gt;http://www.bloggingdeveloper.com/sitemap.axd&lt;/a&gt; 
&lt;/p&gt;
&lt;p align="justify"&gt;
&lt;a href="http://www.bloggingdeveloper.com/posts/aspnet/SitemapGenerator.zip" title="Download the Demo VS2005 Project "&gt;Download the Demo VS2005 Project&lt;/a&gt; 
&lt;/p&gt;
&lt;div class="socialBookmarksContainer"&gt;&lt;a rel="nofollow" href="http://digg.com/submit/?url=http://www.bloggingdeveloper.com/post/Generate-Sitemaps-for-Google-MSN-Live-Yahoo-Ask-on-the-fly-using-an-ASPNET-HttpHandler.aspx" target="_blank" title="Digg It!"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/digg_24.png" style="border: 0;" alt="Digg It!" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.dzone.com/links/add.html?url=http://www.bloggingdeveloper.com/post/Generate-Sitemaps-for-Google-MSN-Live-Yahoo-Ask-on-the-fly-using-an-ASPNET-HttpHandler.aspx&amp;amp;title=Generate Sitemaps for Google, MSN/Live, Yahoo, Ask on the fly using an ASP.NET HttpHandler" target="_blank" title="DZone It!"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/dzone_24.png" style="border: 0;" alt="DZone It!" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.stumbleupon.com/submit?url=http://www.bloggingdeveloper.com/post/Generate-Sitemaps-for-Google-MSN-Live-Yahoo-Ask-on-the-fly-using-an-ASPNET-HttpHandler.aspx" target="_blank" title="StumbleUpon"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/stumbleupon_24.png" style="border: 0;" alt="StumbleUpon" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://technorati.com/ping?url=http://www.bloggingdeveloper.com/" target="_blank" title="Technorati"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/technorati_24.png" style="border: 0;" alt="Technorati" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://reddit.com/submit?url=http://www.bloggingdeveloper.com/post/Generate-Sitemaps-for-Google-MSN-Live-Yahoo-Ask-on-the-fly-using-an-ASPNET-HttpHandler.aspx&amp;amp;title=Generate Sitemaps for Google, MSN/Live, Yahoo, Ask on the fly using an ASP.NET HttpHandler" target="_blank" title="Reddit"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/reddit_24.png" style="border: 0;" alt="Reddit" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://del.icio.us/post?url=http://www.bloggingdeveloper.com/post/Generate-Sitemaps-for-Google-MSN-Live-Yahoo-Ask-on-the-fly-using-an-ASPNET-HttpHandler.aspx&amp;amp;title=Generate Sitemaps for Google, MSN/Live, Yahoo, Ask on the fly using an ASP.NET HttpHandler" target="_blank" title="Del.icio.us"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/delicious_24.png" style="border: 0;" alt="Del.icio.us" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.newsvine.com/_wine/save?u=http://www.bloggingdeveloper.com/post/Generate-Sitemaps-for-Google-MSN-Live-Yahoo-Ask-on-the-fly-using-an-ASPNET-HttpHandler.aspx" target="_blank"title="NewsVine"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/newsvine_24.png" style="border: 0;" alt="NewsVine" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://furl.net" target="_blank" title="Furl"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/furl_24.png" style="border: 0;" alt="Furl" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://blinklist.com/submit/" target="_blank" title="BlinkList"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/blinklist_24.png" style="border: 0;" alt="BlinkList" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/1fYq-BPv-qs" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/1fYq-BPv-qs/post.aspx</link><author>bloggingdeveloper.nospam@nospam.bloggingdeveloper.com (Blogging Developer)</author><comments>http://www.bloggingdeveloper.com/post/Generate-Sitemaps-for-Google-MSN-Live-Yahoo-Ask-on-the-fly-using-an-ASPNET-HttpHandler.aspx#comment</comments><guid isPermaLink="false">http://www.bloggingdeveloper.com/post.aspx?id=508141ef-b893-4131-ab72-bbb0d06189ae</guid><pubDate>Thu, 06 Sep 2007 13:31:00 +0300</pubDate><category>ASP.NET</category><category>C#</category><category>All</category><dc:publisher>Blogging Developer</dc:publisher><pingback:server>http://www.bloggingdeveloper.com/pingback.axd</pingback:server><pingback:target>http://www.bloggingdeveloper.com/post.aspx?id=508141ef-b893-4131-ab72-bbb0d06189ae</pingback:target><slash:comments>0</slash:comments><trackback:ping>http://www.bloggingdeveloper.com/trackback.axd?id=508141ef-b893-4131-ab72-bbb0d06189ae</trackback:ping><wfw:comment>http://www.bloggingdeveloper.com/post/Generate-Sitemaps-for-Google-MSN-Live-Yahoo-Ask-on-the-fly-using-an-ASPNET-HttpHandler.aspx#comment</wfw:comment><wfw:commentRss>http://www.bloggingdeveloper.com/syndication.axd?post=508141ef-b893-4131-ab72-bbb0d06189ae</wfw:commentRss><feedburner:origLink>http://www.bloggingdeveloper.com/post.aspx?id=508141ef-b893-4131-ab72-bbb0d06189ae</feedburner:origLink></item><item><title>Accessing Local IIS Web Sites via Name using the Hosts File</title><description>&lt;p align="justify"&gt;
Earlier, I posted a step by step guide on &lt;a href="http://www.bloggingdeveloper.com/post/Creating-IIS7-sites-applications-and-virtual-directories-using-Internet-Information-Services-Manager.aspx" title="Creating IIS7 sites, applications, and virtual directories using Internet Information Services Manager"&gt;Creating IIS7 sites, applications, and virtual directories using Internet Information Services Manager&lt;/a&gt;. In the article, I created a new website named &amp;ldquo;&lt;strong&gt;bloggingdeveloper&lt;/strong&gt;&amp;rdquo; and created a single HTTP binding configured to listen on all interfaces, &lt;strong&gt;port 81&lt;/strong&gt;, and without a host-header restriction. The site was accessible via http://localhost:81/.&amp;nbsp; 
&lt;/p&gt;
&lt;div id="articleimg"&gt;
&lt;div id="image"&gt;
&lt;img src="/posts/iis7/serving_over_port_81.gif" alt="Serving over Port 81" title="Serving over Port 81" width="478" height="262" /&gt; 
&lt;/div&gt;
&lt;div id="explanation"&gt;
Serving via http://localhost:81/ 
&lt;/div&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;p align="justify"&gt;
In this step by step tutorial, I will describe accessing a local site via name (e.g. &lt;strong&gt;http://bloggingdeveloper/&lt;/strong&gt;) using the Hosts file. 
&lt;/p&gt;
&lt;ol&gt;
	&lt;li&gt;Start IIS Manager&lt;br /&gt;
	&lt;br /&gt;
	&lt;strong&gt;&amp;nbsp; To start IIS Manager from the Run dialog box&lt;/strong&gt; 
	&lt;ol&gt;
		&lt;li&gt;On the Start menu, click Run. &lt;/li&gt;
		&lt;li&gt;In the Open box, type inetmgr and then click OK. &lt;/li&gt;
	&lt;/ol&gt;
	&lt;br /&gt;
	&lt;strong&gt;&amp;nbsp; To start IIS Manager from the Administrative Services console&lt;/strong&gt; 
	&lt;ol&gt;
		&lt;li&gt;In the Control Panel window, click Administrative Tools. &lt;/li&gt;
		&lt;li&gt;In the Administrative Tools window, click Internet Information Services (IIS) Manager.&lt;br /&gt;
		&lt;br /&gt;
		&lt;/li&gt;
	&lt;/ol&gt;
	&lt;/li&gt;
	&lt;div id="articleimg"&gt;
	&lt;div id="image"&gt;
	&lt;img src="/posts/iis7/iis_manager_bloggingdeveloper.gif" alt="Internet Information Manager 7.0" title="Internet Information Manager 7.0" width="490" height="342" /&gt; 
	&lt;/div&gt;
	&lt;div id="explanation"&gt;
	Internet Information Manager 7.0 
	&lt;/div&gt;
	&lt;div id="zoom"&gt;
	&lt;a href="http://www.bloggingdeveloper.com/posts/iis7/iis_manager_bloggingdeveloper_large.gif" title="Internet Information Manager 7.0" class="thickbox"&gt;&lt;img src="/themes/BD/Images/icon_zoom.gif" border="0" alt="" width="45" height="30" /&gt;&lt;/a&gt; 
	&lt;/div&gt;
	&lt;/div&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	&lt;li&gt;Select your site (bloggingdeveloper) from the left side and select Bindings from the right side under the Edit Site section.&lt;br /&gt;
	&lt;br /&gt;
	&lt;/li&gt;
	&lt;div id="articleimg"&gt;
	&lt;div id="image"&gt;
	&lt;img src="/posts/iis7/Bindings.gif" alt="IIS Bindings" title="IIS Bindings" width="490" height="336" /&gt; 
	&lt;/div&gt;
	&lt;div id="explanation"&gt;
	IIS Bindings 
	&lt;/div&gt;
	&lt;div id="zoom"&gt;
	&lt;a href="http://www.bloggingdeveloper.com/posts/iis7/Bindings_large.gif" title="IIS Bindings" class="thickbox"&gt;&lt;img src="/themes/BD/Images/icon_zoom.gif" border="0" alt="" width="45" height="30" /&gt;&lt;/a&gt; 
	&lt;/div&gt;
	&lt;/div&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	&lt;li&gt;In the bindings window Click Add, enter &lt;strong&gt;127.0.0.2&lt;/strong&gt; as the IP Address, leave the host header empty and click OK. &lt;br /&gt;
	&lt;br /&gt;
	&lt;/li&gt;
	&lt;div id="articleimg"&gt;
	&lt;div id="image"&gt;
	&lt;img src="/posts/iis7/add_binding.gif" alt="IIS Add Bindings" title="IIS Add Bindings" width="490" height="336" /&gt; 
	&lt;/div&gt;
	&lt;div id="explanation"&gt;
	IIS Add Bindings 
	&lt;/div&gt;
	&lt;div id="zoom"&gt;
	&lt;a href="http://www.bloggingdeveloper.com/posts/iis7/add_Binding_large.gif" title="IIS Add Bindings" class="thickbox"&gt;&lt;img src="/themes/BD/Images/icon_zoom.gif" border="0" alt="" width="45" height="30" /&gt;&lt;/a&gt; 
	&lt;/div&gt;
	&lt;/div&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	&lt;li&gt;Edit the &lt;strong&gt;Hosts File&lt;br /&gt;
	&lt;br /&gt;
	&lt;/strong&gt;
	&lt;ol&gt;
		&lt;li&gt;Browse to Start -&amp;gt; All Programs -&amp;gt; Accessories&lt;/li&gt;
		&lt;li&gt;For Windows Vista Users : Right click &amp;quot;Notepad&amp;quot; and select &amp;quot;Run as administrator&amp;quot; &lt;/li&gt;
		&lt;li&gt;Click &amp;quot;Continue&amp;quot; on the UAC prompt&lt;/li&gt;
		&lt;li&gt;Click File -&amp;gt; Open&lt;/li&gt;
		&lt;li&gt;Browse to &amp;quot;C:\Windows\System32\Drivers\etc&amp;quot;&lt;/li&gt;
		&lt;li&gt;Change the file filter drop down box from &amp;quot;Text Documents (*.txt)&amp;quot; to &amp;quot;All Files (*.*)&amp;quot;&lt;/li&gt;
		&lt;li&gt;Select &amp;quot;hosts&amp;quot; and click &amp;quot;Open&amp;quot;&lt;br /&gt;
		&lt;br /&gt;
		&lt;/li&gt;
		&lt;div id="articleimg"&gt;
		&lt;div id="image"&gt;
		&lt;img src="/posts/iis7/hosts_file_unedited.gif" alt="Unedited Hosts File" title="Unedited Hosts File" width="490" height="304" /&gt; 
		&lt;/div&gt;
		&lt;div id="explanation"&gt;
		Unedited Hosts File 
		&lt;/div&gt;
		&lt;div id="zoom"&gt;
		&lt;a href="http://www.bloggingdeveloper.com/posts/iis7/hosts_file_unedited_large.gif" title="Unedited Hosts File" class="thickbox"&gt;&lt;img src="/themes/BD/Images/icon_zoom.gif" border="0" alt="" width="45" height="30" /&gt;&lt;/a&gt; 
		&lt;/div&gt;
		&lt;/div&gt;
		&lt;br /&gt;
		&lt;br /&gt;
		&lt;li&gt;To the end of the file add the following line:&lt;br /&gt;
		&lt;br /&gt;
		&lt;/li&gt;
		&lt;p class="code"&gt;
		127.0.0.2 bloggingdeveloper 
		&lt;/p&gt;
		&lt;div id="articleimg"&gt;
		&lt;div id="image"&gt;
		&lt;img src="/posts/iis7/hosts_file_edited.gif" alt="Edited Hosts File" title="Edited Hosts File" width="490" height="304" /&gt; 
		&lt;/div&gt;
		&lt;div id="explanation"&gt;
		Edited Hosts File 
		&lt;/div&gt;
		&lt;div id="zoom"&gt;
		&lt;a href="http://www.bloggingdeveloper.com/posts/iis7/hosts_file_edited_large.gif" title="Edited Hosts File" class="thickbox"&gt;&lt;img src="/themes/BD/Images/icon_zoom.gif" border="0" alt="" width="45" height="30" /&gt;&lt;/a&gt; 
		&lt;/div&gt;
		&lt;/div&gt;
		&lt;br /&gt;
		&lt;br /&gt;
		&lt;li&gt;Close Notepad. Save when prompted.&lt;/li&gt;
	&lt;/ol&gt;
	&lt;/li&gt;&lt;br /&gt;
	&lt;p align="justify"&gt;
	If you skip &lt;strong&gt;Step b&lt;/strong&gt; in Windows Vista and try to modify your hosts file, it will not let you save it. It tells you that you don&amp;#39;t have permission. To successfully modify the hosts file, run notepad.exe as an administrator. 
	&lt;/p&gt;
	&lt;div id="articleimg"&gt;
	&lt;div id="image"&gt;
	&lt;img src="/posts/iis7/saving_hosts_file_without_administrative_privilages.gif" alt="Error when trying to save hosts file without administrative privilages" title="Error when trying to save hosts file without administrative privilages" width="490" height="304" /&gt; 
	&lt;/div&gt;
	&lt;div id="explanation"&gt;
	Error when trying to save hosts file without administrative privilages 
	&lt;/div&gt;
	&lt;div id="zoom"&gt;
	&lt;a href="http://www.bloggingdeveloper.com/posts/iis7/saving_hosts_file_without_administrative_privilages_large.gif" title="Error when trying to save hosts file without administrative privilages" class="thickbox"&gt;&lt;img src="/themes/BD/Images/icon_zoom.gif" border="0" alt="" width="45" height="30" /&gt;&lt;/a&gt; 
	&lt;/div&gt;
	&lt;/div&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	&lt;p align="justify"&gt;
	You may use any IP Address between 127.0.0.2 and 127.0.0.254. 
	&lt;/p&gt;
	&lt;li&gt;Browse your site via http://bloggingdeveloper/&lt;br /&gt;
	&lt;br /&gt;
	&lt;/li&gt;
	&lt;div id="articleimg"&gt;
	&lt;div id="image"&gt;
	&lt;img src="/posts/iis7/serving_over_bloggingdeveloper.gif" alt="Serving via http://bloggingdeveloper" title="Serving via http://bloggingdeveloper" width="483" height="295" /&gt; 
	&lt;/div&gt;
	&lt;div id="explanation"&gt;
	Serving via http://bloggingdeveloper 
	&lt;/div&gt;
	&lt;/div&gt;
	&lt;br /&gt;
	&lt;br /&gt;
&lt;/ol&gt;
&lt;div class="socialBookmarksContainer"&gt;&lt;a rel="nofollow" href="http://digg.com/submit/?url=http://www.bloggingdeveloper.com/post/Accessing-Local-IIS-Web-Sites-via-Name-using-the-Hosts-File.aspx" target="_blank" title="Digg It!"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/digg_24.png" style="border: 0;" alt="Digg It!" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.dzone.com/links/add.html?url=http://www.bloggingdeveloper.com/post/Accessing-Local-IIS-Web-Sites-via-Name-using-the-Hosts-File.aspx&amp;amp;title=Accessing Local IIS Web Sites via Name using the Hosts File" target="_blank" title="DZone It!"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/dzone_24.png" style="border: 0;" alt="DZone It!" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.stumbleupon.com/submit?url=http://www.bloggingdeveloper.com/post/Accessing-Local-IIS-Web-Sites-via-Name-using-the-Hosts-File.aspx" target="_blank" title="StumbleUpon"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/stumbleupon_24.png" style="border: 0;" alt="StumbleUpon" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://technorati.com/ping?url=http://www.bloggingdeveloper.com/" target="_blank" title="Technorati"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/technorati_24.png" style="border: 0;" alt="Technorati" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://reddit.com/submit?url=http://www.bloggingdeveloper.com/post/Accessing-Local-IIS-Web-Sites-via-Name-using-the-Hosts-File.aspx&amp;amp;title=Accessing Local IIS Web Sites via Name using the Hosts File" target="_blank" title="Reddit"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/reddit_24.png" style="border: 0;" alt="Reddit" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://del.icio.us/post?url=http://www.bloggingdeveloper.com/post/Accessing-Local-IIS-Web-Sites-via-Name-using-the-Hosts-File.aspx&amp;amp;title=Accessing Local IIS Web Sites via Name using the Hosts File" target="_blank" title="Del.icio.us"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/delicious_24.png" style="border: 0;" alt="Del.icio.us" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.newsvine.com/_wine/save?u=http://www.bloggingdeveloper.com/post/Accessing-Local-IIS-Web-Sites-via-Name-using-the-Hosts-File.aspx" target="_blank"title="NewsVine"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/newsvine_24.png" style="border: 0;" alt="NewsVine" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://furl.net" target="_blank" title="Furl"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/furl_24.png" style="border: 0;" alt="Furl" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://blinklist.com/submit/" target="_blank" title="BlinkList"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/blinklist_24.png" style="border: 0;" alt="BlinkList" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/uS-QQmlFiVg" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/uS-QQmlFiVg/post.aspx</link><author>bloggingdeveloper.nospam@nospam.bloggingdeveloper.com (Blogging Developer)</author><comments>http://www.bloggingdeveloper.com/post/Accessing-Local-IIS-Web-Sites-via-Name-using-the-Hosts-File.aspx#comment</comments><guid isPermaLink="false">http://www.bloggingdeveloper.com/post.aspx?id=d7597191-4538-4178-a02c-37ab7905c388</guid><pubDate>Wed, 05 Sep 2007 14:01:00 +0300</pubDate><category>IIS 7.0</category><category>All</category><dc:publisher>Blogging Developer</dc:publisher><pingback:server>http://www.bloggingdeveloper.com/pingback.axd</pingback:server><pingback:target>http://www.bloggingdeveloper.com/post.aspx?id=d7597191-4538-4178-a02c-37ab7905c388</pingback:target><slash:comments>1</slash:comments><trackback:ping>http://www.bloggingdeveloper.com/trackback.axd?id=d7597191-4538-4178-a02c-37ab7905c388</trackback:ping><wfw:comment>http://www.bloggingdeveloper.com/post/Accessing-Local-IIS-Web-Sites-via-Name-using-the-Hosts-File.aspx#comment</wfw:comment><wfw:commentRss>http://www.bloggingdeveloper.com/syndication.axd?post=d7597191-4538-4178-a02c-37ab7905c388</wfw:commentRss><feedburner:origLink>http://www.bloggingdeveloper.com/post.aspx?id=d7597191-4538-4178-a02c-37ab7905c388</feedburner:origLink></item><item><title>7 HTML Elements that Search Engines Love - Tips on Forming Search Engine Friendly Pages</title><description>&lt;p align="justify"&gt;
The ranking algorithms of search engines are kept secret and they change often. Moreover, there is no exact formula for perfectly optimized HTML. On the other hand, some HTML tags/elements have great effect on search engine rankings. 
&lt;/p&gt;
&lt;h2&gt;The &amp;lt;title&amp;gt; Tag&lt;/h2&gt;
&lt;p align="justify"&gt;
&lt;br /&gt;
The title of a page is probably the most important factor in getting high search engine rankings. You must include most important keyword(s) and phrase(s) into the page title. Besides, you must write the title in a way that makes sense because it appears in the clickable link on the search engine results page therefore it must attract people&amp;rsquo;s attention. 
&lt;/p&gt;
&lt;p align="justify"&gt;
Do not put the name of the site first, unless the name contains the essential keyword phrase.&amp;nbsp; 
&lt;/p&gt;
&lt;p align="justify"&gt;
Instead of: 
&lt;/p&gt;
&lt;p class="code"&gt;
&amp;lt;title&amp;gt;Blogging Developer - Search Engine Friendly Pages&amp;lt;/title&amp;gt; 
&lt;/p&gt;
&lt;p align="justify"&gt;
form title tags as:&amp;nbsp; 
&lt;/p&gt;
&lt;p class="code"&gt;
&amp;lt;title&amp;gt;Engine Friendly&amp;nbsp;Pages - Blogging Developer &amp;lt;/title&amp;gt; 
&lt;/p&gt;
&lt;p&gt;
More information on forming effective page titles: &lt;a href="http://www.bloggingdeveloper.com/post/Who-else-wants-to-build-effective-page-titles-and-rank-high-in-search-engines.aspx" title=" Who else wants to build effective page titles and rank high in search engines?"&gt;Who else wants to build effective page titles and rank high in search engines?&lt;/a&gt; 
&lt;/p&gt;
&lt;h2&gt;The &amp;lt;meta&amp;gt; Tag&lt;/h2&gt;&lt;br /&gt;
&lt;p class="quote" align="justify"&gt;
A META tag is an HTML tag that provides information about web page&amp;rsquo;s content, such as what HTML specifications a web page follows or a description of its content. META tags do not affect how a web page is displayed in a browser in other words these tags are mostly invisible to site&amp;rsquo;s visitors, but will be seen by search engines. 
&lt;/p&gt;
&lt;p align="justify"&gt;
There are only two Meta tags that are important for search engine optimization: 
&lt;/p&gt;
&lt;p class="code"&gt;
&amp;lt;META NAME=&amp;quot;KEYWORDS&amp;quot; CONTENT=&amp;quot;tags seo search engine friendly optimization meta title HTML&amp;quot;&amp;gt; 
&lt;/p&gt;
&lt;p class="code"&gt;
&amp;lt;META NAME=&amp;quot;DESCRIPTION&amp;quot; CONTENT=&amp;quot;The ranking algorithms of search engines are kept secret and they change often. Moreover, there is no exact formula for perfectly optimized HTML. On the other hand, some HTML tags/elements have great effect on search engine rankings&amp;rdquo;&amp;gt; 
&lt;/p&gt;
&lt;p align="justify"&gt;
In the &lt;strong&gt;KEYWORDS&lt;/strong&gt; meta tag you must enter keywords and phrases relevant to page&amp;rsquo;s content. Many choose to separate the keyword phrases with commas. 
&lt;/p&gt;
&lt;p align="justify"&gt;
I usually do not use commas to separate keywords and phrases because they take up space. Moreover, forming keywords / phrases without commas makes it possible to include more combinations of keywords. 
&lt;/p&gt;
&lt;p&gt;
Some search engines may interpret 
&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;repeating keywords/phrases&lt;/li&gt;
	&lt;li&gt;entering keywords that are not relevant to the page&amp;rsquo;s content&lt;/li&gt;
&lt;/ul&gt;
as spam. 
&lt;p align="justify"&gt;
Except &lt;strong&gt;Yahoo&lt;/strong&gt; and &lt;strong&gt;Ask&lt;/strong&gt;, search engines do not apparently take &lt;strong&gt;KEYWORD&lt;/strong&gt; meta tag into consideration these days. 
&lt;/p&gt;
&lt;p align="justify"&gt;
The &lt;strong&gt;DESCRIPTION&lt;/strong&gt; meta tag is important as search engines use this text for the description given in the search result listings. 
&lt;/p&gt;
&lt;p align="justify"&gt;
This text should be a normal sentence which gives exact information on what the page&amp;rsquo;s content offers. 
&lt;/p&gt;
&lt;p align="justify"&gt;
Search engines do not display more than 250 characters including spaces, commas, and periods. Therefore you should enter the most important part into the beginning of the description. 
&lt;/p&gt;
&lt;p&gt;
More information on meta tags: &lt;a href="http://www.bloggingdeveloper.com/post/metatags-from-search-engine-rankings-perspective---are-they-dead.aspx" title=" Metatags from search engine rankings perspective - Are they dead?"&gt;Metatags from search engine rankings perspective - Are they dead?&lt;/a&gt; 
&lt;/p&gt;
&lt;h2&gt;The &amp;lt;body&amp;gt; Tag&lt;/h2&gt;&lt;br /&gt;
&lt;p align="justify"&gt;
Some search engines reward keyword repetitions. Therefore, include the selected keyword phrases several times throughout the content. 
&lt;/p&gt;
&lt;p&gt;
Here are some tips on forming the page&amp;nbsp;content: 
&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;Do not overdose repetition. The language must seem natural otherwise search engines may interpret repetition as spam.&lt;/li&gt;
	&lt;li&gt;Using phrase variations may help.(e.g. &amp;ldquo;search engine ranking&amp;rdquo; and &amp;ldquo;search engine rankings&amp;rdquo;) &lt;/li&gt;
	&lt;li&gt;In addition, include the keyword phrases in the first paragraph. &lt;/li&gt;
	&lt;li&gt;Bold text and larger size fonts may help in some search engines. &lt;/li&gt;
	&lt;li&gt;Do not use hidden texts. &lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;h2&gt;The Headline Tags&lt;/h2&gt;&lt;br /&gt;
&lt;p align="justify"&gt;
Include the keyword phrases in headlines using the standard headline tags (&amp;lt;h1&amp;gt;,&amp;lt;h2&amp;gt;) 
&lt;/p&gt;
&lt;h2&gt;The Image ALT Attribute&lt;/h2&gt;&lt;br /&gt;
&lt;p align="justify"&gt;
Image ALT Tags are used to describe pictures to people using non-graphic browsers or that have images turned off in order to gain download speed. Although the alt attribute must include a description of the picture, most developers include logos and image-based titles with alt attribute to include keyword phrases. 
&lt;/p&gt;
&lt;p class="code"&gt;
&amp;lt;A href=&amp;quot;/default.aspx&amp;quot;&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;lt;IMG src=&amp;quot;pics/logo.jpg&amp;quot; WIDTH=&amp;quot;60&amp;quot; HEIGHT=&amp;quot;72&amp;quot; BORDER=&amp;quot;0&amp;quot; ALT=&amp;quot;Tips &amp;amp; Tricks on Search Engine Optimization&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/A&amp;gt; 
&lt;/p&gt;
&lt;h2&gt;The TITLE Attribute&lt;/h2&gt;&lt;br /&gt;
&lt;p align="justify"&gt;
Title (do not confuse with the &amp;ldquo;&amp;lt;TITLE&amp;gt;&amp;rdquo; tag) attribute lets you describe any tag. The text pops up when someone is moving his or her mouse pointer over the element. 
&lt;/p&gt;
&lt;p class="code"&gt;
&amp;lt;A href=&amp;quot;/default.aspx&amp;quot; TITLE=&amp;quot;Tips &amp;amp; Tricks on Search Engine Optimization&amp;lt;/A&amp;gt;.&amp;nbsp; 
&lt;/p&gt;
&lt;h2&gt;Keywords in Links and URLs&lt;/h2&gt;&lt;br /&gt;
&lt;p align="justify"&gt;
Including keyword phrases in links not only improves the ranking of the page that contains the link, but also boosts the relevancy of the page the link is pointing to. 
&lt;/p&gt;
&lt;p class="code"&gt;
&amp;lt;A href=&amp;quot;/default.aspx&amp;quot;&amp;gt;Click here!&amp;lt;/a&amp;gt; 
&lt;/p&gt;
&lt;p align="justify"&gt;
The link above is a wasted opportunity. 
&lt;/p&gt;
&lt;p align="justify"&gt;
Naming files, directories with the keyword phrases may help as some engines take the URL into consideration. 
&lt;/p&gt;
&lt;p class="code"&gt;
&amp;lt;A href=&amp;quot;aspnet/tips-on-aspnet.aspx&amp;quot;&amp;gt;Tips on ASP.NET&amp;lt;/a&amp;gt;. 
&lt;/p&gt;
&lt;p align="justify"&gt;
Lastly, do not forget that web pages do not exist for search engines, it is easy to overlook the fact that what really matters is good content. If spending time on optimization is taking you away from improving user experience, it may be time to either refocus your efforts or to outsource your optimization work.
&lt;/p&gt;
&lt;div class="socialBookmarksContainer"&gt;&lt;a rel="nofollow" href="http://digg.com/submit/?url=http://www.bloggingdeveloper.com/post/Tips-on-Forming-Search-Engine-Friendly-Pages---HTML-Tags-Elements-with-Great-Effect-on-Search-Engine-Rankings.aspx" target="_blank" title="Digg It!"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/digg_24.png" style="border: 0;" alt="Digg It!" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.dzone.com/links/add.html?url=http://www.bloggingdeveloper.com/post/Tips-on-Forming-Search-Engine-Friendly-Pages---HTML-Tags-Elements-with-Great-Effect-on-Search-Engine-Rankings.aspx&amp;amp;title=7 HTML Elements that Search Engines Love - Tips on Forming Search Engine Friendly Pages" target="_blank" title="DZone It!"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/dzone_24.png" style="border: 0;" alt="DZone It!" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.stumbleupon.com/submit?url=http://www.bloggingdeveloper.com/post/Tips-on-Forming-Search-Engine-Friendly-Pages---HTML-Tags-Elements-with-Great-Effect-on-Search-Engine-Rankings.aspx" target="_blank" title="StumbleUpon"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/stumbleupon_24.png" style="border: 0;" alt="StumbleUpon" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://technorati.com/ping?url=http://www.bloggingdeveloper.com/" target="_blank" title="Technorati"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/technorati_24.png" style="border: 0;" alt="Technorati" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://reddit.com/submit?url=http://www.bloggingdeveloper.com/post/Tips-on-Forming-Search-Engine-Friendly-Pages---HTML-Tags-Elements-with-Great-Effect-on-Search-Engine-Rankings.aspx&amp;amp;title=7 HTML Elements that Search Engines Love - Tips on Forming Search Engine Friendly Pages" target="_blank" title="Reddit"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/reddit_24.png" style="border: 0;" alt="Reddit" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://del.icio.us/post?url=http://www.bloggingdeveloper.com/post/Tips-on-Forming-Search-Engine-Friendly-Pages---HTML-Tags-Elements-with-Great-Effect-on-Search-Engine-Rankings.aspx&amp;amp;title=7 HTML Elements that Search Engines Love - Tips on Forming Search Engine Friendly Pages" target="_blank" title="Del.icio.us"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/delicious_24.png" style="border: 0;" alt="Del.icio.us" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.newsvine.com/_wine/save?u=http://www.bloggingdeveloper.com/post/Tips-on-Forming-Search-Engine-Friendly-Pages---HTML-Tags-Elements-with-Great-Effect-on-Search-Engine-Rankings.aspx" target="_blank"title="NewsVine"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/newsvine_24.png" style="border: 0;" alt="NewsVine" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://furl.net" target="_blank" title="Furl"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/furl_24.png" style="border: 0;" alt="Furl" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://blinklist.com/submit/" target="_blank" title="BlinkList"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/blinklist_24.png" style="border: 0;" alt="BlinkList" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/YZf2328r2Xw" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/YZf2328r2Xw/post.aspx</link><author>bloggingdeveloper.nospam@nospam.bloggingdeveloper.com (Blogging Developer)</author><comments>http://www.bloggingdeveloper.com/post/Tips-on-Forming-Search-Engine-Friendly-Pages---HTML-Tags-Elements-with-Great-Effect-on-Search-Engine-Rankings.aspx#comment</comments><guid isPermaLink="false">http://www.bloggingdeveloper.com/post.aspx?id=295441c4-7d94-480f-ad8f-f72cd04b42e6</guid><pubDate>Tue, 04 Sep 2007 00:01:00 +0300</pubDate><category>Search Engine Optimization</category><category>All</category><dc:publisher>Blogging Developer</dc:publisher><pingback:server>http://www.bloggingdeveloper.com/pingback.axd</pingback:server><pingback:target>http://www.bloggingdeveloper.com/post.aspx?id=295441c4-7d94-480f-ad8f-f72cd04b42e6</pingback:target><slash:comments>0</slash:comments><trackback:ping>http://www.bloggingdeveloper.com/trackback.axd?id=295441c4-7d94-480f-ad8f-f72cd04b42e6</trackback:ping><wfw:comment>http://www.bloggingdeveloper.com/post/Tips-on-Forming-Search-Engine-Friendly-Pages---HTML-Tags-Elements-with-Great-Effect-on-Search-Engine-Rankings.aspx#comment</wfw:comment><wfw:commentRss>http://www.bloggingdeveloper.com/syndication.axd?post=295441c4-7d94-480f-ad8f-f72cd04b42e6</wfw:commentRss><feedburner:origLink>http://www.bloggingdeveloper.com/post.aspx?id=295441c4-7d94-480f-ad8f-f72cd04b42e6</feedburner:origLink></item><item><title>HeadScriptManager - A class library for registering scripts into the page header with ASP.NET 2.0</title><description>&lt;p align="justify"&gt;
The build in Page.ClientScript object allows you to place JavaScript inside an ASP.NET page. We cannot use this object to place JavaScript code or JavaScript include file into the head section of the page. 
&lt;/p&gt;
&lt;p align="justify"&gt;
With ASP.NET 2.0, Visual Studio 2005 automatically places the &lt;strong&gt;runat=&amp;quot;server&amp;quot;&lt;/strong&gt; attribute&amp;nbsp; in the head tag of each page which allows us&amp;nbsp;to interact with the page header. 
&lt;/p&gt;
&lt;p align="justify"&gt;
You may add JavaScript code inside the page header with the following code block: 
&lt;/p&gt;
&lt;p class="code"&gt;
HtmlGenericControl&amp;nbsp;include = new HtmlGenericControl(&amp;quot;script&amp;quot;);&lt;br /&gt;
include.Attributes.Add(&amp;quot;type&amp;quot;, &amp;quot;text/javascript&amp;quot;);&lt;br /&gt;
include.InnerHtml = &amp;quot;alert(&amp;#39;Hello World&amp;#39;);&amp;quot;;&lt;br /&gt;
this.Page.Header.Controls.Add(include); 
&lt;/p&gt;
&lt;p align="justify"&gt;
And, you may add JavaScript include file inside the page header with the following code block: 
&lt;/p&gt;
&lt;p class="code"&gt;
HtmlGenericControl include = new HtmlGenericControl(&amp;quot;script&amp;quot;); &lt;br /&gt;
include.Attributes.Add(&amp;quot;type&amp;quot;, &amp;quot;text/javascript&amp;quot;);&lt;br /&gt;
include.Attributes.Add(&amp;quot;src&amp;quot;, &amp;quot;/jsInclude.js&amp;quot;);&lt;br /&gt;
this.Page.Header.Controls.Add(include); 
&lt;/p&gt;
&lt;p align="justify"&gt;
Fortunately, &lt;a rel="nofollow" href="http://dotnetslackers.com/community/blogs/simoneb/default.aspx"&gt;Simone B&lt;/a&gt; created a library, to include/register scripts and style sheets into the head portion of an ASP.NET page. 
&lt;/p&gt;
&lt;div id="articleimg"&gt;
&lt;div id="image"&gt;
&lt;img src="/posts/aspnet/headscriptmanager.gif" alt="HeadScriptManager Class Diagram" title="HeadScriptManager Class Diagram" width="490" height="477" /&gt; 
&lt;/div&gt;
&lt;div id="explanation"&gt;
HeadScriptManager Class Diagram 
&lt;/div&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;p align="justify"&gt;
In order to use the class library, reference the assembly, create an instance of HeadScriptManager and call its methods. 
&lt;/p&gt;
&lt;p class="code"&gt;
HeadScriptManager hm = HeadScriptManager.Current;&lt;br /&gt;
hm.RegisterHeadScriptResource(typeof(jTip), &amp;quot;jTip.jTip.js&amp;quot;); 
&lt;/p&gt;
&lt;p align="justify"&gt;
&lt;a rel="nofollow" href="http://sourceforge.net/projects/busybox"&gt;Source and binaries are available at sourceforge.net.&lt;/a&gt; 
&lt;/p&gt;
&lt;div id="articleimg"&gt;
&lt;div id="image"&gt;
&lt;img src="/posts/aspnet/headscriptmanagercode.gif" alt="HeadScriptManager Sample Code" title="HeadScriptManager Sample Code" width="490" height="240" /&gt; 
&lt;/div&gt;
&lt;div id="explanation"&gt;
HeadScriptManager Sample Code 
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;div class="socialBookmarksContainer"&gt;&lt;a rel="nofollow" href="http://digg.com/submit/?url=http://www.bloggingdeveloper.com/post/HeadScriptManager---A-class-library-for-registering-scripts-into-the-page-header-with-ASPNET-20.aspx" target="_blank" title="Digg It!"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/digg_24.png" style="border: 0;" alt="Digg It!" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.dzone.com/links/add.html?url=http://www.bloggingdeveloper.com/post/HeadScriptManager---A-class-library-for-registering-scripts-into-the-page-header-with-ASPNET-20.aspx&amp;amp;title=HeadScriptManager - A class library for registering scripts into the page header with ASP.NET 2.0" target="_blank" title="DZone It!"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/dzone_24.png" style="border: 0;" alt="DZone It!" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.stumbleupon.com/submit?url=http://www.bloggingdeveloper.com/post/HeadScriptManager---A-class-library-for-registering-scripts-into-the-page-header-with-ASPNET-20.aspx" target="_blank" title="StumbleUpon"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/stumbleupon_24.png" style="border: 0;" alt="StumbleUpon" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://technorati.com/ping?url=http://www.bloggingdeveloper.com/" target="_blank" title="Technorati"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/technorati_24.png" style="border: 0;" alt="Technorati" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://reddit.com/submit?url=http://www.bloggingdeveloper.com/post/HeadScriptManager---A-class-library-for-registering-scripts-into-the-page-header-with-ASPNET-20.aspx&amp;amp;title=HeadScriptManager - A class library for registering scripts into the page header with ASP.NET 2.0" target="_blank" title="Reddit"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/reddit_24.png" style="border: 0;" alt="Reddit" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://del.icio.us/post?url=http://www.bloggingdeveloper.com/post/HeadScriptManager---A-class-library-for-registering-scripts-into-the-page-header-with-ASPNET-20.aspx&amp;amp;title=HeadScriptManager - A class library for registering scripts into the page header with ASP.NET 2.0" target="_blank" title="Del.icio.us"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/delicious_24.png" style="border: 0;" alt="Del.icio.us" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.newsvine.com/_wine/save?u=http://www.bloggingdeveloper.com/post/HeadScriptManager---A-class-library-for-registering-scripts-into-the-page-header-with-ASPNET-20.aspx" target="_blank"title="NewsVine"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/newsvine_24.png" style="border: 0;" alt="NewsVine" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://furl.net" target="_blank" title="Furl"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/furl_24.png" style="border: 0;" alt="Furl" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://blinklist.com/submit/" target="_blank" title="BlinkList"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/blinklist_24.png" style="border: 0;" alt="BlinkList" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/X1oGTV0G91Y" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/X1oGTV0G91Y/post.aspx</link><author>bloggingdeveloper.nospam@nospam.bloggingdeveloper.com (Blogging Developer)</author><comments>http://www.bloggingdeveloper.com/post/HeadScriptManager---A-class-library-for-registering-scripts-into-the-page-header-with-ASPNET-20.aspx#comment</comments><guid isPermaLink="false">http://www.bloggingdeveloper.com/post.aspx?id=50f7e2b5-f29c-4e14-8d97-69e48d28b3ad</guid><pubDate>Mon, 03 Sep 2007 12:20:00 +0300</pubDate><category>JavaScript</category><category>ASP.NET</category><category>C#</category><category>All</category><dc:publisher>Blogging Developer</dc:publisher><pingback:server>http://www.bloggingdeveloper.com/pingback.axd</pingback:server><pingback:target>http://www.bloggingdeveloper.com/post.aspx?id=50f7e2b5-f29c-4e14-8d97-69e48d28b3ad</pingback:target><slash:comments>3</slash:comments><trackback:ping>http://www.bloggingdeveloper.com/trackback.axd?id=50f7e2b5-f29c-4e14-8d97-69e48d28b3ad</trackback:ping><wfw:comment>http://www.bloggingdeveloper.com/post/HeadScriptManager---A-class-library-for-registering-scripts-into-the-page-header-with-ASPNET-20.aspx#comment</wfw:comment><wfw:commentRss>http://www.bloggingdeveloper.com/syndication.axd?post=50f7e2b5-f29c-4e14-8d97-69e48d28b3ad</wfw:commentRss><feedburner:origLink>http://www.bloggingdeveloper.com/post.aspx?id=50f7e2b5-f29c-4e14-8d97-69e48d28b3ad</feedburner:origLink></item><item><title>HTTP Error 401.3 - Unauthorized Error - While creating IIS 7.0 web site on Windows Vista</title><description>&lt;p align="justify"&gt;
After Migrating the application to work with the Integrated .NET mode, you might come across a problem: &lt;strong&gt;Server Error in Application &amp;quot;WebSiteName&amp;quot; - HTTP Error 401.3 &amp;ndash; Unauthorized&amp;nbsp;&lt;/strong&gt; 
&lt;/p&gt;
&lt;div id="articleimg"&gt;
&lt;div id="image"&gt;
&lt;img src="/pics/posts/iis7/401.3_Unauthorized.jpg" alt="HTTP Error 401.3 &amp;ndash; Unauthorized" title="HTTP Error 401.3 &amp;ndash; Unauthorized" width="500" height="395" /&gt; 
&lt;/div&gt;
&lt;div id="explanation"&gt;
HTTP Error 401.3 &amp;ndash; Unauthorized 
&lt;/div&gt;
&lt;div id="zoom"&gt;
&lt;a href="http://www.bloggingdeveloper.com/pics/posts/iis7/401.3_Unauthorized_large.jpg" title="Resolving HTTP Error 401.3 &amp;ndash; Unauthorized Error" class="thickbox"&gt;&lt;img src="/themes/BD/Images/icon_zoom.gif" border="0" alt="" width="45" height="30" /&gt;&lt;/a&gt; 
&lt;/div&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div id="articleimg"&gt;
&lt;div id="image"&gt;
&lt;img src="/pics/posts/iis7/IIS_Authentication.jpg" alt="Resolving HTTP Error 401.3 &amp;ndash; Unauthorized Error" title="Resolving HTTP Error 401.3 &amp;ndash; Unauthorized Error" width="500" height="426" /&gt; 
&lt;/div&gt;
&lt;div id="explanation"&gt;
Resolving HTTP Error 401.3 &amp;ndash; Unauthorized Error 
&lt;/div&gt;
&lt;div id="zoom"&gt;
&lt;a href="http://www.bloggingdeveloper.com/pics/posts/iis7/IIS_Authentication_large.jpg" title="Resolving HTTP Error 401.3 &amp;ndash; Unauthorized Error" class="thickbox"&gt;&lt;img src="/themes/BD/Images/icon_zoom.gif" border="0" alt="" width="45" height="30" /&gt;&lt;/a&gt; 
&lt;/div&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;p align="justify"&gt;
Click on Authentication and click edit after choosing Anonymous Authentication. In the opening window select Application Pool identity and click OK. 
&lt;/p&gt;
&lt;div id="articleimg"&gt;
&lt;div id="image"&gt;
&lt;img src="/pics/posts/iis7/Application_Pool_Identity.jpg" alt="Resolving HTTP Error 401.3 &amp;ndash; Unauthorized Error - Application Pool Identity" title="Resolving HTTP Error 401.3 &amp;ndash; Unauthorized Error - Application Pool Identity" width="500" height="411" /&gt; 
&lt;/div&gt;
&lt;div id="explanation"&gt;
Resolving HTTP Error 401.3 &amp;ndash; Unauthorized Error - Application Pool Identity 
&lt;/div&gt;
&lt;div id="zoom"&gt;
&lt;a href="http://www.bloggingdeveloper.com/pics/posts/iis7/Application_Pool_Identity_large.jpg" title="Resolving HTTP Error 401.3 &amp;ndash; Unauthorized Error - Application Pool Identity " class="thickbox"&gt;&lt;img src="/themes/BD/Images/icon_zoom.gif" border="0" alt="" width="45" height="30" /&gt;&lt;/a&gt; 
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;div class="socialBookmarksContainer"&gt;&lt;a rel="nofollow" href="http://digg.com/submit/?url=http://www.bloggingdeveloper.com/post/HTTP-Error-4013---Unauthorized-Error---While-creating-IIS-70-web-site-on-Windows-Vista.aspx" target="_blank" title="Digg It!"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/digg_24.png" style="border: 0;" alt="Digg It!" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.dzone.com/links/add.html?url=http://www.bloggingdeveloper.com/post/HTTP-Error-4013---Unauthorized-Error---While-creating-IIS-70-web-site-on-Windows-Vista.aspx&amp;amp;title=HTTP Error 401.3 - Unauthorized Error - While creating IIS 7.0 web site on Windows Vista" target="_blank" title="DZone It!"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/dzone_24.png" style="border: 0;" alt="DZone It!" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.stumbleupon.com/submit?url=http://www.bloggingdeveloper.com/post/HTTP-Error-4013---Unauthorized-Error---While-creating-IIS-70-web-site-on-Windows-Vista.aspx" target="_blank" title="StumbleUpon"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/stumbleupon_24.png" style="border: 0;" alt="StumbleUpon" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://technorati.com/ping?url=http://www.bloggingdeveloper.com/" target="_blank" title="Technorati"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/technorati_24.png" style="border: 0;" alt="Technorati" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://reddit.com/submit?url=http://www.bloggingdeveloper.com/post/HTTP-Error-4013---Unauthorized-Error---While-creating-IIS-70-web-site-on-Windows-Vista.aspx&amp;amp;title=HTTP Error 401.3 - Unauthorized Error - While creating IIS 7.0 web site on Windows Vista" target="_blank" title="Reddit"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/reddit_24.png" style="border: 0;" alt="Reddit" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://del.icio.us/post?url=http://www.bloggingdeveloper.com/post/HTTP-Error-4013---Unauthorized-Error---While-creating-IIS-70-web-site-on-Windows-Vista.aspx&amp;amp;title=HTTP Error 401.3 - Unauthorized Error - While creating IIS 7.0 web site on Windows Vista" target="_blank" title="Del.icio.us"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/delicious_24.png" style="border: 0;" alt="Del.icio.us" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.newsvine.com/_wine/save?u=http://www.bloggingdeveloper.com/post/HTTP-Error-4013---Unauthorized-Error---While-creating-IIS-70-web-site-on-Windows-Vista.aspx" target="_blank"title="NewsVine"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/newsvine_24.png" style="border: 0;" alt="NewsVine" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://furl.net" target="_blank" title="Furl"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/furl_24.png" style="border: 0;" alt="Furl" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://blinklist.com/submit/" target="_blank" title="BlinkList"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/blinklist_24.png" style="border: 0;" alt="BlinkList" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/uaeXzngzw3c" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/uaeXzngzw3c/post.aspx</link><author>bloggingdeveloper.nospam@nospam.bloggingdeveloper.com (Blogging Developer)</author><comments>http://www.bloggingdeveloper.com/post/HTTP-Error-4013---Unauthorized-Error---While-creating-IIS-70-web-site-on-Windows-Vista.aspx#comment</comments><guid isPermaLink="false">http://www.bloggingdeveloper.com/post.aspx?id=65a3b3f8-6ad2-4175-8251-1ade16cd9a45</guid><pubDate>Sun, 02 Sep 2007 15:29:00 +0300</pubDate><category>IIS 7.0</category><category>Errors</category><category>All</category><dc:publisher>Blogging Developer</dc:publisher><pingback:server>http://www.bloggingdeveloper.com/pingback.axd</pingback:server><pingback:target>http://www.bloggingdeveloper.com/post.aspx?id=65a3b3f8-6ad2-4175-8251-1ade16cd9a45</pingback:target><slash:comments>1</slash:comments><trackback:ping>http://www.bloggingdeveloper.com/trackback.axd?id=65a3b3f8-6ad2-4175-8251-1ade16cd9a45</trackback:ping><wfw:comment>http://www.bloggingdeveloper.com/post/HTTP-Error-4013---Unauthorized-Error---While-creating-IIS-70-web-site-on-Windows-Vista.aspx#comment</wfw:comment><wfw:commentRss>http://www.bloggingdeveloper.com/syndication.axd?post=65a3b3f8-6ad2-4175-8251-1ade16cd9a45</wfw:commentRss><feedburner:origLink>http://www.bloggingdeveloper.com/post.aspx?id=65a3b3f8-6ad2-4175-8251-1ade16cd9a45</feedburner:origLink></item><item><title>HTTP Error 500.0 - Internal Server Error - While creating IIS 7.0 web site on Windows Vista</title><description>&lt;p align="justify"&gt;
You might have come across to the following &amp;ldquo;&lt;strong&gt;HTTP Error 500.0 - Internal Server Error&lt;/strong&gt;&amp;rdquo; while working on Windows Vista.&amp;nbsp; 
&lt;/p&gt;
&lt;div id="articleimg"&gt;
&lt;div id="image"&gt;
&lt;img src="/pics/posts/iis7/http_error_500.0_internal_server_error.jpg" border="6" alt="HTTP Error 500.0 - Internal Server Error" title="HTTP Error 500.0 - Internal Server Error" width="480" height="363" /&gt; 
&lt;/div&gt;
&lt;div id="explanation"&gt;
HTTP Error 500.0 - Internal Server Error 
&lt;/div&gt;
&lt;div id="zoom"&gt;
&lt;a href="http://www.bloggingdeveloper.com/pics/posts/iis7/http_error_500.0_internal_server_error_large.jpg" title="HTTP Error 500.0 - Internal Server Error" class="thickbox"&gt;&lt;img src="/themes/BD/Images/icon_zoom.gif" border="0" alt="" width="45" height="30" /&gt;&lt;/a&gt; 
&lt;/div&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;p align="justify"&gt;
Follow the directions shown on the error message to resolve the problem: 
&lt;/p&gt;
&lt;p class="quote"&gt;
You can migrate the application configuration, including the contents of the configuration section, by using the following from a command line window (the window must be running as Administrator): &lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;%systemroot%\system32\inetsrv\APPCMD.EXE migrate config &amp;quot;bloggingdeveloper/&amp;quot;&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;1) Migrate the application to work with the Integrated .NET mode (PREFERRED).&lt;/strong&gt; &lt;br /&gt;
&lt;br /&gt;
You can migrate the application configuration, including the contents of the configuration section, by using the following from a command line window (the window must be running as Administrator): &lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;%systemroot%\system32\inetsrv\APPCMD.EXE migrate config &amp;quot;bloggingdeveloper/&amp;quot;&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
After you migrate your application, it will run in both Classic and Integrated .NET modes, as well as on downlevel platforms. &lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;2) Move this application to an application pool using the Classic .NET mode.&lt;/strong&gt; &lt;br /&gt;
&lt;br /&gt;
You can move the application to the default application pool using the Classic .NET mode by running the following from an command line window (the window must be running as Administrator):&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;%systemroot%\system32\inetsrv\APPCMD.EXE set app &amp;quot;bloggingdeveloper/&amp;quot; /applicationPool:&amp;quot;Classic .NET AppPool&amp;quot;&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
Alternatively, you can use any other application pool on your system that is running in the Classic .NET mode. You can also use the IIS Administration tool to move this application to another application pool. 
&lt;/p&gt;
&lt;div class="socialBookmarksContainer"&gt;&lt;a rel="nofollow" href="http://digg.com/submit/?url=http://www.bloggingdeveloper.com/post/HTTP-Error-5000---Internal-Server-Error---While-creating-IIS-70-web-site-on-Windows-Vista.aspx" target="_blank" title="Digg It!"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/digg_24.png" style="border: 0;" alt="Digg It!" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.dzone.com/links/add.html?url=http://www.bloggingdeveloper.com/post/HTTP-Error-5000---Internal-Server-Error---While-creating-IIS-70-web-site-on-Windows-Vista.aspx&amp;amp;title=HTTP Error 500.0 - Internal Server Error - While creating IIS 7.0 web site on Windows Vista" target="_blank" title="DZone It!"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/dzone_24.png" style="border: 0;" alt="DZone It!" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.stumbleupon.com/submit?url=http://www.bloggingdeveloper.com/post/HTTP-Error-5000---Internal-Server-Error---While-creating-IIS-70-web-site-on-Windows-Vista.aspx" target="_blank" title="StumbleUpon"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/stumbleupon_24.png" style="border: 0;" alt="StumbleUpon" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://technorati.com/ping?url=http://www.bloggingdeveloper.com/" target="_blank" title="Technorati"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/technorati_24.png" style="border: 0;" alt="Technorati" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://reddit.com/submit?url=http://www.bloggingdeveloper.com/post/HTTP-Error-5000---Internal-Server-Error---While-creating-IIS-70-web-site-on-Windows-Vista.aspx&amp;amp;title=HTTP Error 500.0 - Internal Server Error - While creating IIS 7.0 web site on Windows Vista" target="_blank" title="Reddit"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/reddit_24.png" style="border: 0;" alt="Reddit" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://del.icio.us/post?url=http://www.bloggingdeveloper.com/post/HTTP-Error-5000---Internal-Server-Error---While-creating-IIS-70-web-site-on-Windows-Vista.aspx&amp;amp;title=HTTP Error 500.0 - Internal Server Error - While creating IIS 7.0 web site on Windows Vista" target="_blank" title="Del.icio.us"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/delicious_24.png" style="border: 0;" alt="Del.icio.us" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.newsvine.com/_wine/save?u=http://www.bloggingdeveloper.com/post/HTTP-Error-5000---Internal-Server-Error---While-creating-IIS-70-web-site-on-Windows-Vista.aspx" target="_blank"title="NewsVine"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/newsvine_24.png" style="border: 0;" alt="NewsVine" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://furl.net" target="_blank" title="Furl"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/furl_24.png" style="border: 0;" alt="Furl" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://blinklist.com/submit/" target="_blank" title="BlinkList"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/blinklist_24.png" style="border: 0;" alt="BlinkList" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/6S_fW5TNK08" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/6S_fW5TNK08/post.aspx</link><author>bloggingdeveloper.nospam@nospam.bloggingdeveloper.com (Blogging Developer)</author><comments>http://www.bloggingdeveloper.com/post/HTTP-Error-5000---Internal-Server-Error---While-creating-IIS-70-web-site-on-Windows-Vista.aspx#comment</comments><guid isPermaLink="false">http://www.bloggingdeveloper.com/post.aspx?id=fa7a3179-2770-486e-bff6-0ae01a6e2035</guid><pubDate>Sat, 01 Sep 2007 15:44:00 +0300</pubDate><category>IIS 7.0</category><category>Errors</category><category>All</category><dc:publisher>Blogging Developer</dc:publisher><pingback:server>http://www.bloggingdeveloper.com/pingback.axd</pingback:server><pingback:target>http://www.bloggingdeveloper.com/post.aspx?id=fa7a3179-2770-486e-bff6-0ae01a6e2035</pingback:target><slash:comments>0</slash:comments><trackback:ping>http://www.bloggingdeveloper.com/trackback.axd?id=fa7a3179-2770-486e-bff6-0ae01a6e2035</trackback:ping><wfw:comment>http://www.bloggingdeveloper.com/post/HTTP-Error-5000---Internal-Server-Error---While-creating-IIS-70-web-site-on-Windows-Vista.aspx#comment</wfw:comment><wfw:commentRss>http://www.bloggingdeveloper.com/syndication.axd?post=fa7a3179-2770-486e-bff6-0ae01a6e2035</wfw:commentRss><feedburner:origLink>http://www.bloggingdeveloper.com/post.aspx?id=fa7a3179-2770-486e-bff6-0ae01a6e2035</feedburner:origLink></item><item><title>HTTP Error 500.19 - Internal Server Error - While creating IIS 7.0 web site on Windows Vista</title><description>&lt;p align="justify"&gt;
You might have come across to the following &amp;ldquo;&lt;strong&gt;HTTP Error 500.19 - Internal Server Error&lt;/strong&gt;&amp;rdquo; while trying to create IIS 7.0 web site on Windows Vista. Actually Microsoft has tightened the security on Windows Vista and most of the time it is annoying when it asks your permission.&amp;nbsp; 
&lt;/p&gt;
&lt;div id="articleimg"&gt;
&lt;div id="image"&gt;
&lt;img src="/pics/posts/iis7/500.19_Internal_Server_Error.jpg" alt="HTTP Error 500.19 - Internal Server Error" title="HTTP Error 500.19 - Internal Server Error" width="480" height="359" /&gt; 
&lt;/div&gt;
&lt;div id="explanation"&gt;
HTTP Error 500.19 - Internal Server Error 
&lt;/div&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;p&gt;
To resolve this problem: 
&lt;/p&gt;
&lt;p&gt;
Compile the project and place the deployable files under C:\Inetpub\wwwroot\. Make sure that the physical path of the respective Application (e.g. BloggingDeveloper in above error case) under IIS now points to new path. 
&lt;/p&gt;
&lt;p&gt;
OR 
&lt;/p&gt;
&lt;p&gt;
Browse your application root folder and add group IIS_IUSRs. 
&lt;/p&gt;
&lt;div id="articleimg"&gt;
&lt;div id="image"&gt;
&lt;img src="/pics/posts/iis7/Folder_Permissions.jpg" alt="Resolving HTTP Error 500.19 - Internal Server Error" title="Resolving HTTP Error 500.19 - Internal Server Error" width="500" height="463" /&gt; 
&lt;/div&gt;
&lt;div id="explanation"&gt;
Resolving HTTP Error 500.19 - Internal Server Error 
&lt;/div&gt;
&lt;div id="zoom"&gt;
&lt;a href="http://www.bloggingdeveloper.com/pics/posts/iis7/Folder_Permissions_large.jpg" title="Resolving HTTP Error 500.19 - Internal Server Error " class="thickbox"&gt;&lt;img src="/themes/BD/Images/icon_zoom.gif" border="0" alt="" width="45" height="30" /&gt;&lt;/a&gt; 
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;div class="socialBookmarksContainer"&gt;&lt;a rel="nofollow" href="http://digg.com/submit/?url=http://www.bloggingdeveloper.com/post/HTTP-Error-50019---Internal-Server-Error---While-creating-IIS-70-web-site-on-Windows-Vista.aspx" target="_blank" title="Digg It!"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/digg_24.png" style="border: 0;" alt="Digg It!" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.dzone.com/links/add.html?url=http://www.bloggingdeveloper.com/post/HTTP-Error-50019---Internal-Server-Error---While-creating-IIS-70-web-site-on-Windows-Vista.aspx&amp;amp;title=HTTP Error 500.19 - Internal Server Error - While creating IIS 7.0 web site on Windows Vista" target="_blank" title="DZone It!"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/dzone_24.png" style="border: 0;" alt="DZone It!" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.stumbleupon.com/submit?url=http://www.bloggingdeveloper.com/post/HTTP-Error-50019---Internal-Server-Error---While-creating-IIS-70-web-site-on-Windows-Vista.aspx" target="_blank" title="StumbleUpon"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/stumbleupon_24.png" style="border: 0;" alt="StumbleUpon" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://technorati.com/ping?url=http://www.bloggingdeveloper.com/" target="_blank" title="Technorati"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/technorati_24.png" style="border: 0;" alt="Technorati" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://reddit.com/submit?url=http://www.bloggingdeveloper.com/post/HTTP-Error-50019---Internal-Server-Error---While-creating-IIS-70-web-site-on-Windows-Vista.aspx&amp;amp;title=HTTP Error 500.19 - Internal Server Error - While creating IIS 7.0 web site on Windows Vista" target="_blank" title="Reddit"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/reddit_24.png" style="border: 0;" alt="Reddit" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://del.icio.us/post?url=http://www.bloggingdeveloper.com/post/HTTP-Error-50019---Internal-Server-Error---While-creating-IIS-70-web-site-on-Windows-Vista.aspx&amp;amp;title=HTTP Error 500.19 - Internal Server Error - While creating IIS 7.0 web site on Windows Vista" target="_blank" title="Del.icio.us"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/delicious_24.png" style="border: 0;" alt="Del.icio.us" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.newsvine.com/_wine/save?u=http://www.bloggingdeveloper.com/post/HTTP-Error-50019---Internal-Server-Error---While-creating-IIS-70-web-site-on-Windows-Vista.aspx" target="_blank"title="NewsVine"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/newsvine_24.png" style="border: 0;" alt="NewsVine" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://furl.net" target="_blank" title="Furl"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/furl_24.png" style="border: 0;" alt="Furl" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://blinklist.com/submit/" target="_blank" title="BlinkList"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/blinklist_24.png" style="border: 0;" alt="BlinkList" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/nXKx3E939KE" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/nXKx3E939KE/post.aspx</link><author>bloggingdeveloper.nospam@nospam.bloggingdeveloper.com (Blogging Developer)</author><comments>http://www.bloggingdeveloper.com/post/HTTP-Error-50019---Internal-Server-Error---While-creating-IIS-70-web-site-on-Windows-Vista.aspx#comment</comments><guid isPermaLink="false">http://www.bloggingdeveloper.com/post.aspx?id=74dc3dfd-8cad-4879-93d1-73a93e8c9d3d</guid><pubDate>Sat, 01 Sep 2007 15:14:00 +0300</pubDate><category>IIS 7.0</category><category>Errors</category><category>All</category><dc:publisher>Blogging Developer</dc:publisher><pingback:server>http://www.bloggingdeveloper.com/pingback.axd</pingback:server><pingback:target>http://www.bloggingdeveloper.com/post.aspx?id=74dc3dfd-8cad-4879-93d1-73a93e8c9d3d</pingback:target><slash:comments>1</slash:comments><trackback:ping>http://www.bloggingdeveloper.com/trackback.axd?id=74dc3dfd-8cad-4879-93d1-73a93e8c9d3d</trackback:ping><wfw:comment>http://www.bloggingdeveloper.com/post/HTTP-Error-50019---Internal-Server-Error---While-creating-IIS-70-web-site-on-Windows-Vista.aspx#comment</wfw:comment><wfw:commentRss>http://www.bloggingdeveloper.com/syndication.axd?post=74dc3dfd-8cad-4879-93d1-73a93e8c9d3d</wfw:commentRss><feedburner:origLink>http://www.bloggingdeveloper.com/post.aspx?id=74dc3dfd-8cad-4879-93d1-73a93e8c9d3d</feedburner:origLink></item><item><title>Cross-Browser solution for correcting mysterious yellow input fields caused by Google Toolbar's AutoFill feature</title><description>&lt;p align="justify"&gt;
I recently posted about &lt;a href="http://www.bloggingdeveloper.com/post/correcting-mysterious-yellow-input-fields-caused-by-Google-Toolbar's-AutoFill-feature.aspx" title=" Correcting mysterious yellow input fields caused by Google Toolbar's AutoFill feature"&gt;correcting mysterious yellow input fields caused by Google Toolbar&amp;#39;s AutoFill feature.&lt;/a&gt; However, today I discovered that the JavaScript given in the post only corrects the background color in Internet Explorer. The reason is simple: &lt;strong&gt;onPropertyChange &lt;/strong&gt;event handler is not defined for other browsers. 
&lt;/p&gt;
&lt;p align="justify"&gt;
So I wrote a cross-browser JavaScript code snippet to correct the yellow background color of input fields.&amp;nbsp; 
&lt;/p&gt;
&lt;p align="justify"&gt;
Copy and paste the following script into the head section of your HTML document.&amp;nbsp; 
&lt;/p&gt;
&lt;p class="code"&gt;
&amp;lt;script language=&amp;quot;JavaScript&amp;quot; type=&amp;quot;text/javascript&amp;quot;&amp;gt; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; if(window.attachEvent)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; {//Attach to onload event in IE&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; window.attachEvent(&amp;quot;onload&amp;quot;,resetStyles);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; {//Attach to load event in Other Browser&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; window.addEventListener(&amp;quot;load&amp;quot;,resetStyles,false);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Attach to focus event in other browsers to disable&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //background color change in tabbed browsing&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; window.addEventListener(&amp;quot;focus&amp;quot;,resetStyles,false);&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; function resetStyles()&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; resetStyle(&amp;#39;input&amp;#39;);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; resetStyle(&amp;#39;select&amp;#39;);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; function resetStyle(inputType)&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; var count=document.getElementsByTagName(inputType);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for(var i=0;i&amp;lt;count.length;i++)&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; if(window.attachEvent)&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; {//Attach to onpropertychange event in IE&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; count[i].attachEvent(&amp;#39;onpropertychange&amp;#39;,resetBC);&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; {//Apply the style reset onload&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; resetOther(count[i]);&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; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; function resetOther(El)&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; if(El.style.backgroundColor!=&amp;#39;&amp;#39;)&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; El.style.backgroundColor=&amp;#39;&amp;#39;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; function resetBC()&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; if(event.srcElement.style.backgroundColor!=&amp;#39;&amp;#39;)&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; event.srcElement.style.backgroundColor=&amp;#39;&amp;#39;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;lt;/script&amp;gt; 
&lt;/p&gt;
&lt;p&gt;
The code snippet is tested with the following browsers: 
&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;Internet Explorer 5&lt;/li&gt;
	&lt;li&gt;Internet Explorer 6&lt;/li&gt;
	&lt;li&gt;Internet Explorer 7&lt;/li&gt;
	&lt;li&gt;Mozilla Firefox 2+&lt;/li&gt;
	&lt;li&gt;Opera&lt;/li&gt;
	&lt;li&gt;Safari&lt;br /&gt;
	&lt;br /&gt;
	&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="socialBookmarksContainer"&gt;&lt;a rel="nofollow" href="http://digg.com/submit/?url=http://www.bloggingdeveloper.com/post/Cross-Browser-solution-for-correcting-mysterious-yellow-input-fields-caused-by-Google-Toolbars-AutoFill-feature.aspx" target="_blank" title="Digg It!"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/digg_24.png" style="border: 0;" alt="Digg It!" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.dzone.com/links/add.html?url=http://www.bloggingdeveloper.com/post/Cross-Browser-solution-for-correcting-mysterious-yellow-input-fields-caused-by-Google-Toolbars-AutoFill-feature.aspx&amp;amp;title=Cross-Browser solution for correcting mysterious yellow input fields caused by Google Toolbar's AutoFill feature" target="_blank" title="DZone It!"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/dzone_24.png" style="border: 0;" alt="DZone It!" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.stumbleupon.com/submit?url=http://www.bloggingdeveloper.com/post/Cross-Browser-solution-for-correcting-mysterious-yellow-input-fields-caused-by-Google-Toolbars-AutoFill-feature.aspx" target="_blank" title="StumbleUpon"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/stumbleupon_24.png" style="border: 0;" alt="StumbleUpon" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://technorati.com/ping?url=http://www.bloggingdeveloper.com/" target="_blank" title="Technorati"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/technorati_24.png" style="border: 0;" alt="Technorati" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://reddit.com/submit?url=http://www.bloggingdeveloper.com/post/Cross-Browser-solution-for-correcting-mysterious-yellow-input-fields-caused-by-Google-Toolbars-AutoFill-feature.aspx&amp;amp;title=Cross-Browser solution for correcting mysterious yellow input fields caused by Google Toolbar's AutoFill feature" target="_blank" title="Reddit"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/reddit_24.png" style="border: 0;" alt="Reddit" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://del.icio.us/post?url=http://www.bloggingdeveloper.com/post/Cross-Browser-solution-for-correcting-mysterious-yellow-input-fields-caused-by-Google-Toolbars-AutoFill-feature.aspx&amp;amp;title=Cross-Browser solution for correcting mysterious yellow input fields caused by Google Toolbar's AutoFill feature" target="_blank" title="Del.icio.us"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/delicious_24.png" style="border: 0;" alt="Del.icio.us" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.newsvine.com/_wine/save?u=http://www.bloggingdeveloper.com/post/Cross-Browser-solution-for-correcting-mysterious-yellow-input-fields-caused-by-Google-Toolbars-AutoFill-feature.aspx" target="_blank"title="NewsVine"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/newsvine_24.png" style="border: 0;" alt="NewsVine" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://furl.net" target="_blank" title="Furl"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/furl_24.png" style="border: 0;" alt="Furl" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://blinklist.com/submit/" target="_blank" title="BlinkList"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/blinklist_24.png" style="border: 0;" alt="BlinkList" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/ZpvsgyvDe2U" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/ZpvsgyvDe2U/post.aspx</link><author>bloggingdeveloper.nospam@nospam.bloggingdeveloper.com (Blogging Developer)</author><comments>http://www.bloggingdeveloper.com/post/Cross-Browser-solution-for-correcting-mysterious-yellow-input-fields-caused-by-Google-Toolbars-AutoFill-feature.aspx#comment</comments><guid isPermaLink="false">http://www.bloggingdeveloper.com/post.aspx?id=b8ae6587-1f14-4267-85c7-667c9013119a</guid><pubDate>Fri, 31 Aug 2007 13:36:00 +0300</pubDate><category>JavaScript</category><category>ASP.NET</category><category>All</category><dc:publisher>Blogging Developer</dc:publisher><pingback:server>http://www.bloggingdeveloper.com/pingback.axd</pingback:server><pingback:target>http://www.bloggingdeveloper.com/post.aspx?id=b8ae6587-1f14-4267-85c7-667c9013119a</pingback:target><slash:comments>1</slash:comments><trackback:ping>http://www.bloggingdeveloper.com/trackback.axd?id=b8ae6587-1f14-4267-85c7-667c9013119a</trackback:ping><wfw:comment>http://www.bloggingdeveloper.com/post/Cross-Browser-solution-for-correcting-mysterious-yellow-input-fields-caused-by-Google-Toolbars-AutoFill-feature.aspx#comment</wfw:comment><wfw:commentRss>http://www.bloggingdeveloper.com/syndication.axd?post=b8ae6587-1f14-4267-85c7-667c9013119a</wfw:commentRss><feedburner:origLink>http://www.bloggingdeveloper.com/post.aspx?id=b8ae6587-1f14-4267-85c7-667c9013119a</feedburner:origLink></item><item><title>Error: the current trust level does not allow use of the 'compilerOptions' attribute - When building ASP.NET website with Visual Studio 2008 Beta 2 or Visual Web Developer 2008 Express</title><description>&lt;p align="justify"&gt;
When building ASP.NET website with Visual Studio 2008 Beta 2 or Visual Web Developer 2008 Express, a new entry in the applications web.config configuration file is inserted. This is done when the user creates a new project, or migrates an existing website to use .NET Framework 3.5. 
&lt;/p&gt;
&lt;p&gt;
An example of the configuration entry is given below:
&lt;/p&gt;
&lt;p class="code"&gt;
&amp;lt;system.codedom&amp;gt; &lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;lt;compilers&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;compiler language=&amp;quot;c#;cs;csharp&amp;quot; extension=&amp;quot;.cs&amp;quot; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; type=&amp;quot;Microsoft.CSharp.CSharpCodeProvider,System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089&amp;quot; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; warningLevel=&amp;quot;4&amp;quot; compilerOptions=&amp;quot;/warnaserror-&amp;quot;&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;providerOption name=&amp;quot;CompilerVersion&amp;quot; value=&amp;quot;v3.5&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/compiler&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;compiler language=&amp;quot;vb;vbs;visualbasic;vbscript&amp;quot; extension=&amp;quot;.vb&amp;quot; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; type=&amp;quot;Microsoft.VisualBasic.VBCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089&amp;quot; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; compilerOptions=&amp;quot;/optioninfer+&amp;quot;&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;providerOption name=&amp;quot;CompilerVersion&amp;quot; value=&amp;quot;v3.5&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/compiler&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;lt;/compilers&amp;gt;&lt;br /&gt;
&amp;lt;/system.codedom&amp;gt;&lt;br /&gt;
&lt;/p&gt;
&lt;div id="articleimg"&gt;
&lt;div id="image"&gt;
&lt;img src="/posts/error/compiler_options.gif" alt="Compiler Options" title="Compiler Options" /&gt; 
&lt;/div&gt;
&lt;div id="explanation"&gt;
Compiler Options
&lt;/div&gt;
&lt;div id="zoom"&gt;
&lt;a href="http://www.bloggingdeveloper.com/posts/error/compiler_options_large.gif" title="Compiler Options" class="thickbox"&gt;&lt;img src="/themes/BD/Images/icon_zoom.gif" border="0" alt="" width="45" height="30" /&gt;&lt;/a&gt; 
&lt;/div&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;p&gt;
Since The compilerOptions setting is not allowed in medium trust or a partial trust, when this website runs in medium trust or any partial trust setting, ASP.NET will raise the following error 
&lt;/p&gt;
&lt;p align="justify"&gt;
&lt;strong&gt;&amp;ldquo;the current trust level does not allow use of the &amp;lsquo;compilerOptions&amp;rsquo; attribute&amp;rdquo;.&lt;/strong&gt;
&lt;/p&gt;
&lt;div id="articleimg"&gt;
&lt;div id="image"&gt;
&lt;img src="/posts/error/current_trust_level_does_not_allow_use_of_the_compiler_options_attribute.gif" alt="The current trust level does not allow use of the 'compilerOptions' attribute" title="The current trust level does not allow use of the 'compilerOptions' attribute" /&gt; 
&lt;/div&gt;
&lt;div id="explanation"&gt;
The current trust level does not allow use of the &amp;#39;compilerOptions&amp;#39; attribute
&lt;/div&gt;
&lt;div id="zoom"&gt;
&lt;a href="http://www.bloggingdeveloper.com/posts/error/current_trust_level_does_not_allow_use_of_the_compiler_options_attribute_large.gif" title="The current trust level does not allow use of the 'compilerOptions' attribute" class="thickbox"&gt;&lt;img src="/themes/BD/Images/icon_zoom.gif" border="0" alt="" width="45" height="30" /&gt;&lt;/a&gt; 
&lt;/div&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;Solution 1: &lt;/h3&gt;&lt;br /&gt;
&lt;p align="justify"&gt;
To solve the problem, you have to remove the &lt;strong&gt;compilerOptions&lt;/strong&gt; setting and the &lt;strong&gt;warningLevel&lt;/strong&gt; setting, from configuration section in web.config file after creating or migrating the application. After the change, the settings should appear as follows:
&lt;/p&gt;
&lt;p class="code"&gt;
&amp;lt;system.codedom&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;lt;compilers&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;compiler language=&amp;quot;c#;cs;csharp&amp;quot; extension=&amp;quot;.cs&amp;quot; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; type=&amp;quot;Microsoft.CSharp.CSharpCodeProvider,System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089&amp;quot;&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;providerOption name=&amp;quot;CompilerVersion&amp;quot; value=&amp;quot;v3.5&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/compiler&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;compiler language=&amp;quot;vb;vbs;visualbasic;vbscript&amp;quot; extension=&amp;quot;.vb&amp;quot; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; type=&amp;quot;Microsoft.VisualBasic.VBCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089&amp;quot;&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;providerOption name=&amp;quot;CompilerVersion&amp;quot; value=&amp;quot;v3.5&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/compiler&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;lt;/compilers&amp;gt;&lt;br /&gt;
&amp;lt;/system.codedom&amp;gt;
&lt;/p&gt;
&lt;h3&gt;Solution 2: &lt;/h3&gt;&lt;br /&gt;
&lt;p align="justify"&gt;
To solve the problem open the web.config file and add/change the trust level as follows:
&lt;/p&gt;
&lt;p class="code"&gt;
&amp;lt;system.web&amp;gt;
&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;lt;trust level=&amp;quot;Full&amp;quot;/&amp;gt;
&lt;br /&gt;
&amp;lt;/system.web&amp;gt;
&lt;/p&gt;
&lt;p align="justify"&gt;
Finally, rebuild the project.
&lt;/p&gt;
&lt;div class="socialBookmarksContainer"&gt;&lt;a rel="nofollow" href="http://digg.com/submit/?url=http://www.bloggingdeveloper.com/post/Error-the-current-trust-level-does-not-allow-use-of-the-compilerOptions-attribute---When-building-ASPNET-website-with-Visual-Studio-2008-Beta-2-or-Visual-Web-Developer-2008-Express.aspx" target="_blank" title="Digg It!"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/digg_24.png" style="border: 0;" alt="Digg It!" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.dzone.com/links/add.html?url=http://www.bloggingdeveloper.com/post/Error-the-current-trust-level-does-not-allow-use-of-the-compilerOptions-attribute---When-building-ASPNET-website-with-Visual-Studio-2008-Beta-2-or-Visual-Web-Developer-2008-Express.aspx&amp;amp;title=Error: the current trust level does not allow use of the 'compilerOptions' attribute - When building ASP.NET website with Visual Studio 2008 Beta 2 or Visual Web Developer 2008 Express" target="_blank" title="DZone It!"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/dzone_24.png" style="border: 0;" alt="DZone It!" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.stumbleupon.com/submit?url=http://www.bloggingdeveloper.com/post/Error-the-current-trust-level-does-not-allow-use-of-the-compilerOptions-attribute---When-building-ASPNET-website-with-Visual-Studio-2008-Beta-2-or-Visual-Web-Developer-2008-Express.aspx" target="_blank" title="StumbleUpon"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/stumbleupon_24.png" style="border: 0;" alt="StumbleUpon" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://technorati.com/ping?url=http://www.bloggingdeveloper.com/" target="_blank" title="Technorati"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/technorati_24.png" style="border: 0;" alt="Technorati" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://reddit.com/submit?url=http://www.bloggingdeveloper.com/post/Error-the-current-trust-level-does-not-allow-use-of-the-compilerOptions-attribute---When-building-ASPNET-website-with-Visual-Studio-2008-Beta-2-or-Visual-Web-Developer-2008-Express.aspx&amp;amp;title=Error: the current trust level does not allow use of the 'compilerOptions' attribute - When building ASP.NET website with Visual Studio 2008 Beta 2 or Visual Web Developer 2008 Express" target="_blank" title="Reddit"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/reddit_24.png" style="border: 0;" alt="Reddit" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://del.icio.us/post?url=http://www.bloggingdeveloper.com/post/Error-the-current-trust-level-does-not-allow-use-of-the-compilerOptions-attribute---When-building-ASPNET-website-with-Visual-Studio-2008-Beta-2-or-Visual-Web-Developer-2008-Express.aspx&amp;amp;title=Error: the current trust level does not allow use of the 'compilerOptions' attribute - When building ASP.NET website with Visual Studio 2008 Beta 2 or Visual Web Developer 2008 Express" target="_blank" title="Del.icio.us"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/delicious_24.png" style="border: 0;" alt="Del.icio.us" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://www.newsvine.com/_wine/save?u=http://www.bloggingdeveloper.com/post/Error-the-current-trust-level-does-not-allow-use-of-the-compilerOptions-attribute---When-building-ASPNET-website-with-Visual-Studio-2008-Beta-2-or-Visual-Web-Developer-2008-Express.aspx" target="_blank"title="NewsVine"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/newsvine_24.png" style="border: 0;" alt="NewsVine" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://furl.net" target="_blank" title="Furl"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/furl_24.png" style="border: 0;" alt="Furl" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://blinklist.com/submit/" target="_blank" title="BlinkList"&gt;&lt;img src="/themes/bd/images/socialbookmarks/square/blinklist_24.png" style="border: 0;" alt="BlinkList" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/-A9oQdx2ibM" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/-A9oQdx2ibM/post.aspx</link><author>bloggingdeveloper.nospam@nospam.bloggingdeveloper.com (Blogging Developer)</author><comments>http://www.bloggingdeveloper.com/post/Error-the-current-trust-level-does-not-allow-use-of-the-compilerOptions-attribute---When-building-ASPNET-website-with-Visual-Studio-2008-Beta-2-or-Visual-Web-Developer-2008-Express.aspx#comment</comments><guid isPermaLink="false">http://www.bloggingdeveloper.com/post.aspx?id=12f1e65f-8611-45ca-b103-871c521f514b</guid><pubDate>Fri, 31 Aug 2007 12:20:00 +0300</pubDate><category>Errors</category><category>All</category><dc:publisher>Blogging Developer</dc:publisher><pingback:server>http://www.bloggingdeveloper.com/pingback.axd</pingback:server><pingback:target>http://www.bloggingdeveloper.com/post.aspx?id=12f1e65f-8611-45ca-b103-871c521f514b</pingback:target><slash:comments>0</slash:comments><trackback:ping>http://www.bloggingdeveloper.com/trackback.axd?id=12f1e65f-8611-45ca-b103-871c521f514b</trackback:ping><wfw:comment>http://www.bloggingdeveloper.com/post/Error-the-current-trust-level-does-not-allow-use-of-the-compilerOptions-attribute---When-building-ASPNET-website-with-Visual-Studio-2008-Beta-2-or-Visual-Web-Developer-2008-Express.aspx#comment</wfw:comment><wfw:commentRss>http://www.bloggingdeveloper.com/syndication.axd?post=12f1e65f-8611-45ca-b103-871c521f514b</wfw:commentRss><feedburner:origLink>http://www.bloggingdeveloper.com/post.aspx?id=12f1e65f-8611-45ca-b103-871c521f514b</feedburner:origLink></item></channel>
</rss>
