<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-1772193723421012238</id><updated>2026-03-03T00:27:00.344-08:00</updated><category term="ASP.NET"/><category term="People Skills"/><category term="Microsoft Certifications"/><category term="earn money"/><title type='text'>DreamBig Technologies</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://dreambigtechnologies.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1772193723421012238/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://dreambigtechnologies.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/1772193723421012238/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>DreamBig</name><uri>http://www.blogger.com/profile/06759530190301952355</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://i220.photobucket.com/albums/dd161/dreambigtechnologies/DSCF8495.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>26</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-1772193723421012238.post-8357880938886188335</id><published>2009-10-15T23:08:00.000-07:00</published><updated>2009-10-15T23:32:28.744-07:00</updated><title type='text'>Launch of new Mobile &amp; LCD TV&#39;s categories on ConsumerMate.com</title><content type='html'>One of the best e-store  for tech gadgets, I have come across has to be ConsumerMate.com.&lt;br /&gt;&lt;br /&gt;Earlier, they were dealing with only laptops but now they have also started dealing with &lt;a href=&quot;http://www.consumermate.com/mobile-phones.html&quot;&gt;Mobile Phones&lt;/a&gt; and &lt;a href=&quot;http://www.consumermate.com/lcd-plasma-tvs.html&quot;&gt;LCD TV&#39;s&lt;/a&gt;. This makes ConsumerMate among the best online stores.&lt;br /&gt;&lt;span id=&quot;fullpost&quot;&gt;&lt;br /&gt;The site ConsumerMate.com has an excellent user interface which makes it very easy for any person to surf the site &amp;amp; can get all the information he/she needs, be it the latest in tech gadgets to new release of &lt;a href=&quot;http://www.consumermate.com/mobile-phones.html&quot;&gt;mobile phones&lt;/a&gt; &amp;amp;  &lt;a href=&quot;http://www.consumermate.com/lcd-plasma-tvs.html&quot;&gt;LCD/Plasma TVs&lt;/a&gt;, anything &amp;amp; everything related to tech gadgets.&lt;br /&gt;&lt;br /&gt;The site also has an interesting Buying Guide &amp;amp; Ask Us section where in the consumers can get the latest street prices for different categories &amp;amp; helps in choosing the product best suited to the consumer&#39;s need.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;ConsumerMate.com are continuously increasing different categories for consumers ease as now you can get the best deals for &lt;a href=&quot;http://www.consumermate.com/mobile-phones.html&quot;&gt;Mobile phones&lt;/a&gt;, &lt;a href=&quot;http://www.consumermate.com/lcd-plasma-tvs.html&quot;&gt;LCD TV&#39;s &lt;/a&gt;as well as Laptops.&lt;br /&gt;&lt;br /&gt;Some other interesting features include: Ask Us, Compare Models, Buying Guide, Hot Deals , Test Center ratings, &amp; many more...&lt;br /&gt;&lt;span id=&quot;fullpost&quot;&gt;&lt;br /&gt;Ask Us where in a consumer can select his/her preference for a product such as laptop, &lt;a href=&quot;http://www.consumermate.com/mobile-phones.html&quot;&gt;mobile phone&lt;/a&gt; or &lt;a href=&quot;http://www.consumermate.com/lcd-plasma-tvs.html&quot;&gt;LCD TV&lt;/a&gt; &amp;amp; can get the desired information like the product description, features &amp;amp; the price.&lt;br /&gt;&lt;br /&gt;Compare Models is another excellent feature which allows the consumers to compare different products such as laptop, &lt;a href=&quot;http://www.consumermate.com/mobile-phones.html&quot;&gt;mobile phone&lt;/a&gt; or &lt;a href=&quot;http://www.consumermate.com/lcd-plasma-tvs.html&quot;&gt;LCD TV&lt;/a&gt;on various factors such as brand, price, weight, screen size, etc.&lt;br /&gt;&lt;br /&gt;Hot Deals helps the consumers to keep track of the latest offers currently available on ConsumerMate.com.&lt;br /&gt;&lt;br /&gt;Being a techie, the best feature i think is the Test Center ratings by Digit. We all know about the Digit Test Center Labs &amp;amp; its credibility &amp;amp; having them giving ratings is icing on the cake. A consumer  can get ratings for various specs &amp;amp; features of a product such as laptop, &lt;a href=&quot;http://www.consumermate.com/mobile-phones.html&quot;&gt;mobile phone&lt;/a&gt; or &lt;a href=&quot;http://www.consumermate.com/lcd-plasma-tvs.html&quot;&gt;LCD TV&lt;/a&gt;from Portability, Features, Ergonomics, Build &amp;amp; Overall performance which helps a consumer a great deal in selecting his/her desired brand/model.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;With all these interesting &amp;amp; unique features, ConsumerMate.com really is the most apt title, as it really is a Consumers Mate - best friend.&lt;br /&gt;&lt;br /&gt;So all you people out reading go &amp;amp; have a look at this very interesting site - &lt;a href=&quot;http://www.consumermate.com/&quot;&gt;ConsumerMate.com&lt;/a&gt; &amp;amp; feel free to share your personal experiences.</content><link rel='replies' type='application/atom+xml' href='http://dreambigtechnologies.blogspot.com/feeds/8357880938886188335/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1772193723421012238/8357880938886188335?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1772193723421012238/posts/default/8357880938886188335'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1772193723421012238/posts/default/8357880938886188335'/><link rel='alternate' type='text/html' href='http://dreambigtechnologies.blogspot.com/2009/10/launch-of-new-mobile-lcd-tvs-categories.html' title='Launch of new Mobile &amp; LCD TV&#39;s categories on ConsumerMate.com'/><author><name>DreamBig</name><uri>http://www.blogger.com/profile/06759530190301952355</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://i220.photobucket.com/albums/dd161/dreambigtechnologies/DSCF8495.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1772193723421012238.post-7627750535513090345</id><published>2009-06-29T05:17:00.000-07:00</published><updated>2009-07-04T22:28:08.992-07:00</updated><title type='text'>Samsung NC20</title><content type='html'>&lt;a class=&quot;menuTrigger&quot; id=&quot;zoomedLink&quot; title=&quot;Click to zoom out.&quot; href=&quot;javascript:void(0);&quot;&gt;&lt;img id=&quot;fullImage&quot; alt=&quot;nc20white-1.jpg image by zuva3000&quot; src=&quot;http://i141.photobucket.com/albums/r44/zuva3000/etrade/nc20white-1.jpg?t=1246278490&quot; galleryimg=&quot;no&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Today we are going to discuss a cool netbook, &lt;strong&gt;&lt;span style=&quot;font-size:+0;&quot;&gt;&lt;span class=&quot;IL_SPAN&quot;&gt;&lt;input type=&quot;hidden&quot; name=&quot;IL_MARKER&quot;&gt;Samsung&lt;/span&gt; NC20&lt;/span&gt;&lt;/strong&gt;, which has become a bestselling netbook&lt;a href=&quot;https://www.amazon.com/dp/B00284CBKS?tag=freehomebusii-20&amp;amp;camp=0&amp;amp;creative=0&amp;amp;linkCode=as4&amp;amp;creativeASIN=B00284CBKS&amp;amp;adid=1F9H8HQWC6TNXTPXHSC1&amp;amp;&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/a&gt;, and now more and more people are choosing it as their favorite. So let’s learn more about it now.&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Samsung NC20&lt;/strong&gt;&lt;span style=&quot;font-size:+0;&quot;&gt; is a &lt;span style=&quot;FONT-WEIGHT: bold&quot;&gt;12.1-inch netbook with a 1280 x 800 display&lt;/span&gt;. It provides a full &lt;span class=&quot;IL_LINK_STYLE&quot; style=&quot;FONT-WEIGHT: 400; COLOR: rgb(0,0,255); BORDER-BOTTOM: rgb(0,0,255) 1px solid; FONT-STYLE: normal; TEXT-DECORATION: underlinefont-family:Arial,Tahoma,Verdana;&quot; &gt;screen resolution&lt;/span&gt; compared to small netbooks with a 12.1″ LED wide screen display, supporting a WXGA (1280 x 800) resolution that is exactly the same as a normal 12.1″ notebook. What’s better, a class leading design lets you do even more on the move – and still look good! Its slim-line chassis is accentuated with unique colours, haptic styling and high quality components. This is why I like it so much.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;We have &lt;strong&gt;7 reasons to choose Samsung NC20&lt;/strong&gt;:&lt;/p&gt;&lt;ul style=&quot;FONT-WEIGHT: bold&quot; face=&quot;arial&quot;&gt;&lt;li&gt;&lt;strong&gt;Bright, glossy 12.1 inch screen&lt;br /&gt;&lt;/strong&gt;&lt;/li&gt;&lt;li&gt;Long Lasting battery upto 10 hrs&lt;/li&gt;&lt;li&gt;SRS sound with 2.1 channel speakers&lt;/li&gt;&lt;li&gt;Ultra portable&lt;/li&gt;&lt;li&gt;Excellent Wi-fi performance&lt;/li&gt;&lt;li&gt;Full-size keyboard&lt;/li&gt;&lt;li&gt;Easy typing&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;As a small laptop, it performs quite well, faster than normal laptops. This laptop is most popular among students, especially college students. It’s a cool thing to carry it to classroom, very convenient and good use.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Samsung NC20 Specs&lt;/strong&gt;:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;CPU: VIA Nano™ ULV Processor U2250 (1.3+GHz, 800MHz, 1MB)&lt;/li&gt;&lt;li&gt;OS: Genuine Windows® XP® Home (SP3)&lt;/li&gt;&lt;li&gt;RAM/Expandable to: 1GB (DDR2 RAM / 1x1GB)&lt;/li&gt;&lt;li&gt;Hard Drive: 160GB (5400 rpm SATA)&lt;/li&gt;&lt;li&gt;Display/Resolution: 12.1” LED WXGA (1280x800) Gloss&lt;/li&gt;&lt;li&gt;Size: 11.5 x 8.5 x 1.2 inches&lt;/li&gt;&lt;li&gt;Weight: 3.4 pounds&lt;/li&gt;&lt;li&gt;VIA Chorme9 HC3 (Int. Graphics)&lt;/li&gt;&lt;li&gt;Shared Memory (Int. Graphics)&lt;/li&gt;&lt;li&gt;1.3 Megapixel Webcam&lt;/li&gt;&lt;li&gt;Bluetooth™ 2.0+ EDR&lt;/li&gt;&lt;li&gt;1 Year International Warranty&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span style=&quot;FONT-WEIGHT: bold&quot;&gt;It’s very cheap for such a wonderful netbook, anyone can affordable it and is glad to pay that much money. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;Seems very cool, uh?&lt;/p&gt;&lt;p&gt;For me, I like its design most, it has a very good looking, maybe ladies will love it more.&lt;/p&gt;&lt;p&gt;So what do you think about &lt;strong&gt;Samsung NC20&lt;/strong&gt;?&lt;span style=&quot;FONT-WEIGHT: bold&quot;&gt;Feel free to share your personal experience about this laptop.&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;If you want to learn more about &lt;strong&gt;Samsung NC20&lt;/strong&gt;, you can find it on&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://reviews.cnet.com/laptops/samsung-nc20-silver/4505-3121_7-33573285.html&quot;&gt;CNET&lt;/a&gt;, &lt;a href=&quot;http://www.netbookreviews.net/samsung/nc20-review/&quot;&gt;NetbookReviews&lt;/a&gt;, &lt;a href=&quot;http://www.itechnews.net/2009/03/04/samsung-nc20-via-nano-powered-netbook/&quot;&gt;ITechReviews&lt;/a&gt; &amp;amp; many more.&lt;br /&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreambigtechnologies.blogspot.com/feeds/7627750535513090345/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1772193723421012238/7627750535513090345?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1772193723421012238/posts/default/7627750535513090345'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1772193723421012238/posts/default/7627750535513090345'/><link rel='alternate' type='text/html' href='http://dreambigtechnologies.blogspot.com/2009/06/samsung-nc20.html' title='Samsung NC20'/><author><name>DreamBig</name><uri>http://www.blogger.com/profile/06759530190301952355</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://i220.photobucket.com/albums/dd161/dreambigtechnologies/DSCF8495.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1772193723421012238.post-1011720479745478686</id><published>2009-04-02T04:41:00.000-07:00</published><updated>2009-04-02T04:47:02.161-07:00</updated><title type='text'>Using AJAX Textbox Extenders</title><content type='html'>&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;p&gt;&lt;strong&gt;Introduction&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;In this tutorial we will see some of the extenders provided by AJAX Toolkit. We can enhance the functionality of TextBox.&lt;/p&gt; &lt;p&gt;In this tutorial both ways of adding extenders are mentioned; i.e. in mark up source and in design time.&lt;/p&gt; &lt;p&gt;We will discuss the following textbox extenders:&lt;/p&gt; &lt;ol&gt;&lt;li&gt;Watermark Extender&lt;/li&gt;&lt;li&gt;Filtered TextBox&lt;/li&gt;&lt;li&gt;Masked Edit TextBox and Masked Edit Validator&lt;/li&gt;&lt;li&gt;Calendar Extender&lt;/li&gt;&lt;li&gt;Validator Callout Extender&lt;/li&gt;&lt;li&gt;Auto Complete Extender&lt;/li&gt;&lt;li&gt;Password Strength Extender&lt;/li&gt;&lt;/ol&gt;&lt;/span&gt;&lt;span id=&quot;fullpost&quot;&gt;&lt;strong&gt;&lt;br /&gt;1. Watermark Extender&lt;/strong&gt;&lt;br /&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;&lt;br /&gt;&lt;p&gt;Watermark is an untouchable text; that usually helps us for guidance. Consider you are typing your data (e.g. First name, last name, etc.) into the text box. You can have watermark text to guide you for the process.&lt;/p&gt; &lt;p&gt;The following image displays the watermark in the text box for searching.&lt;/p&gt; &lt;p&gt;&lt;img alt=&quot;&quot; src=&quot;http://www.c-sharpcorner.com/UploadFile/dpatra/103122009080754AM/Images/1.gif&quot; align=&quot;baseline&quot; border=&quot;0&quot; hspace=&quot;0&quot; /&gt;&lt;br /&gt;&lt;br /&gt;As soon as you click inside the textbox to type, the watermark becomes invisible.&lt;/p&gt; &lt;p&gt;The following steps will help you to use watermark extender for the textbox.&lt;/p&gt; &lt;ol&gt;&lt;li&gt;Add a textbox to the web page.&lt;/li&gt;&lt;li&gt;Add extenders by clicking the arrow flag on the top right corner of the text box.&lt;/li&gt;&lt;li&gt;Select Watermark Extender from the available list.&lt;/li&gt;&lt;li&gt;Now in the property page of the textbox you can see the extender&#39;s property as in the following figure.&lt;br /&gt;&lt;br /&gt;&lt;img alt=&quot;&quot; src=&quot;http://www.c-sharpcorner.com/UploadFile/dpatra/103122009080754AM/Images/2.gif&quot; align=&quot;baseline&quot; border=&quot;0&quot; hspace=&quot;0&quot; /&gt;&lt;/li&gt;&lt;li&gt;As above you can change the property you wanted and you will get your watermark for your textbox.&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;The mark up source for the extender is as follows:&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;;font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;color:blue;&quot;   &gt;&lt;&lt;/span&gt;&lt;span style=&quot;color: rgb(163, 21, 21);font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;&quot;  &gt;asp&lt;/span&gt;&lt;span style=&quot;;font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;color:blue;&quot;   &gt;:&lt;/span&gt;&lt;span style=&quot;color: rgb(163, 21, 21);font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;&quot;  &gt;TextBox&lt;/span&gt;&lt;span style=&quot;;font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;&quot;  &gt; &lt;span style=&quot;color:red;&quot;&gt;ID&lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;=&quot;txtWatermark&quot;&lt;/span&gt; &lt;span style=&quot;color:red;&quot;&gt;runat&lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;=&quot;server&quot;&lt;/span&gt; &lt;span style=&quot;color:red;&quot;&gt;Width&lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;=&quot;200px&quot;&gt;&lt;!--&lt;/span--&gt;&lt;span style=&quot;color: rgb(163, 21, 21);&quot;&gt;asp&lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: rgb(163, 21, 21);&quot;&gt;TextBox&lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;;font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;&quot;  &gt;&lt;span style=&quot;&quot;&gt;  &lt;/span&gt;&lt;span style=&quot;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;&lt;&lt;/span&gt;&lt;span style=&quot;color: rgb(163, 21, 21);&quot;&gt;cc1&lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: rgb(163, 21, 21);&quot;&gt;TextBoxWatermarkExtender&lt;/span&gt; &lt;span style=&quot;color:red;&quot;&gt;ID&lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;=&quot;txtWatermark_TextBoxWatermarkExtender&quot;&lt;/span&gt; &lt;span style=&quot;color:red;&quot;&gt;runat&lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;=&quot;server&quot;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;;font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;&quot;  &gt;&lt;span style=&quot;&quot;&gt;  &lt;/span&gt;&lt;span style=&quot;color:red;&quot;&gt;Enabled&lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;=&quot;True&quot;&lt;/span&gt; &lt;span style=&quot;color:red;&quot;&gt;TargetControlID&lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;=&quot;txtWatermark&quot;&lt;/span&gt; &lt;span style=&quot;color:red;&quot;&gt;WatermarkText&lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;=&quot;Type Your Search Here&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;line-height: 115%;font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;&quot;  &gt;&lt;span style=&quot;&quot;&gt;  &lt;/span&gt;&lt;span style=&quot;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;&lt;!--&lt;/span--&gt;&lt;span style=&quot;color: rgb(163, 21, 21);&quot;&gt;cc1&lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: rgb(163, 21, 21);&quot;&gt;TextBoxWatermarkExtender&lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;line-height: 115%;font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;&quot;  &gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;2. Filtered TextBox&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;While developing an application we are more concerned about the user inputs. As we treat the user as crazy, meaning the user can give anything as input. While taking the search or query or the data, we need to filter it.&lt;/p&gt; &lt;p&gt;We can extend our textbox to filter the user input. The available filter type options are as follows:&lt;/p&gt; &lt;ul&gt;&lt;li&gt;Numbers (Only numbers can be taken as input.)&lt;/li&gt;&lt;li&gt;Uppercase letters (Only Uppercase letters can be taken into input)&lt;/li&gt;&lt;li&gt;Lowercase letters (Only Lowercase letters can be taken into input)&lt;/li&gt;&lt;li&gt;Custom (Character list can be added for customizing the user input)&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;The basic idea behind filtered text box is that, the user cannot type Invalid characters into the textbox. The following procedure is followed for achieving filtering.&lt;/p&gt; &lt;ol&gt;&lt;li&gt;Add a textbox to the web page.&lt;/li&gt;&lt;li&gt;Add extenders by clicking the arrow flag on the top right corner of the text box.&lt;/li&gt;&lt;li&gt;Select Filtered Textbox Extender from the available list.&lt;/li&gt;&lt;li&gt;Now in the property page of the textbox you can see the extender&#39;s property as in the following figure.&lt;br /&gt;&lt;br /&gt;&lt;img alt=&quot;&quot; src=&quot;http://www.c-sharpcorner.com/UploadFile/dpatra/103122009080754AM/Images/3.gif&quot; align=&quot;baseline&quot; border=&quot;0&quot; hspace=&quot;0&quot; /&gt;&lt;/li&gt;&lt;li&gt;As above you can change the property you wanted and you will get your filtered textbox.&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;The mark up source for the extender is as follows:&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; line-height: normal;&quot;&gt;&lt;span style=&quot;;font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;color:blue;&quot;   &gt;&lt;&lt;/span&gt;&lt;span style=&quot;color: rgb(163, 21, 21);font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;&quot;  &gt;asp&lt;/span&gt;&lt;span style=&quot;;font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;color:blue;&quot;   &gt;:&lt;/span&gt;&lt;span style=&quot;color: rgb(163, 21, 21);font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;&quot;  &gt;TextBox&lt;/span&gt;&lt;span style=&quot;;font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;&quot;  &gt; &lt;span style=&quot;color:red;&quot;&gt;ID&lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;=&quot;txtFiltered01&quot;&lt;/span&gt; &lt;span style=&quot;color:red;&quot;&gt;runat&lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;=&quot;server&quot;&lt;/span&gt; &lt;span style=&quot;color:red;&quot;&gt;Width&lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;=&quot;200px&quot;&gt;&lt;!--&lt;/span--&gt;&lt;span style=&quot;color: rgb(163, 21, 21);&quot;&gt;asp&lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: rgb(163, 21, 21);&quot;&gt;TextBox&lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; line-height: normal;&quot;&gt;&lt;span style=&quot;;font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;&quot;  &gt;&lt;span style=&quot;&quot;&gt;  &lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;&lt;&lt;/span&gt;&lt;span style=&quot;color: rgb(163, 21, 21);&quot;&gt;cc1&lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: rgb(163, 21, 21);&quot;&gt;FilteredTextBoxExtender&lt;/span&gt; &lt;span style=&quot;color:red;&quot;&gt;ID&lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;=&quot;txtFiltered01_FilteredTextBoxExtender&quot;&lt;/span&gt; &lt;span style=&quot;color:red;&quot;&gt;runat&lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;=&quot;server&quot;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; line-height: normal;&quot;&gt;&lt;span style=&quot;;font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;&quot;  &gt;&lt;span style=&quot;&quot;&gt;                        &lt;/span&gt;&lt;span style=&quot;color:red;&quot;&gt;Enabled&lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;=&quot;True&quot;&lt;/span&gt; &lt;span style=&quot;color:red;&quot;&gt;FilterType&lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;=&quot;Numbers&quot;&lt;/span&gt; &lt;span style=&quot;color:red;&quot;&gt;TargetControlID&lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;=&quot;txtFiltered01&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 10pt;&quot;&gt;&lt;span style=&quot;line-height: 115%;font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;&quot;  &gt;&lt;span style=&quot;&quot;&gt;  &lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;&lt;!--&lt;/span--&gt;&lt;span style=&quot;color: rgb(163, 21, 21);&quot;&gt;cc1&lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: rgb(163, 21, 21);&quot;&gt;FilteredTextBoxExtender&lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;line-height: 115%;font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;&quot;  &gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt; &lt;/p&gt;&lt;p&gt;&lt;strong&gt;3. Masked Edit TextBox and masked edit validator&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;In some cases you will be demanding a textbox which can take input as numbers only and it would be display as a valid date or valid number or even time. Here is the solution for you, masked edit extender for textbox provides you the textbox which can format user input into valid number, date and time.&lt;/p&gt; &lt;p&gt;We can mask a particular textbox for the following mask types:&lt;/p&gt; &lt;ul&gt;&lt;li&gt;Date&lt;/li&gt;&lt;li&gt;Number&lt;/li&gt;&lt;li&gt;Time&lt;/li&gt;&lt;li&gt;DateTIme&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Consider the following figures, which displays date and number as masked type.&lt;/p&gt; &lt;p&gt;&lt;img alt=&quot;&quot; src=&quot;http://www.c-sharpcorner.com/UploadFile/dpatra/103122009080754AM/Images/4.gif&quot; align=&quot;baseline&quot; border=&quot;0&quot; hspace=&quot;0&quot; /&gt;&lt;/p&gt; &lt;p&gt;We can achieve masked edit textbox by following the below steps.&lt;/p&gt; &lt;ol&gt;&lt;li&gt;Add a textbox to the web page.&lt;/li&gt;&lt;li&gt;Add extenders by clicking the arrow flag on the top right corner of the text box.&lt;/li&gt;&lt;li&gt;Select MaskedEdit Textbox Extender from the available list.&lt;/li&gt;&lt;li&gt;Now in the property page of the textbox you can see the extender&#39;s property as in the following figure.&lt;br /&gt;&lt;br /&gt;&lt;img alt=&quot;&quot; src=&quot;http://www.c-sharpcorner.com/UploadFile/dpatra/103122009080754AM/Images/5.gif&quot; align=&quot;baseline&quot; border=&quot;0&quot; hspace=&quot;0&quot; /&gt;&lt;/li&gt;&lt;li&gt;As you can see from the above figure by changing some properties we can achieve the masked edit textbox.&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;The markup source for the extender is as follows.&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; line-height: normal;&quot;&gt;&lt;span style=&quot;;font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;color:blue;&quot;   &gt;&lt;&lt;/span&gt;&lt;span style=&quot;color: rgb(163, 21, 21);font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;&quot;  &gt;asp&lt;/span&gt;&lt;span style=&quot;;font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;color:blue;&quot;   &gt;:&lt;/span&gt;&lt;span style=&quot;color: rgb(163, 21, 21);font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;&quot;  &gt;TextBox&lt;/span&gt;&lt;span style=&quot;;font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;&quot;  &gt; &lt;span style=&quot;color:red;&quot;&gt;ID&lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;=&quot;txtMaskedEdit&quot;&lt;/span&gt; &lt;span style=&quot;color:red;&quot;&gt;runat&lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;=&quot;server&quot;&lt;/span&gt; &lt;span style=&quot;color:red;&quot;&gt;Width&lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;=&quot;200px&quot;&gt;&lt;!--&lt;/span--&gt;&lt;span style=&quot;color: rgb(163, 21, 21);&quot;&gt;asp&lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: rgb(163, 21, 21);&quot;&gt;TextBox&lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; line-height: normal;&quot;&gt;&lt;span style=&quot;;font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;&quot;  &gt;&lt;span style=&quot;&quot;&gt;     &lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;&lt;&lt;/span&gt;&lt;span style=&quot;color: rgb(163, 21, 21);&quot;&gt;cc1&lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: rgb(163, 21, 21);&quot;&gt;MaskedEditExtender&lt;/span&gt; &lt;span style=&quot;color:red;&quot;&gt;ID&lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;=&quot;txtMaskedEdit_MaskedEditExtender&quot;&lt;/span&gt; &lt;span style=&quot;color:red;&quot;&gt;runat&lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;=&quot;server&quot;&lt;/span&gt; &lt;span style=&quot;color:blue;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; line-height: normal;&quot;&gt;&lt;span style=&quot;;font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;&quot;  &gt;&lt;span style=&quot;&quot;&gt;      &lt;/span&gt;&lt;span style=&quot;&quot;&gt;                  &lt;/span&gt;&lt;span style=&quot;color:red;&quot;&gt;Enabled&lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;=&quot;True&quot;&lt;/span&gt; &lt;span style=&quot;color:red;&quot;&gt;Mask&lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;=&quot;99/99/9999&quot;&lt;/span&gt; &lt;span style=&quot;color:red;&quot;&gt;MaskType&lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;=&quot;Date&quot;&lt;/span&gt; &lt;span style=&quot;color:red;&quot;&gt;TargetControlID&lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;=&quot;txtMaskedEdit&quot;/&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; line-height: normal;&quot;&gt;&lt;span style=&quot;;font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;&quot;  &gt;&lt;span style=&quot;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;&lt;&lt;/span&gt;&lt;span style=&quot;color: rgb(163, 21, 21);&quot;&gt;cc1&lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: rgb(163, 21, 21);&quot;&gt;MaskedEditValidator&lt;/span&gt; &lt;span style=&quot;color:red;&quot;&gt;ID&lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;=&quot;MaskedEditValidator1&quot;&lt;/span&gt; &lt;span style=&quot;color:red;&quot;&gt;runat&lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;=&quot;server&quot;&lt;/span&gt; &lt;span style=&quot;color:red;&quot;&gt;ControlExtender&lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;=&quot;txtMaskedEdit_MaskedEditExtender&quot; &lt;/span&gt;&lt;span style=&quot;color:red;&quot;&gt;ControlToValidate&lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;=&quot;txtMaskedEdit&quot;&lt;/span&gt; &lt;span style=&quot;color:red;&quot;&gt;Display&lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;=&quot;Dynamic&quot;&lt;/span&gt; &lt;span style=&quot;color:red;&quot;&gt;EmptyValueMessage&lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;=&quot;A Date is Required&quot; &lt;/span&gt;&lt;span style=&quot;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color:red;&quot;&gt;InvalidValueMessage&lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;=&quot;The Date is Invalid&quot;&lt;/span&gt; &lt;span style=&quot;color:red;&quot;&gt;IsValidEmpty&lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;=&quot;False&quot;&lt;/span&gt; &lt;span style=&quot;color:red;&quot;&gt;TooltipMessage&lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;=&quot;Please Enter a Date&quot;/&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt; &lt;/p&gt;&lt;p&gt;&lt;strong&gt;4. Calendar Extender&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;This is an extender which provides a calendar control dynamically and provides the date when it is chosen.&lt;/p&gt; &lt;p&gt;We can use a particular textbox to show the calendar dynamically. The following figure describes our requirement.&lt;/p&gt; &lt;p&gt;&lt;img alt=&quot;&quot; src=&quot;http://www.c-sharpcorner.com/UploadFile/dpatra/103122009080754AM/Images/6.gif&quot; align=&quot;baseline&quot; border=&quot;0&quot; hspace=&quot;0&quot; /&gt;&lt;/p&gt; &lt;p&gt;The following steps are to be followed to achieve the above.&lt;/p&gt; &lt;ol&gt;&lt;li&gt;Add a textbox to the web page.&lt;/li&gt;&lt;li&gt;Add extenders by clicking the arrow flag on the top right corner of the text box.&lt;/li&gt;&lt;li&gt;Select Calendar extender for textbox from the available list.&lt;/li&gt;&lt;li&gt;Now in the property page of the textbox you can see the extender&#39;s property as in the following figure.&lt;br /&gt;&lt;br /&gt;&lt;img alt=&quot;&quot; src=&quot;http://www.c-sharpcorner.com/UploadFile/dpatra/103122009080754AM/Images/7.gif&quot; align=&quot;baseline&quot; border=&quot;0&quot; hspace=&quot;0&quot; /&gt;&lt;/li&gt;&lt;li&gt;As from the above figure you can see we can change specific properties the calendar can be popped up. Note that to use image to pop up calendar use PopupButtonId property.&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;The mark up source for the extender is shown below.&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; line-height: normal;&quot;&gt;&lt;span style=&quot;;font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;color:blue;&quot;   &gt;&lt;&lt;/span&gt;&lt;span style=&quot;color: rgb(163, 21, 21);font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;&quot;  &gt;asp&lt;/span&gt;&lt;span style=&quot;;font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;color:blue;&quot;   &gt;:&lt;/span&gt;&lt;span style=&quot;color: rgb(163, 21, 21);font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;&quot;  &gt;TextBox&lt;/span&gt;&lt;span style=&quot;;font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;&quot;  &gt; &lt;span style=&quot;color:red;&quot;&gt;ID&lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;=&quot;txtMaskedEditButton&quot;&lt;/span&gt; &lt;span style=&quot;color:red;&quot;&gt;runat&lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;=&quot;server&quot;&lt;/span&gt; &lt;span style=&quot;color:red;&quot;&gt;Width&lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;=&quot;200px&quot;&gt;&lt;!--&lt;/span--&gt;&lt;span style=&quot;color: rgb(163, 21, 21);&quot;&gt;asp&lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: rgb(163, 21, 21);&quot;&gt;TextBox&lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; line-height: normal;&quot;&gt;&lt;span style=&quot;;font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;color:blue;&quot;   &gt;&lt;&lt;/span&gt;&lt;span style=&quot;color: rgb(163, 21, 21);font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;&quot;  &gt;cc1&lt;/span&gt;&lt;span style=&quot;;font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;color:blue;&quot;   &gt;:&lt;/span&gt;&lt;span style=&quot;color: rgb(163, 21, 21);font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;&quot;  &gt;CalendarExtender&lt;/span&gt;&lt;span style=&quot;;font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;&quot;  &gt; &lt;span style=&quot;color:red;&quot;&gt;ID&lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;=&quot;txtMaskedEditButton_CalendarExtender&quot;&lt;/span&gt; &lt;span style=&quot;color:red;&quot;&gt;runat&lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;=&quot;server&quot;&lt;/span&gt; &lt;span style=&quot;color:red;&quot;&gt;Enabled&lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;=&quot;True&quot;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; line-height: normal;&quot;&gt;&lt;span style=&quot;;font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;&quot;  &gt;&lt;span style=&quot;&quot;&gt;                        &lt;/span&gt;&lt;span style=&quot;color:red;&quot;&gt;Format&lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;=&quot;dd/MM/yyyy&quot;&lt;/span&gt; &lt;span style=&quot;color:red;&quot;&gt;PopupButtonID&lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;=&quot;imgCalendar&quot;&lt;/span&gt; &lt;span style=&quot;color:red;&quot;&gt;TargetControlID&lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;=&quot;txtMaskedEditButton&quot;/&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 10pt;&quot;&gt;&lt;span style=&quot;line-height: 115%;font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;color:blue;&quot;   &gt;&lt;&lt;/span&gt;&lt;span style=&quot;color: rgb(163, 21, 21); line-height: 115%;font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;&quot;  &gt;asp&lt;/span&gt;&lt;span style=&quot;line-height: 115%;font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;color:blue;&quot;   &gt;:&lt;/span&gt;&lt;span style=&quot;color: rgb(163, 21, 21); line-height: 115%;font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;&quot;  &gt;Image&lt;/span&gt;&lt;span style=&quot;line-height: 115%;font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;&quot;  &gt; &lt;span style=&quot;color:red;&quot;&gt;ID&lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;=&quot;imgCalendar&quot;&lt;/span&gt; &lt;span style=&quot;color:red;&quot;&gt;runat&lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;=&quot;server&quot;&lt;/span&gt; &lt;span style=&quot;color:red;&quot;&gt;ImageUrl&lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;=&quot;~/Calendar.JPG&quot;&lt;/span&gt; &lt;span style=&quot;color:blue;&quot;&gt;/&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;line-height: 115%;font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;&quot;  &gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;5. Validator Callout Extender&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;This extender is not exactly related to textbox, but it is related to Required Field Validator control. You could remember the Required Field Validator when it shows the error message it shows the message as it is labeled. Here adding this extender we can make the message as a callout.&lt;/p&gt; &lt;p&gt;The figure below describes the whole picture of using this.&lt;/p&gt; &lt;p&gt;&lt;img alt=&quot;&quot; src=&quot;http://www.c-sharpcorner.com/UploadFile/dpatra/103122009080754AM/Images/8.gif&quot; align=&quot;baseline&quot; border=&quot;0&quot; hspace=&quot;0&quot; /&gt;&lt;/p&gt; &lt;p&gt;Looks great isn&#39;t it. To use this extender you have to follow the below steps.&lt;/p&gt; &lt;ol&gt;&lt;li&gt;Add a textbox to the web page.&lt;/li&gt;&lt;li&gt;Add a RequiredFieldValidator and associate it with the target textbox.&lt;/li&gt;&lt;li&gt;Add extenders by clicking the arrow flag on the top right corner of the RequiredFieldValidator.&lt;/li&gt;&lt;li&gt;Select ValidatorCallout extender for RequiredFieldValidator from the available list.&lt;/li&gt;&lt;li&gt;Now in the property page of the RequiredFieldValidator you can see the extender&#39;s property as in the following figure.&lt;br /&gt;&lt;br /&gt;&lt;img alt=&quot;&quot; src=&quot;http://www.c-sharpcorner.com/UploadFile/dpatra/103122009080754AM/Images/9.gif&quot; align=&quot;baseline&quot; border=&quot;0&quot; hspace=&quot;0&quot; /&gt;&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;The markup source for the extender is shown below.&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; line-height: normal;&quot;&gt;&lt;span style=&quot;;font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;color:blue;&quot;   &gt;&lt;&lt;/span&gt;&lt;span style=&quot;color: rgb(163, 21, 21);font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;&quot;  &gt;asp&lt;/span&gt;&lt;span style=&quot;;font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;color:blue;&quot;   &gt;:&lt;/span&gt;&lt;span style=&quot;color: rgb(163, 21, 21);font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;&quot;  &gt;RequiredFieldValidator&lt;/span&gt;&lt;span style=&quot;;font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;&quot;  &gt; &lt;span style=&quot;color:red;&quot;&gt;ID&lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;=&quot;RequiredFieldValidator1&quot;&lt;/span&gt; &lt;span style=&quot;color:red;&quot;&gt;runat&lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;=&quot;server&quot;&lt;/span&gt; &lt;span style=&quot;color:red;&quot;&gt;ControlToValidate&lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;=&quot;txtCalloutValidator&quot;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; line-height: normal;&quot;&gt;&lt;span style=&quot;;font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;&quot;  &gt;&lt;span style=&quot;&quot;&gt;                        &lt;/span&gt;&lt;span style=&quot;color:red;&quot;&gt;Display&lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;=&quot;None&quot;&lt;/span&gt; &lt;span style=&quot;color:red;&quot;&gt;ErrorMessage&lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;=&quot;Field cannot be empty&quot;/&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; line-height: normal;&quot;&gt;&lt;span style=&quot;;font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;color:blue;&quot;   &gt;&lt;&lt;/span&gt;&lt;span style=&quot;color: rgb(163, 21, 21);font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;&quot;  &gt;cc1&lt;/span&gt;&lt;span style=&quot;;font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;color:blue;&quot;   &gt;:&lt;/span&gt;&lt;span style=&quot;color: rgb(163, 21, 21);font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;&quot;  &gt;ValidatorCalloutExtender&lt;/span&gt;&lt;span style=&quot;;font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;&quot;  &gt; &lt;span style=&quot;color:red;&quot;&gt;ID&lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;=&quot;RequiredFieldValidator1_ValidatorCalloutExtender&quot;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 10pt;&quot;&gt;&lt;span style=&quot;line-height: 115%;font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;&quot;  &gt;&lt;span style=&quot;&quot;&gt;                        &lt;/span&gt;&lt;span style=&quot;color:red;&quot;&gt;runat&lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;=&quot;server&quot;&lt;/span&gt; &lt;span style=&quot;color:red;&quot;&gt;Enabled&lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;=&quot;True&quot;&lt;/span&gt; &lt;span style=&quot;color:red;&quot;&gt;TargetControlID&lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;=&quot;RequiredFieldValidator1&quot;/&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;line-height: 115%;font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;&quot;  &gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt; &lt;/p&gt;&lt;p&gt;&lt;strong&gt;6. Auto Complete Extender&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;This is an extender which helps the user to find out suggestions. You might have visited Google&#39;s suggestion page. It looks like the following figure. &lt;/p&gt; &lt;p&gt;Link: &lt;a href=&quot;http://www.google.com/webhp?complete=1&amp;amp;hl=en&quot;&gt;http://www.google.com/webhp?complete=1&amp;amp;hl=en&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;img alt=&quot;&quot; src=&quot;http://www.c-sharpcorner.com/UploadFile/dpatra/103122009080754AM/Images/10.gif&quot; align=&quot;baseline&quot; border=&quot;0&quot; hspace=&quot;0&quot; /&gt;&lt;br /&gt;&lt;br /&gt;This is being used along with web service, which gives the related words for the search text.&lt;/p&gt; &lt;p&gt;We will use a simple version of this. The following figure shows about the basic idea about using the extender.&lt;/p&gt; &lt;p&gt;&lt;img alt=&quot;&quot; src=&quot;http://www.c-sharpcorner.com/UploadFile/dpatra/103122009080754AM/Images/11.gif&quot; align=&quot;baseline&quot; border=&quot;0&quot; hspace=&quot;0&quot; /&gt;&lt;br /&gt;&lt;br /&gt;To achieve AutoComplete extender work for our textbox we need to have the Web Service where the logic for the word suggestion is written. We will use a simple logic.&lt;/p&gt; &lt;p&gt;The following code is for the Web Service.&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; line-height: normal;&quot;&gt;&lt;span style=&quot;;font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;&quot;  &gt;[&lt;span style=&quot;color: rgb(43, 145, 175);&quot;&gt;WebService&lt;/span&gt;(Namespace = &lt;span style=&quot;color: rgb(163, 21, 21);&quot;&gt;&quot;http://tempuri.org/&quot;&lt;/span&gt;)]&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; line-height: normal;&quot;&gt;&lt;span style=&quot;;font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;&quot;  &gt;[&lt;span style=&quot;color: rgb(43, 145, 175);&quot;&gt;WebServiceBinding&lt;/span&gt;(ConformsTo = &lt;span style=&quot;color: rgb(43, 145, 175);&quot;&gt;WsiProfiles&lt;/span&gt;.BasicProfile1_1)]&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; line-height: normal;&quot;&gt;&lt;span style=&quot;;font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;&quot;  &gt;[System.Web.Script.Services.&lt;span style=&quot;color: rgb(43, 145, 175);&quot;&gt;ScriptService&lt;/span&gt;]&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; line-height: normal;&quot;&gt;&lt;span style=&quot;;font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;color:blue;&quot;   &gt;public&lt;/span&gt;&lt;span style=&quot;;font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;&quot;  &gt; &lt;span style=&quot;color:blue;&quot;&gt;class&lt;/span&gt; &lt;span style=&quot;color: rgb(43, 145, 175);&quot;&gt;AutoComplete&lt;/span&gt; : &lt;span style=&quot;color: rgb(43, 145, 175);&quot;&gt;WebService&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; line-height: normal;&quot;&gt;&lt;span style=&quot;;font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;&quot;  &gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; line-height: normal;&quot;&gt;&lt;span style=&quot;;font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;&quot;  &gt;&lt;span style=&quot;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;public&lt;/span&gt; AutoComplete()&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; line-height: normal;&quot;&gt;&lt;span style=&quot;;font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;&quot;  &gt;&lt;span style=&quot;&quot;&gt;    &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; line-height: normal;&quot;&gt;&lt;span style=&quot;;font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;&quot;  &gt;&lt;span style=&quot;&quot;&gt;    &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; line-height: normal;&quot;&gt;&lt;span style=&quot;;font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;&quot;  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; line-height: normal;&quot;&gt;&lt;span style=&quot;;font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;&quot;  &gt;&lt;span style=&quot;&quot;&gt;    &lt;/span&gt;[&lt;span style=&quot;color: rgb(43, 145, 175);&quot;&gt;WebMethod&lt;/span&gt;]&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; line-height: normal;&quot;&gt;&lt;span style=&quot;;font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;&quot;  &gt;&lt;span style=&quot;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color:blue;&quot;&gt;string&lt;/span&gt;[] GetCompletionList(&lt;span style=&quot;color:blue;&quot;&gt;string&lt;/span&gt; prefixText, &lt;span style=&quot;color:blue;&quot;&gt;int&lt;/span&gt; count)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; line-height: normal;&quot;&gt;&lt;span style=&quot;;font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;&quot;  &gt;&lt;span style=&quot;&quot;&gt;    &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; line-height: normal;&quot;&gt;&lt;span style=&quot;;font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;&quot;  &gt;&lt;span style=&quot;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;if&lt;/span&gt; (count == 0)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; line-height: normal;&quot;&gt;&lt;span style=&quot;;font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;&quot;  &gt;&lt;span style=&quot;&quot;&gt;        &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; line-height: normal;&quot;&gt;&lt;span style=&quot;;font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;&quot;  &gt;&lt;span style=&quot;&quot;&gt;            &lt;/span&gt;count = 10;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; line-height: normal;&quot;&gt;&lt;span style=&quot;;font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;&quot;  &gt;&lt;span style=&quot;&quot;&gt;        &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; line-height: normal;&quot;&gt;&lt;span style=&quot;;font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;&quot;  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; line-height: normal;&quot;&gt;&lt;span style=&quot;;font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;&quot;  &gt;&lt;span style=&quot;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color: rgb(43, 145, 175);&quot;&gt;Random&lt;/span&gt; random = &lt;span style=&quot;color:blue;&quot;&gt;new&lt;/span&gt; &lt;span style=&quot;color: rgb(43, 145, 175);&quot;&gt;Random&lt;/span&gt;();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; line-height: normal;&quot;&gt;&lt;span style=&quot;;font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;&quot;  &gt;&lt;span style=&quot;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color: rgb(43, 145, 175);&quot;&gt;List&lt;/span&gt;&lt;&lt;span style=&quot;color:blue;&quot;&gt;string&lt;/span&gt;&gt; items = &lt;span style=&quot;color:blue;&quot;&gt;new&lt;/span&gt; &lt;span style=&quot;color: rgb(43, 145, 175);&quot;&gt;List&lt;/span&gt;&lt;&lt;span style=&quot;color:blue;&quot;&gt;string&lt;/span&gt;&gt;(count);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; line-height: normal;&quot;&gt;&lt;span style=&quot;;font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;&quot;  &gt;&lt;span style=&quot;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;for&lt;/span&gt; (&lt;span style=&quot;color:blue;&quot;&gt;int&lt;/span&gt; i = 0; i &lt;&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; line-height: normal;&quot;&gt;&lt;span style=&quot;;font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;&quot;  &gt;&lt;span style=&quot;&quot;&gt;        &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; line-height: normal;&quot;&gt;&lt;span style=&quot;;font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;&quot;  &gt;&lt;span style=&quot;&quot;&gt;            &lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;char&lt;/span&gt; c1 = (&lt;span style=&quot;color:blue;&quot;&gt;char&lt;/span&gt;)random.Next(65, 90);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; line-height: normal;&quot;&gt;&lt;span style=&quot;;font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;&quot;  &gt;&lt;span style=&quot;&quot;&gt;            &lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;char&lt;/span&gt; c2 = (&lt;span style=&quot;color:blue;&quot;&gt;char&lt;/span&gt;)random.Next(97, 122);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; line-height: normal;&quot;&gt;&lt;span style=&quot;;font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;&quot;  &gt;&lt;span style=&quot;&quot;&gt;            &lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;char&lt;/span&gt; c3 = (&lt;span style=&quot;color:blue;&quot;&gt;char&lt;/span&gt;)random.Next(97, 122);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; line-height: normal;&quot;&gt;&lt;span style=&quot;;font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;&quot;  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; line-height: normal;&quot;&gt;&lt;span style=&quot;;font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;&quot;  &gt;&lt;span style=&quot;&quot;&gt;            &lt;/span&gt;items.Add(prefixText + c1 + c2 + c3);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; line-height: normal;&quot;&gt;&lt;span style=&quot;;font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;&quot;  &gt;&lt;span style=&quot;&quot;&gt;        &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; line-height: normal;&quot;&gt;&lt;span style=&quot;;font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;&quot;  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; line-height: normal;&quot;&gt;&lt;span style=&quot;;font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;&quot;  &gt;&lt;span style=&quot;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;return&lt;/span&gt; items.ToArray();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; line-height: normal;&quot;&gt;&lt;span style=&quot;;font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;&quot;  &gt;&lt;span style=&quot;&quot;&gt;    &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style=&quot;line-height: 115%;font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;&quot;  &gt;}&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style=&quot;line-height: 115%;font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;&quot;  &gt;&lt;/span&gt;Now to add this extender to the textbox you need to follow the below steps.&lt;/p&gt; &lt;ol&gt;&lt;li&gt;Add a textbox to the web page.&lt;/li&gt;&lt;li&gt;Add extenders by clicking the arrow flag on the top right corner of the text box.&lt;/li&gt;&lt;li&gt;Select AutoComplete extender for textbox from the available list.&lt;/li&gt;&lt;li&gt;Now in the property page of the textbox you can see the extender&#39;s property as in the following figure.&lt;br /&gt;&lt;br /&gt;&lt;img alt=&quot;&quot; src=&quot;http://www.c-sharpcorner.com/UploadFile/dpatra/103122009080754AM/Images/12.gif&quot; align=&quot;baseline&quot; border=&quot;0&quot; hspace=&quot;0&quot; /&gt;&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;The markup source for the above extender is as follows.&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; line-height: normal;&quot;&gt;&lt;span style=&quot;;font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;color:blue;&quot;   &gt;&lt;&lt;/span&gt;&lt;span style=&quot;color: rgb(163, 21, 21);font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;&quot;  &gt;asp&lt;/span&gt;&lt;span style=&quot;;font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;color:blue;&quot;   &gt;:&lt;/span&gt;&lt;span style=&quot;color: rgb(163, 21, 21);font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;&quot;  &gt;TextBox&lt;/span&gt;&lt;span style=&quot;;font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;&quot;  &gt; &lt;span style=&quot;color:red;&quot;&gt;ID&lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;=&quot;TextBox1&quot;&lt;/span&gt; &lt;span style=&quot;color:red;&quot;&gt;runat&lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;=&quot;server&quot;&lt;/span&gt; &lt;span style=&quot;color:red;&quot;&gt;Width&lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;=&quot;200px&quot;&lt;/span&gt; /&lt;span style=&quot;color:blue;&quot;&gt;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; line-height: normal;&quot;&gt;&lt;span style=&quot;;font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;color:blue;&quot;   &gt;&lt;span style=&quot;&quot;&gt; &lt;/span&gt;&lt;&lt;/span&gt;&lt;span style=&quot;color: rgb(163, 21, 21);font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;&quot;  &gt;cc1&lt;/span&gt;&lt;span style=&quot;;font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;color:blue;&quot;   &gt;:&lt;/span&gt;&lt;span style=&quot;color: rgb(163, 21, 21);font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;&quot;  &gt;AutoCompleteExtender&lt;/span&gt;&lt;span style=&quot;;font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;&quot;  &gt; &lt;span style=&quot;color:red;&quot;&gt;ID&lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;=&quot;TextBox1_AutoCompleteExtender&quot;&lt;/span&gt; &lt;span style=&quot;color:red;&quot;&gt;runat&lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;=&quot;server&quot;&lt;/span&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; line-height: normal;&quot;&gt;&lt;span style=&quot;;font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;&quot;  &gt;&lt;span style=&quot;&quot;&gt;                        &lt;/span&gt;&lt;span style=&quot;color:red;&quot;&gt;Enabled&lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;=&quot;True&quot;&lt;/span&gt; &lt;span style=&quot;color:red;&quot;&gt;TargetControlID&lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;=&quot;TextBox1&quot;&lt;/span&gt; &lt;span style=&quot;color:red;&quot;&gt;ServicePath&lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;=&quot;AutoComplete.asmx&quot;&lt;/span&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; line-height: normal;&quot;&gt;&lt;span style=&quot;;font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;&quot;  &gt;&lt;span style=&quot;&quot;&gt;                        &lt;/span&gt;&lt;span style=&quot;color:red;&quot;&gt;ServiceMethod&lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;=&quot;GetCompletionList&quot; &lt;/span&gt;&lt;span style=&quot;color:red;&quot;&gt;MinimumPrefixLength&lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;=&quot;2&quot;&lt;/span&gt; &lt;span style=&quot;color:red;&quot;&gt;CompletionInterval&lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;=&quot;1000&quot;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; line-height: normal;&quot;&gt;&lt;span style=&quot;;font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;&quot;  &gt;&lt;span style=&quot;&quot;&gt;                        &lt;/span&gt;&lt;span style=&quot;color:red;&quot;&gt;EnableCaching&lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;=&quot;true&quot;&lt;/span&gt; &lt;span style=&quot;color:red;&quot;&gt;CompletionSetCount&lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;=&quot;12&quot;/&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt; &lt;/p&gt;&lt;p&gt;&lt;strong&gt;7. Password Strength Extender&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;This is an excellent extender available for textbox. Usually for passwords we are not sure whether it is a strong password or not. Now AJAX is providing the extender for this, through this we can allow how many characters have to be allowed.&lt;/p&gt; &lt;p&gt;The following figure displays a sample password strength extender&#39;s work.&lt;/p&gt; &lt;p&gt;&lt;img alt=&quot;&quot; src=&quot;http://www.c-sharpcorner.com/UploadFile/dpatra/103122009080754AM/Images/13.gif&quot; align=&quot;baseline&quot; border=&quot;0&quot; hspace=&quot;0&quot; /&gt;&lt;/p&gt; &lt;p&gt;To use this extender in your textbox you need to follow the below steps:&lt;/p&gt; &lt;ol&gt;&lt;li&gt;Add a textbox to the web page.&lt;/li&gt;&lt;li&gt;Add extenders by clicking the arrow flag on the top right corner of the text box.&lt;/li&gt;&lt;li&gt;Select PasswordStrength extender for textbox from the available list.&lt;/li&gt;&lt;li&gt;Now in the property page of the textbox you can see the extender&#39;s property as in the following figure.&lt;br /&gt;&lt;br /&gt;&lt;img alt=&quot;&quot; src=&quot;http://www.c-sharpcorner.com/UploadFile/dpatra/103122009080754AM/Images/14.gif&quot; align=&quot;baseline&quot; border=&quot;0&quot; hspace=&quot;0&quot; /&gt;&lt;/li&gt;&lt;li&gt;We can have the Strength Indicator in two types such as Progress Indicator and Text Indicator.&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;The markup source for the extender is as followed:&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; line-height: normal;&quot;&gt;&lt;span style=&quot;;font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;color:blue;&quot;   &gt;&lt;&lt;/span&gt;&lt;span style=&quot;color: rgb(163, 21, 21);font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;&quot;  &gt;asp&lt;/span&gt;&lt;span style=&quot;;font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;color:blue;&quot;   &gt;:&lt;/span&gt;&lt;span style=&quot;color: rgb(163, 21, 21);font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;&quot;  &gt;TextBox&lt;/span&gt;&lt;span style=&quot;;font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;&quot;  &gt; &lt;span style=&quot;color:red;&quot;&gt;ID&lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;=&quot;TextBox1&quot;&lt;/span&gt; &lt;span style=&quot;color:red;&quot;&gt;runat&lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;=&quot;server&quot;&lt;/span&gt; &lt;span style=&quot;color:red;&quot;&gt;Width&lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;=&quot;200px&quot;/&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; line-height: normal;&quot;&gt;&lt;span style=&quot;;font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;color:blue;&quot;   &gt;&lt;&lt;/span&gt;&lt;span style=&quot;color: rgb(163, 21, 21);font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;&quot;  &gt;cc1&lt;/span&gt;&lt;span style=&quot;;font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;color:blue;&quot;   &gt;:&lt;/span&gt;&lt;span style=&quot;color: rgb(163, 21, 21);font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;&quot;  &gt;PasswordStrength&lt;/span&gt;&lt;span style=&quot;;font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;&quot;  &gt; &lt;span style=&quot;color:red;&quot;&gt;ID&lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;=&quot;TextBox1_PasswordStrength&quot;&lt;/span&gt; &lt;span style=&quot;color:red;&quot;&gt;runat&lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;=&quot;server&quot;&lt;/span&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; line-height: normal;&quot;&gt;&lt;span style=&quot;;font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;&quot;  &gt;&lt;span style=&quot;&quot;&gt;                    &lt;/span&gt;&lt;span style=&quot;color:red;&quot;&gt;Enabled&lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;=&quot;True&quot;&lt;/span&gt;&lt;span style=&quot;&quot;&gt;  &lt;/span&gt;&lt;span style=&quot;color:red;&quot;&gt;TargetControlID&lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;=&quot;TextBox1&quot;&lt;/span&gt;&lt;span style=&quot;&quot;&gt;  &lt;/span&gt;&lt;span style=&quot;color:red;&quot;&gt;DisplayPosition&lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;=&quot;RightSide&quot;&lt;/span&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; line-height: normal;&quot;&gt;&lt;span style=&quot;;font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;&quot;  &gt;&lt;span style=&quot;&quot;&gt;                    &lt;/span&gt;&lt;span style=&quot;color:red;&quot;&gt;StrengthIndicatorType&lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;=&quot;Text&quot;&lt;/span&gt; &lt;span style=&quot;color:red;&quot;&gt;PreferredPasswordLength&lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;=&quot;6&quot;&lt;/span&gt; &lt;span style=&quot;color:red;&quot;&gt;PrefixText&lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;=&quot;Strength: &quot;&lt;/span&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; line-height: normal;&quot;&gt;&lt;span style=&quot;;font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;&quot;  &gt;&lt;span style=&quot;&quot;&gt;                    &lt;/span&gt;&lt;span style=&quot;color:red;&quot;&gt;TextStrengthDescriptions&lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;=&quot;Very Poor; Weak; Average; Strong; Excellent&quot;&lt;/span&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; line-height: normal;&quot;&gt;&lt;span style=&quot;;font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;&quot;  &gt;&lt;span style=&quot;&quot;&gt;                    &lt;/span&gt;&lt;span style=&quot;color:red;&quot;&gt;MinimumNumericCharacters&lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;=&quot;2&quot;&lt;/span&gt; &lt;span style=&quot;color:red;&quot;&gt;MinimumLowerCaseCharacters&lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;=&quot;2&quot;&lt;/span&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; line-height: normal;&quot;&gt;&lt;span style=&quot;;font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;&quot;  &gt;&lt;span style=&quot;&quot;&gt;                    &lt;/span&gt;&lt;span style=&quot;color:red;&quot;&gt;MinimumUpperCaseCharacters&lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;=&quot;1&quot;&lt;/span&gt; &lt;span style=&quot;color:red;&quot;&gt;MinimumSymbolCharacters&lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;=&quot;1&quot;&lt;/span&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; line-height: normal;&quot;&gt;&lt;span style=&quot;;font-family:&#39;Verdana&#39;,&#39;sans-serif&#39;;font-size:10;&quot;  &gt;&lt;span style=&quot;&quot;&gt;                    &lt;/span&gt;&lt;span style=&quot;color:red;&quot;&gt;HelpStatusLabelID&lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;=&quot;Label1â€� &lt;/span&gt;&lt;span style=&quot;color:red;&quot;&gt;TextCssClass&lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;=&quot;textIndicator&quot;/&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreambigtechnologies.blogspot.com/feeds/1011720479745478686/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1772193723421012238/1011720479745478686?isPopup=true' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1772193723421012238/posts/default/1011720479745478686'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1772193723421012238/posts/default/1011720479745478686'/><link rel='alternate' type='text/html' href='http://dreambigtechnologies.blogspot.com/2009/04/using-ajax-textbox-extenders.html' title='Using AJAX Textbox Extenders'/><author><name>DreamBig</name><uri>http://www.blogger.com/profile/06759530190301952355</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://i220.photobucket.com/albums/dd161/dreambigtechnologies/DSCF8495.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1772193723421012238.post-6637061189293472054</id><published>2009-04-02T01:51:00.000-07:00</published><updated>2009-04-02T01:55:44.641-07:00</updated><title type='text'>Nominate Yourself for the Microsoft MVP Award (India)</title><content type='html'>Microsoft awards the &lt;a href=&quot;http://mvp.support.microsoft.com/&quot;&gt;Most Valuable Professional&lt;/a&gt; (MVP) status to select individuals who are seen as active participants in technical communities like blogs, Internet forums, user groups, wikis, conferences, etc.  &lt;p&gt;You neither have to be a geek nor an expert in Microsoft specific technologies to win an MVP award.&lt;br /&gt;&lt;/p&gt;&lt;span id=&quot;fullpost&quot;&gt;For instance, a technology blogger who writes about web applications or consumer software can be a perfect MVP candidate. You can check the &lt;a href=&quot;https://mvp.support.microsoft.com/communities/mvp.aspx&quot;&gt;MVP directory&lt;/a&gt; to know all about the current batch of MVPs and their area of expertise.&lt;p&gt;&lt;/p&gt; &lt;p&gt;Now if you are based in India and like to become a MVP, please go ahead and fill the nomination form available on the &lt;a href=&quot;http://go.microsoft.com/?linkid=9658845&quot; rel=&quot;nofollow&quot;&gt;MVP India site&lt;/a&gt; before April 18&lt;b&gt;. &lt;/b&gt;&lt;/p&gt; &lt;p&gt;The MVP awards are announced every quarter so if you are not selected in the first attempt, you can re-nominate yourself in 3 months.&lt;/p&gt; &lt;p&gt;I have applied for Microsoft MVP and it definitely helps because you can try software betas even before they are released to public, you get access to private newsgroups and there’s plenty of learning material (including ebooks, webcasts, etc.) to enhance your existing skills. This &lt;a href=&quot;http://download.microsoft.com/download/D/A/7/DA77C962-7555-4FED-8DC1-FCD7DEEDDDEA/mvp_single.pdf&quot;&gt;PDF&lt;/a&gt; has more information about the Microsoft MVP Award.&lt;/p&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreambigtechnologies.blogspot.com/feeds/6637061189293472054/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1772193723421012238/6637061189293472054?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1772193723421012238/posts/default/6637061189293472054'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1772193723421012238/posts/default/6637061189293472054'/><link rel='alternate' type='text/html' href='http://dreambigtechnologies.blogspot.com/2009/04/nominate-yourself-for-microsoft-mvp.html' title='Nominate Yourself for the Microsoft MVP Award (India)'/><author><name>DreamBig</name><uri>http://www.blogger.com/profile/06759530190301952355</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://i220.photobucket.com/albums/dd161/dreambigtechnologies/DSCF8495.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1772193723421012238.post-1643048182564092217</id><published>2009-03-17T21:29:00.000-07:00</published><updated>2009-03-17T21:31:27.789-07:00</updated><title type='text'>JAAGO RE! ONE BILLION VOTES INDIA</title><content type='html'>I took the first step!!!&lt;br /&gt;&lt;br /&gt;I REGISTERED TO VOTE online. Right here! And got several BENEFITS on registering.&lt;br /&gt;&lt;br /&gt;Now, I get:&lt;br /&gt;&lt;br /&gt;- Updates on my voter registration status&lt;br /&gt;&lt;br /&gt;- Voting and election related news for my city&lt;br /&gt;&lt;br /&gt;- Even reminders on Election Day with my polling booth details!&lt;br /&gt;&lt;br /&gt;Besides which, I got an opportunity to VOLUNTEER so I am spreading the word and also running my personal registration drive!&lt;br /&gt;Why vote you say? Well, how else will you make your voice heard?&lt;br /&gt;We all have ISSUES with the way things function. Let’s do something about it!&lt;br /&gt;&lt;br /&gt;BE THE CHANGE YOU WANT SEE&lt;br /&gt;&lt;br /&gt;Register to vote now! It&#39;s easier than you think.&lt;br /&gt;&lt;br /&gt;REGISTER ONLINE at &lt;a href=&quot;http://www.jaagore.com/&quot;&gt;www.jaagore.com&lt;/a&gt;&lt;br /&gt;&lt;span id=&quot;fullpost&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreambigtechnologies.blogspot.com/feeds/1643048182564092217/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1772193723421012238/1643048182564092217?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1772193723421012238/posts/default/1643048182564092217'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1772193723421012238/posts/default/1643048182564092217'/><link rel='alternate' type='text/html' href='http://dreambigtechnologies.blogspot.com/2009/03/jaago-re-one-billion-votes-india_17.html' title='JAAGO RE! ONE BILLION VOTES INDIA'/><author><name>DreamBig</name><uri>http://www.blogger.com/profile/06759530190301952355</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://i220.photobucket.com/albums/dd161/dreambigtechnologies/DSCF8495.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1772193723421012238.post-6658681232861246818</id><published>2008-12-26T23:09:00.000-08:00</published><updated>2008-12-27T01:52:39.686-08:00</updated><title type='text'>ThinkDigit.com - Think Digital</title><content type='html'>&lt;div style=&quot;text-align: left;&quot;&gt;&lt;a style=&quot;font-weight: bold;&quot; href=&quot;http://www.thinkdigit.com/&quot;&gt;ThinkDigit.com&lt;/a&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt; - Your Online Technology Navigator&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;a href=&quot;http://www.thinkdigit.com/&quot;&gt;ThinkDigit.com&lt;/a&gt; - managed by &lt;a href=&quot;http://www.9dot9.in/index.html&quot;&gt;9dot9 Media&lt;/a&gt; is one of the hottest Tech Sites around.&lt;br /&gt;&lt;br /&gt;For any of your tech related issues like software/hardware reviews,updates,issues,downloads &amp;amp; etc..,&lt;a href=&quot;http://www.thinkdigit.com/&quot;&gt;ThinkDigit.com&lt;/a&gt; is the place to be. The site includes various sections like Product Reviews,&lt;a href=&quot;http://http//www.thinkdigit.com/forum/&quot;&gt;discussion forums&lt;/a&gt;,blog watch,downloads,&lt;a href=&quot;http://www.thinkdigit.com/digital_market.php&quot;&gt;free classified ads&lt;/a&gt;,videos,tech Q&amp;amp;A,iPoll &amp;amp; Subscribe.&lt;br /&gt;&lt;br /&gt;&lt;span id=&quot;fullpost&quot;&gt;Out of all this sections I personally would recommend you to visit the Product Reviews sections - which has some excellent hardware &amp;amp; software products reviews - Be it laptops,mobiles,digicams,CPUs,Motherboards, or anything you can get a perfect review for it.&lt;br /&gt;&lt;br /&gt;Another must visit section are the &lt;a href=&quot;http://http//www.thinkdigit.com/forum/&quot;&gt;discussion forums&lt;/a&gt; - For any of your tech queries the entire online tech community is there to help you - Like a hardware or software problem,buying tips,etc..&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Visit the discussion forums here -                                       &lt;a href=&quot;http://http//www.thinkdigit.com/forum/&quot; target=&quot;_blank&quot;&gt;http://http://www.thinkdigit.com/forum/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span id=&quot;fullpost&quot;&gt;The best of the lot is the Classifieds sections where anyone can post &lt;a href=&quot;http://www.thinkdigit.com/digital_market.php&quot;&gt;free classified ads&lt;/a&gt; - for buying or selling products new &amp;amp; used like laptops,mobiles,digicams,Desktop PCs,Memory cards,CPU&#39;s &amp;amp; anything techy..&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Visit the free classified ads section here -                                       &lt;a href=&quot;http://www.thinkdigit.com/digital_market.php&quot; target=&quot;_blank&quot;&gt;http://www.thinkdigit.com/digital_market.php&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span id=&quot;fullpost&quot;&gt;It also includes an introductory advertising offer:&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Introductory classifieds advertising offer:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;1. Online advertising offer for Rs. 5,000:&lt;/strong&gt;&lt;br /&gt;      a. 125 x 125 pixels banner ad in the classifieds section of thinkdigit.&lt;br /&gt;&lt;br /&gt;  &lt;strong&gt;2. Combo Pack advertising offer(thinkdigit and in Digit Magazine) for Rs. 8,000:&lt;/strong&gt;&lt;br /&gt;      a. 125 x 125 pixels banner ad in the classifieds section of thinkdigit.&lt;br /&gt;      b. 6 x 9 cm ad spot in the Digit magazine in either of the two sections:&lt;br /&gt;            i. Classified&lt;br /&gt;            ii. Web-Watch (Classified section for online businesses)&lt;br /&gt;&lt;br /&gt;For any advertising enquiries in print or online, please contact us at &lt;a href=&quot;mailto:business@thinkdigit.com&quot;&gt;business@thinkdigit.com&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;A great way to promote your products &amp;amp; services.&lt;br /&gt;&lt;br /&gt;Also you can directly subscribe to the Digit Magazine online from the Subscribe section.&lt;br /&gt;&lt;br /&gt;Although the site is cool but one improvement If I had to suggest would be that It&#39;s a Tech site so they should be more futuristic with their wes site design &amp;amp; approach &amp;amp; use the latest technology.&lt;br /&gt;&lt;br /&gt;Other than that the information that ThinkDigit is providing is awesome...&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;So all you guys out there...dont miss to visit &amp;amp; register to &lt;a href=&quot;http://www.thinkdigit.com/&quot;&gt;ThinkDigit.com&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreambigtechnologies.blogspot.com/feeds/6658681232861246818/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1772193723421012238/6658681232861246818?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1772193723421012238/posts/default/6658681232861246818'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1772193723421012238/posts/default/6658681232861246818'/><link rel='alternate' type='text/html' href='http://dreambigtechnologies.blogspot.com/2008/12/thinkdigitcom-think-digital.html' title='ThinkDigit.com - Think Digital'/><author><name>DreamBig</name><uri>http://www.blogger.com/profile/06759530190301952355</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://i220.photobucket.com/albums/dd161/dreambigtechnologies/DSCF8495.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1772193723421012238.post-1482921111508653393</id><published>2008-12-25T20:43:00.000-08:00</published><updated>2008-12-26T01:52:52.032-08:00</updated><title type='text'>Forum NOKIA DEVELOPER CONFERENCE &#39;2009, INDIA</title><content type='html'>&lt;div align=&quot;center&quot;&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidoRcyG8xMoyLdrPjrOho6h_u-8Jhy_uZi-lDH6KlD_3my-vuj4cFgAFYboLNGJ4Vs9Nzyx2lgIYKDdwdo9jgPkP0yvvYlFzYnUFtdx2MZa3c-nFF2x72TJQuRb9gcl57MIOUoFC2Yhuk/s1600-h/nokia.jpg&quot;&gt;&lt;img style=&quot;margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 573px; height: 76px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidoRcyG8xMoyLdrPjrOho6h_u-8Jhy_uZi-lDH6KlD_3my-vuj4cFgAFYboLNGJ4Vs9Nzyx2lgIYKDdwdo9jgPkP0yvvYlFzYnUFtdx2MZa3c-nFF2x72TJQuRb9gcl57MIOUoFC2Yhuk/s320/nokia.jpg&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5283960821676716578&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;It&#39;s back...Forum &lt;a href=&quot;http://www.nokiadevcon.in/session.html&quot;&gt;Nokia Developer Conference 2009&lt;/a&gt;, in Bangalore on January 20th, 2009..&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.nokiadevcon.in/session.html&quot;&gt;Nokia Developer Conference                            2009&lt;/a&gt; is a movement by Forum Nokia to share and demonstrate                            the technological advancements &amp;amp; opportunities in                            the field of Mobile VAS.&lt;br /&gt;&lt;br /&gt;&lt;span id=&quot;fullpost&quot;&gt;With the rapid expansion of mobile phones, tele-density and Next Generation Network (NGN) services many more such novelties are in store for Indian population with mobile phone services and broadband services at the centre of innovation. Telecommunications had traditionally been a voice communication service. The services today have moved beyond their fundamental role of voice communications to a spectrum of non-core services, which in telecommunication parlance is called Value Added Services (VAS).                       &lt;p class=&quot;style13&quot;&gt;While we are witnessing an unprecedented growth in the Mobile space, the time is conducive for the developers (Mobile &amp;amp; IT) to dream, leverage the growth by creating applications that benefits millions.   &lt;strong&gt;Dream. Create. Benefit&lt;/strong&gt;&lt;/p&gt;                         &lt;p class=&quot;style13&quot;&gt;In all, Nokia Developer Conference 09 promises to bring developers a Forum where best minds                            in the industry meet and discuss the evolution of the                            MOBILE VAS INDUSTRY and what the future holds. Hence,                            from trends to technology to developer evangelization,                            you can expect all at the &lt;a href=&quot;http://www.nokiadevcon.in/session.html&quot;&gt;Nokia Developer Conference 2009&lt;/a&gt;.  &lt;/p&gt;                         &lt;/span&gt;So, whether you are a IT or &lt;a href=&quot;http://www.nokiadevcon.in/&quot;&gt;Mobile                            Application developer&lt;/a&gt;, an aggregator, an operator, a                            content provider, a game developer, an IT or Internet                            company, a publisher, a retailer or even an analyst,&lt;strong&gt;                            You can’t afford to miss the Infinite Possibilities                            at &lt;a href=&quot;http://www.nokiadevcon.in/session.html&quot;&gt;Nokia Developer Conference 2009&lt;/a&gt;.&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;span id=&quot;fullpost&quot;&gt;&lt;br /&gt;        Meet the industry experts and have a networking lunch                            with your peers at &lt;a href=&quot;http://www.nokiadevcon.in/session.html&quot;&gt;Nokia Developer Conference 2009&lt;/a&gt;. You                            even stand a chance to win cool mobile and other gifts                            from Forum Nokia.&lt;br /&gt;&lt;br /&gt;        &lt;strong&gt;Register Now to avail special discounts and                            be a part of INFINITE POSSIBILITIES.&lt;/strong&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;It&#39;s time to dream big and explore infinite possibilities — and it&#39;s time to benefit from these possibilities. Register at &lt;a href=&quot;http://www.nokiadevcon.in/session.html&quot;&gt;Nokia Developer Conference 2009&lt;/a&gt; for technology presentations, solutions to &lt;a href=&quot;http://www.nokiadevcon.in/&quot;&gt;mobile application developers&lt;/a&gt; challenges, insights from industry experts, growth projections for the mobile industry, and more. &lt;a href=&quot;http://www.nokiadevcon.in/session.html&quot;&gt;Nokia Developer Conference 2009&lt;/a&gt; is where real stories and original thinking will be shared, where collaborations can lead to innovation, and where you can bond with like-minded peers, create partnerships, and benefit in a big way.&lt;br /&gt;&lt;br /&gt;There will be sessions on whole lot of topics which include Mobile VAS Industry &amp;amp; its future.&lt;br /&gt;Also the evolution of Mobile Technology like the technology used by &lt;a href=&quot;http://www.nokiadevcon.in/&quot;&gt;mobile application developers&lt;/a&gt; (Java,Symbian,OpenSource &amp;amp; others) ,its advents &amp;amp; what all applications can be developed using them, with industry experts &amp;amp; experienced developers showcasing their talent &amp;amp; expertise. On the whole a lot of things that no one can miss it.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;So be there to experience it.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.nokiadevcon.in/&quot;&gt;Click to Register&lt;/a&gt; &amp;amp; &lt;a href=&quot;http://www.nokiadevcon.in/session.html&quot;&gt;know the details&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Visit                                       &lt;a href=&quot;http://www.nokiadevcon.in/&quot; target=&quot;_blank&quot;&gt;http://www.nokiadevcon.in&lt;/a&gt; &amp;amp; &lt;a href=&quot;http://www.nokiadevcon.in/session.html&quot; target=&quot;_blank&quot;&gt;http://www.nokiadevcon.in/session.html&lt;/a&gt; for further details.</content><link rel='replies' type='application/atom+xml' href='http://dreambigtechnologies.blogspot.com/feeds/1482921111508653393/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1772193723421012238/1482921111508653393?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1772193723421012238/posts/default/1482921111508653393'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1772193723421012238/posts/default/1482921111508653393'/><link rel='alternate' type='text/html' href='http://dreambigtechnologies.blogspot.com/2008/12/forum-nokia-developer-conference-2009.html' title='Forum NOKIA DEVELOPER CONFERENCE &#39;2009, INDIA'/><author><name>DreamBig</name><uri>http://www.blogger.com/profile/06759530190301952355</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://i220.photobucket.com/albums/dd161/dreambigtechnologies/DSCF8495.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidoRcyG8xMoyLdrPjrOho6h_u-8Jhy_uZi-lDH6KlD_3my-vuj4cFgAFYboLNGJ4Vs9Nzyx2lgIYKDdwdo9jgPkP0yvvYlFzYnUFtdx2MZa3c-nFF2x72TJQuRb9gcl57MIOUoFC2Yhuk/s72-c/nokia.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1772193723421012238.post-6202543755317079148</id><published>2008-12-22T23:22:00.000-08:00</published><updated>2008-12-22T23:24:42.704-08:00</updated><title type='text'>New official .net logo: &quot;wave&quot;</title><content type='html'>&lt;span id=&quot;fullpost&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;p&gt;Reading &lt;a href=&quot;http://feeds.feedburner.com/%7Er/ScottHanselman/%7E3/431537696/PDC2008NewNETLogo.aspx&quot;&gt;Scott Hanselman&#39;s post&lt;/a&gt; I&#39;ve learned that, during PDC 2008, the 8-year old .net logo was updated.&lt;/p&gt; &lt;p&gt;I think &quot;the wave&quot; is very cool!&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;http://andreacol.net/files/media/image/WindowsLiveWriter/Newofficial.netlogowave_B94F/NewDotNetLogo_2.png&quot;&gt;&lt;img style=&quot;border: 0px none ;&quot; alt=&quot;NewDotNetLogo&quot; src=&quot;http://andreacol.net/files/media/image/WindowsLiveWriter/Newofficial.netlogowave_B94F/NewDotNetLogo_thumb.png&quot; width=&quot;244&quot; border=&quot;0&quot; height=&quot;78&quot; /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Read more on &lt;a href=&quot;http://blogs.msdn.com/msmossyblog/archive/2008/10/25/embrace-the-new-net-logo.aspx&quot;&gt;why did they do it?&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Now It&#39;s time to update all business cards with the brand new logo.&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreambigtechnologies.blogspot.com/feeds/6202543755317079148/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1772193723421012238/6202543755317079148?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1772193723421012238/posts/default/6202543755317079148'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1772193723421012238/posts/default/6202543755317079148'/><link rel='alternate' type='text/html' href='http://dreambigtechnologies.blogspot.com/2008/12/new-official-net-logo-wave.html' title='New official .net logo: &quot;wave&quot;'/><author><name>DreamBig</name><uri>http://www.blogger.com/profile/06759530190301952355</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://i220.photobucket.com/albums/dd161/dreambigtechnologies/DSCF8495.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1772193723421012238.post-1474450362166254459</id><published>2008-11-05T20:34:00.000-08:00</published><updated>2008-11-05T20:36:11.595-08:00</updated><title type='text'>Get free Microsoft software, DreamSpark India Open</title><content type='html'>&lt;p&gt;DreamSpark is an excellent initiative by &lt;a id=&quot;KonaLink0&quot; target=&quot;undefined&quot; class=&quot;kLink&quot; style=&quot;text-decoration: underline ! important; position: static;&quot; href=&quot;http://www.tothepc.com/archives/get-free-microsoft-software-dreamspark-india-open/#&quot;&gt;&lt;span style=&quot;color: orange ! important; font-family: Verdana,Arial; font-weight: 400; font-size: 12px; position: static;color:orange;&quot; &gt;&lt;span class=&quot;kLink&quot; style=&quot;color: orange ! important; font-family: Verdana,Arial; font-weight: 400; font-size: 12px; position: static;&quot;&gt;Microsoft&lt;/span&gt;&lt;/span&gt;&lt;/a&gt; to enable students access premium Microsoft software at no charge. We have already seen its &lt;a href=&quot;http://www.tothepc.com/archives/free-download-of-premium-software-like-visual-studio-sql-server-from-microsoft-dreamspark/&quot;&gt;roll out in other countries&lt;/a&gt;.&lt;/p&gt; &lt;p style=&quot;text-align: center;&quot;&gt;&lt;img class=&quot;aligncenter&quot; src=&quot;http://www.tothepc.com/pic/dreamsparkindia-1105.jpg&quot; alt=&quot;&quot; width=&quot;465&quot; height=&quot;151&quot; /&gt;&lt;/p&gt; &lt;p&gt;DreamSpark India is live and kicking now. It&lt;span id=&quot;fullpost&quot;&gt;&lt;span id=&quot;more-2658&quot;&gt;&lt;/span&gt; allows students in India to download Microsoft &lt;a id=&quot;KonaLink1&quot; target=&quot;undefined&quot; class=&quot;kLink&quot; style=&quot;text-decoration: underline ! important; position: static;&quot; href=&quot;http://www.tothepc.com/archives/get-free-microsoft-software-dreamspark-india-open/#&quot;&gt;&lt;span style=&quot;color: orange ! important; font-family: Verdana,Arial; font-weight: 400; font-size: 12px; position: static;color:orange;&quot; &gt;&lt;span class=&quot;kLink&quot; style=&quot;color: orange ! important; font-family: Verdana,Arial; font-weight: 400; font-size: 12px; position: static;&quot;&gt;developer&lt;/span&gt;&lt;/span&gt;&lt;/a&gt; and design tools at no charge. Students can access software like: &lt;a id=&quot;KonaLink2&quot; target=&quot;undefined&quot; class=&quot;kLink&quot; style=&quot;text-decoration: underline ! important; position: static;&quot; href=&quot;http://www.tothepc.com/archives/get-free-microsoft-software-dreamspark-india-open/#&quot;&gt;&lt;span style=&quot;color: orange ! important; font-family: Verdana,Arial; font-weight: 400; font-size: 12px; position: static;color:orange;&quot; &gt;&lt;span class=&quot;kLink&quot; style=&quot;color: orange ! important; font-family: Verdana,Arial; font-weight: 400; font-size: 12px; position: static;&quot;&gt;Microsoft &lt;/span&gt;&lt;span class=&quot;kLink&quot; style=&quot;color: orange ! important; font-family: Verdana,Arial; font-weight: 400; font-size: 12px; position: static;&quot;&gt;Visual &lt;/span&gt;&lt;span class=&quot;kLink&quot; style=&quot;color: orange ! important; font-family: Verdana,Arial; font-weight: 400; font-size: 12px; position: static;&quot;&gt;Studio&lt;/span&gt;&lt;/span&gt;&lt;/a&gt; 2008, Windows Server 2003, SQL Server 2005, Microsoft Expression Studio.&lt;/p&gt; &lt;p&gt;Here is simple procedure to get going:&lt;/p&gt; &lt;ul&gt;&lt;li&gt;Select and Visit partner location near your place.&lt;/li&gt;&lt;li&gt;Show your college ID card &amp;amp; collect software DVD.&lt;/li&gt;&lt;li&gt;Then &lt;a rel=&quot;nofollow&quot; href=&quot;http://www.dreamsparkindia.com/dreamspark/subscription.aspx&quot; target=&quot;_blank&quot;&gt;get verified&lt;/a&gt; &amp;amp; enter 25 digit key found on the DVD.&lt;/li&gt;&lt;li&gt;Login using Live ID and complete verification process.&lt;/li&gt;&lt;li&gt;Download License keys from DreamSpark website.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;nofollow&quot; href=&quot;http://dreamsparkindia.com/&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;DreamSpark&lt;/strong&gt;&lt;/a&gt; is great opportunity to get Microsoft software free and play around with it on your home computer. You might just find something real interesting while working with the software. This may even define your future career / profession, all this will cost just $0 (oops - Rs0)!&lt;/p&gt;&lt;br /&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreambigtechnologies.blogspot.com/feeds/1474450362166254459/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1772193723421012238/1474450362166254459?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1772193723421012238/posts/default/1474450362166254459'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1772193723421012238/posts/default/1474450362166254459'/><link rel='alternate' type='text/html' href='http://dreambigtechnologies.blogspot.com/2008/11/get-free-microsoft-software-dreamspark.html' title='Get free Microsoft software, DreamSpark India Open'/><author><name>DreamBig</name><uri>http://www.blogger.com/profile/06759530190301952355</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://i220.photobucket.com/albums/dd161/dreambigtechnologies/DSCF8495.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1772193723421012238.post-2973566377652008024</id><published>2008-10-21T21:23:00.000-07:00</published><updated>2008-10-21T21:27:06.340-07:00</updated><title type='text'>Two approaches to redirection in ASP.NET</title><content type='html'>&lt;div id=&quot;story&quot; class=&quot;clearfix&quot;&gt; &lt;p class=&quot;smdeck&quot;&gt;Directing a user to another page or resource is a common aspect of a web application. The user may initiate the transfer to another page any number of ways, including clicking a button or link or selecting a value in a drop-down list. &lt;/p&gt; &lt;p&gt;ASP.NET provides a few ways to move to different pages. Here&#39;s a look at these options, along with commentary on when you should use which approach.&lt;/p&gt; &lt;p&gt;&lt;b&gt;Client vs. server&lt;/b&gt;&lt;/p&gt; &lt;p&gt;A key aspect of the various ways to send a user to another page within an ASP.NET application is where the transfer occurs; that is, it is handled within the client browser or on the web server. The following list outlines options for controlling page navigation.&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;strong&gt;Response.Redirect:&lt;/strong&gt; the Redirect method of the Response object provides a way to implement client-side redirection.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Server.Transfer:&lt;/strong&gt; the Transfer method of the Server object performs redirection using the server and avoiding HTTP requests.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Server.Execute:&lt;/strong&gt; the Execute method allows you to call another URL without actually navigating to the page. The page is executed and control returns to the current page when finished.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Let&#39;s take a closer look at each approach.&lt;/p&gt; &lt;span id=&quot;fullpost&quot;&gt;&lt;p&gt;&lt;strong&gt;Response.Redirect&lt;br /&gt;&lt;/strong&gt;The default behaviour of the Response.Redirect method is execution of the current page halts, and the user is sent to the new URL. The web server issues HTTP headers and sends a 302 response to the client browser; this instructs the client to make redirected calls to the target URL. The result is two server requests for each redirection: the original and redirected requests. The following C# snippet shows it in action:&lt;/p&gt; &lt;p&gt;&lt;code&gt;Response.Redirect(&quot;http://www.news.com&quot;);&lt;/code&gt;&lt;/p&gt; &lt;p&gt;Now, the Redirect method has two signatures with the second format accepting another Boolean parameter that signals whether execution of the current page should terminate (the default behaviour). We could tell the system to continue execution of the current page while redirecting the user to the News.com site with the following snippet:&lt;/p&gt; &lt;p&gt;&lt;code&gt;Response.Redirect(&quot;http://www.news.com&quot;, false);&lt;/code&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Server.Transfer&lt;br /&gt;&lt;/strong&gt;The Server.Transfer method transfers the execution of a target URL to the server and halts execution of the current page. The result is only one request (as opposed to the two involved with the Response.Redirect method) since the server does not notify the client browser of the change. The experience can be a little disconcerting for users since the page address does not change in the browser. This C# snippet shows how you may use this method.&lt;/p&gt; &lt;p&gt;&lt;code&gt;Server.Transfer(&quot;/default.aspx&quot;);&lt;/code&gt;&lt;/p&gt; &lt;p&gt;When using Server.Transfer, the target URL must be a virtual path on the same server since the web server&#39;s worker process is used, so you can&#39;t use an address containing &quot;http&quot; or &quot;https&quot;. It has three signatures, with a second variation allowing you to transfer control to an IHttpHandler and the third adding a second parameter to the first version; whereas, the second value is a Boolean signalling whether the current form&#39;s querystring and Form collections are preserved.&lt;/p&gt; &lt;p&gt;The PreviousPage property of the Page class provides code access to properties of the previous page in the browsing session, so Form and querystring variables are persisted between pages whereas they are not when using Response.Redirect.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Server.Execute&lt;br /&gt;&lt;/strong&gt;The Server.Execute is a bit antiquated, as there are other ways to accomplish the task, but it basically allows you to execute a resource request without leaving the current page. It has five signatures, but the basic version accepts a path to a resource as the following snippet displays:&lt;/p&gt; &lt;p&gt;&lt;code&gt;Server.Execute(ResourcePath);&lt;/code&gt;&lt;/p&gt; &lt;p&gt;&lt;b&gt;Pros and cons of each approach&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Redirecting a user to another web resource is feasible in ASP.NET using one of the techniques discussed. However, you may be wondering why you would choose one approach over the other. The following list covers some of the advantages or disadvantages of Server.Transfer and Response.Redirect.&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;strong&gt;AJAX usage:&lt;/strong&gt; the lack of browser interaction with the Server.Transfer method means it may break some AJAX and/or JavaScript functionality.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Bookmarking:&lt;/strong&gt; since Server.Transfer does its work on the server, the address within the client browser is not updated. The user sees the previous page&#39;s address while viewing a new page. Consequently, the user is unable to bookmark certain pages.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Page refreshes:&lt;/strong&gt; there is an issue when a true value is used with the second parameter of the Server.Transfer method. When users refresh a page located via this approach, it can trigger an invalid ViewState error message. This can be alleviated by disabling the enableViewStateMac property on a page, but this isn&#39;t the best approach to security.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Performance:&lt;/strong&gt; Response.Redirect introduces an extra call while making the round trip between client and server; since there is only one call with Server.Transfer, it offers better performance.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Scalability:&lt;/strong&gt; the extra round trips associated with using Response.Redirect are often stated as a drawback with using it. However, I have seen it used in large applications without experiencing any performance issues.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Errors:&lt;/strong&gt; while Server.Transfer can cause some user confusion as the URL displayed in the browser address bar, it can also lead to some confusion with error logging, as the page URL recorded during logging will display incorrectly.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Basic security:&lt;/strong&gt; an interesting twist with using Server.Transfer is the ability to send data to another page without the user seeing it. This is enabled via the use of the QueryString, which is appended to the end of the target address. This new address will not show in the browser address bar with Server.Transfer, so it offers a simple layer of security. Of course, the Response.Redirect approach makes the QueryString visible to the user.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;b&gt;Usage depends on the situation&lt;/b&gt;&lt;/p&gt; &lt;p&gt;ASP.NET offers plenty of options when tackling a development task. The Response.Redirect and Server.Transfer methods provide two ways to redirect users to new URLs. Each method offers its own set of positive attributes, so deciding which one to use is really up to the developer&#39;s preference.&lt;/p&gt; &lt;p&gt;Which approach do you prefer when implementing such functionality in your applications? Have you had situations in which Server.Transfer caused problems with the user community? Share your thoughts with the Web Developer community.&lt;/p&gt; &lt;/div&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreambigtechnologies.blogspot.com/feeds/2973566377652008024/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1772193723421012238/2973566377652008024?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1772193723421012238/posts/default/2973566377652008024'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1772193723421012238/posts/default/2973566377652008024'/><link rel='alternate' type='text/html' href='http://dreambigtechnologies.blogspot.com/2008/10/two-approaches-to-redirection-in-aspnet.html' title='Two approaches to redirection in ASP.NET'/><author><name>DreamBig</name><uri>http://www.blogger.com/profile/06759530190301952355</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://i220.photobucket.com/albums/dd161/dreambigtechnologies/DSCF8495.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1772193723421012238.post-4023851818106678188</id><published>2008-09-30T04:43:00.000-07:00</published><updated>2008-09-30T04:45:34.187-07:00</updated><title type='text'>I m now a MCPD...</title><content type='html'>Just last week I completed the MCPD Certification for Web Application Developer.&lt;br /&gt;&lt;br /&gt;It was gr8 learning....&lt;br /&gt;&lt;br /&gt;If anybody need help feel free to ask...&lt;br /&gt;&lt;br /&gt;&lt;span id=&quot;fullpost&quot;&gt;&lt;br /&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreambigtechnologies.blogspot.com/feeds/4023851818106678188/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1772193723421012238/4023851818106678188?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1772193723421012238/posts/default/4023851818106678188'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1772193723421012238/posts/default/4023851818106678188'/><link rel='alternate' type='text/html' href='http://dreambigtechnologies.blogspot.com/2008/09/i-m-now-mcpd.html' title='I m now a MCPD...'/><author><name>DreamBig</name><uri>http://www.blogger.com/profile/06759530190301952355</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://i220.photobucket.com/albums/dd161/dreambigtechnologies/DSCF8495.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1772193723421012238.post-8497416766535119905</id><published>2008-09-15T21:57:00.000-07:00</published><updated>2008-09-15T22:23:48.245-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ASP.NET"/><title type='text'>Microsoft .NET Terminologies at a Glance</title><content type='html'>This article defines many important terminologies that are related to Microsoft .NET so as to enable the reader to have a ready guide to the technical terms. Terminologies related to Microsoft .NET Framework, ASP.NET, ADO.NET, XML, Biztalk Server, etc. are covered. This will also help readers prepare themselves to go into interviews confidently.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(51, 51, 51); font-weight: bold;&quot;&gt;Overview&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;My objective in designing this article is to put an end to the arduous struggle of an IT professional seeking an understandable resource for the core terminologies of Microsoft.NET.  Let me save you valuable time and energy by providing you with an article that gives you many of the important terminologies in Microsoft .NET and its related technologies.  This article discusses most of the important terminologies related to Microsoft .NET Framework, ASP.NET, ADO.NET, Remoting and Web Services.  The terminologies are not organized in an alphabetical order, rather they are organized in the order of the categories that they belong to.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;The Common Language Specification&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This is a subset of the Common Type System (CTS) and defines a set of conventions that are targeted at language interoperability of all the languages that run within the .NET environment.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;The Common Type System&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The Common Type System (CTS) is a standard that defines the necessary rules for type interoperability for the languages targeting the .NET environment.  The common type system supports the following types.&lt;br /&gt;&lt;br /&gt;·         Value Types&lt;br /&gt;&lt;br /&gt;·         Reference Types&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;.NET Framework Class Library&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The .NET Framework Class Library (FCL) is a set of managed classes that are responsible for providing access to the system services in the managed environment of Microsoft.NET.&lt;br /&gt;&lt;br /&gt;&lt;span id=&quot;fullpost&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;The Common Language Runtime&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The CLR is a runtime execution engine of .NET that provides an environment to execute programs that are targeted at the .NET platform.  It provides memory allocation, security, code verification, type verification, exception handling and garbage collection in the managed environment.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Common Language Infrastructure&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The Common Language Infrastructure or the CLI provides support for language interoperability in the .NET managed environment.  It is comprised of the following features.&lt;br /&gt;&lt;br /&gt;·         A File Format (PE)&lt;br /&gt;&lt;br /&gt;·         Metadata&lt;br /&gt;&lt;br /&gt;·         MSIL&lt;br /&gt;&lt;br /&gt;·         Base Class Library&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Assembly&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;An assembly is a group of resources and types, along with the metadata about those resources and types, deployed as a single unit.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Just In Time Compiler&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The Just In Time Compiler or the JIT is responsible for compiling units of code and caching them at runtime as and when they are needed.  Since the compilation occurs at runtime, it is known as a Just In Time Compilation.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;MSIL&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;A program compiled in the .NET managed environment generates an intermediate code to support platform independence.  This is called the MSIL or Microsoft Intermediate Language.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Strong Name&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;A Strong Name is a unique identifier given to an assembly using cryptography and a digital signature that is used to identify a particular assembly.  An assembly is provided a strong name using the utility called sn.exe.&lt;br /&gt;&lt;br /&gt;A strong name consists of the following.&lt;br /&gt;&lt;br /&gt;·         Name of the Assembly&lt;br /&gt;&lt;br /&gt;·         Digital Signature&lt;br /&gt;&lt;br /&gt;·         Version Number&lt;br /&gt;&lt;br /&gt;·         Culture Information&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Global Assembly Cache&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The Global Assembly Cache is a system wide storage of shared assemblies.  Assemblies can be stored or moved to and from the Global Assembly Cache using a tool called GacUtil.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Managed Code&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;A managed code is one that provides restricted access to the system’s resources and can be executed only in a managed environment that is provided in Microsoft .NET by the Common Language Runtime.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Un-Managed Code&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;An Un-Managed code is one that executes outside of the Common Language Runtime environment and can perform unsafe operations.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Managed Data&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Managed Data refers to the objects that are created by the Common Language Runtime environment and can be garbage collected implicitly by the Garbage Collector.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Shared Assembly&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;A Shared Assembly is one that can be referred by more that one application.  All shared assemblies should contain a strong name and should be located in the Global Assembly Cache (GAC).&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Private Assembly&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;A Private Assembly is one that is private to one application.  In other words, it can be accessed by the containing application only.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Satellite Assembly&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;When you wish to localize the application, it can be written in culture-neutral code and can distribute the localized modules in separate assemblies called satellite assemblies.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Assembly Manifest&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The Assembly Manifest contains the information about an assembly.  This includes the version number of the assembly, the list of the files that comprise the assembly, etc.  An assembly manifest is contained in the dll file or the exe file itself.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Resource&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;A resource refers to an addressable unit of data that is available for use by an application.  It consists of one or more of the following.&lt;br /&gt;&lt;br /&gt;·         Texts&lt;br /&gt;&lt;br /&gt;·         Files&lt;br /&gt;&lt;br /&gt;·         Documents&lt;br /&gt;&lt;br /&gt;·         Images&lt;br /&gt;&lt;br /&gt;·         The .NET tool called resgen.exe is used to create resource files from the resource information that is stored in text or XML files.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Localization&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Localization is the practice of designing and developing software that will properly use all of the conventions defined for a specific locale.  An assembly that is used to provide localization feature in ASP.NET applications is referred to as a Satellite Assembly.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Native Image Generator&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This is a .NET tool that is used to compile a managed assembly to the native code and then store that in the local assembly cache.  The name of this tool is Ngen.exe.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Value Type&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;A value type is one that contains the value rather than the reference and is stored in the stack memory.  Examples of value types are integers, floats, doubles, structures, etc.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Reference Type&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;A reference type contains a reference to the actual object in memory and is stored in the managed heap. Objects of classes are good examples of reference types.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Boxing&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Boxing refers to the conversion of a value type to a reference type.  Value types are stored in the stack and reference types are stored in the managed heap.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Un-Boxing&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This refers to the conversion of a reference type to a value type.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Garbage Collection&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Garbage Collection is a technique introduced in Microsoft .NET that manages memory cleanup implicitly.  This implicit reclaiming of memory in the .NET managed environment is handled by the Common Language Runtime.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Dispose Method&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The Dispose method can be used in an unsealed class to cleanup resources explicitly.  It should be noted that both the Dispose and the Finalize methods should make a call to their parents&#39; respective methods after they have disposed or finalized their own members.  A class that needs to have this method implemented should implement the IDisposable interface.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Finalize Method&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The finalize method is a protected member of the Object class and is implicitly called at the runtime to cleanup unmanaged resources before the object is destroyed.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Code Verification&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This is a feature that enforces type safety or type security by checking the code prior to its execution in the run time environment.  Therefore, it does not allow malicious code to get executed in the managed environment.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Authentication and Authorization&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This is a security measure that is used to specify the user’s identity and authorization in ASP.NET. The process of authorization determines whether an authenticated user has access to a specific resource.  Authentication and Authorization details of an ASP.NET application are specified in the web.config file.  There can be three types of authentication in ASP.NET.&lt;br /&gt;&lt;br /&gt;·         Forms Authentication&lt;br /&gt;&lt;br /&gt;·         Windows Authentication&lt;br /&gt;&lt;br /&gt;·         Passport Authentication&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Web.Config File&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The web.config file is the configuration file for an ASP.NET web application.  Typically, the following information is stored in a web.config file.&lt;br /&gt;&lt;br /&gt;·         Database Connection Strings&lt;br /&gt;&lt;br /&gt;·         Security&lt;br /&gt;&lt;br /&gt;·         Session States&lt;br /&gt;&lt;br /&gt;·         Impersonation&lt;br /&gt;&lt;br /&gt;·         Error handling&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Machine.Config File&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The machine.config file contains the configuration settings for the entire application and is located in the Config sub-folder of the Microsoft .NET installation directory.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;ASP.NET&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;ASP.NET is a language neutral, interoperable, server-side technology that allows creation, execution and deployment of scalable Web Applications and Services.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Caching&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Caching is a feature that stores the data in the memory for serving the incoming requests from the memory itself.  Caching in ASP.NET can be of three types.&lt;br /&gt;&lt;br /&gt;·         Page Output Caching&lt;br /&gt;&lt;br /&gt;·         Page Fragment Caching&lt;br /&gt;&lt;br /&gt;·         Data Caching&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Singleton Pattern&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;A singleton pattern states that we can have a singleton class that can be instantiated only once in the application domain and provides a global point of access to it.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Application Domain&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;An application domain refers to the logical and physical boundary created around every .NET application.  An application domain is created by the Common Language Runtime and supports execution of multiple .NET applications in the same process by isolating them in different application domains.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;View State&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This is a client-side state management technique that continues the state of server controls by maintaining the state of pages across postbacks.  The view state is an encoded hashed string and is stored in a hidden field called __VIEWSTATE.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Session State&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;A session is the period of a connection between a server and a client.  The Session State allows storage of objects in a user’s session.  A session can be stored in one of the following ways.&lt;br /&gt;&lt;br /&gt;·         InProc&lt;br /&gt;&lt;br /&gt;·         State Server&lt;br /&gt;&lt;br /&gt;·         SQL Server&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Application State&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This is a state management technique that allows objects to be stored and then globally accessed or shared by multiple modules of the application.  In ASP.NET, application state is maintained by the class HttpApplicationState.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Interface Definition Language (IDL)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The Interface definition Language (IDL) defines a protocol between the server and the client so that they can communicate in heterogeneous environments.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Universal Description, Discovery and Integration (UDDI)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Universal Description, Discovery and Integration is a platform independent, XML based, distributed directory that allows the enterprises to list themselves over the internet.  The UDDI business registration contains the following features.&lt;br /&gt;&lt;br /&gt;·         Green Pages&lt;br /&gt;&lt;br /&gt;·         White Pages&lt;br /&gt;&lt;br /&gt;·         Yellow Pages&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Web Service Description Language (WSDL)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The Web Service Description Language (WSDL) defines XML based contract services for describing the network services as a collection of communication end points.  A WSDL document contains the following.&lt;br /&gt;&lt;br /&gt;·         Messages&lt;br /&gt;&lt;br /&gt;·         Operation&lt;br /&gt;&lt;br /&gt;·         Types&lt;br /&gt;&lt;br /&gt;·         Service&lt;br /&gt;&lt;br /&gt;·         Port and its type&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Simple Object Oriented Protocol (SOAP)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This is an XML-based protocol that is used to exchange structured data and type information in a distributed environment.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Web Services&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;A web service is SOAP based, platform–independent software component that exposes itself through open communication channels of the web applications running on potentially different platforms.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Remoting&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Remoting allows two processes, a Server and a Client, to inter-communicate in the same system, the same network or across networks.  In Remoting, a server and client communicate using a Channel.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Service Oriented Architecture&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Service Oriented Architecture is an architecture that provides a seamless Enterprise Information Integration between loosely coupled distributed applications or services over the network.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Service&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;A service is an implementation of a well-defined, self-contained, independent business functionality that accepts one or more requests and returns one or more responses through a well-defined, standard interface.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Smart Client Architecture&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The Smart Client Architecture is a deployable, multi-platform architecture that allows local application to connect to a server based application using web services.  It provides an adaptive and rich user interactive experience by using local resources.  A Smart Client application can work in both connected and disconnected modes.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;ADO.NET&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;ADO.NET is an object oriented data access technology that enables you to access data from a managed environment.  It is essentially a collection of some classes used to communicate between an application and a database.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Connection Pool&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;A Connection Pool is a pool of available or ready-to-use connections.  When a new connection is requested it is served from the connection pool if one exists.  If not, a new connection is created. Connection Pooling improves the performance of applications to a large extent.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;DataProvider&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;A DataProvider encapsulates the protocols that ADO.NET uses to interact with different types of databases.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;DataSet&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The DataSet is an in–memory, disconnected, XML compliant representation of the data.  Data in a DataSet can be changed, unlike a DataReader which is read only.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;DataReader&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;A DataReader is a connected, forward only, read only stream of data that is retrieved from the database.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;DataAdapter&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The DataAdapter is a bridge between the DataSet and the underlying database. It provides a set of methods and properties to move data between a database and its in-memory representation, the DataSet.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;DataView&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;A DataView is a class that provides a customized view of the DataSet.  It is typically used to sort or filter the rows.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Command&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The Command object is used to send the SQL Statements to the database.  Commands are used to insert data, retrieve data and execute stored procedures in the database.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Connection&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The Connection object establishes a connection to the database using the user name, password and the database name as parameters.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Transactions&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;A transaction is a block of statements that guarantees that all or none of the statements in the block are executed.  In ADO.NET, a transaction can be started by using the BeginTransaction() method on the currently active Connection.  To commit the transaction, the method CommitTransaction() is used.  In order to abandon the transaction, the method Rollback() is executed.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Serialization&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This refers to the storage of an object into a persistent storage medium in a stream of bytes.  The opposite is de-serialization and is used to retrieve a serialized object from a storage medium.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Reflection&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This is a feature that allows us to inspect the metadata of an assembly at runtime.  Reflection can be used to retrieve metadata information, such as the following.&lt;br /&gt;&lt;br /&gt;·         Classes&lt;br /&gt;&lt;br /&gt;·         Methods&lt;br /&gt;&lt;br /&gt;·         Properties&lt;br /&gt;&lt;br /&gt;·         Events&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Biztalk Server&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This is a set of Microsoft Server Applications that allow integration, automation and management of different server applications.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Exchange Server&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This is a set of Microsoft Server Applications that are responsible for integrating messaging and data storage technologies.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Commerce Server&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This is Microsoft’s Business Server that is used for managing and developing business web sites.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Array&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;An array is a collection of homogenous objects.  It is a group of elements of the same type that share a common name.  The size of an array is fixed and cannot be changed at runtime.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;ArrayList&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;An ArrayList is a collection of heterogeneous elements- elements of different types.   Unlike an array, its size can be changed dynamically.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;HashTable&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;A HashTable is a collection of heterogeneous objects that can be referred using either an index or a key.  Elements of an ArrayList can be referred to using an index only.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;COM+&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;COM+ or COM Plus is a distributed, transactional, component-based technology that can be used in a multi-tiered architecture and provides support for Object Pooling.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Delegate&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;A delegate is a managed function pointer that refers to a method.  A multi-cast delegate is one that points to and can eventually fire off different methods.  A delegate is used to implement event handling in Microsoft .NET.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Event Handler&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;An event handler is a method that is executed in response to an event.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Exception&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;An exception is an event that is generated as a result of a runtime error.  An exception is handled using the exception blocks.  An exception that cannot be handled is referred to as a fatal exception and causes the flow of execution of the current program to terminate unexpectedly.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Try/Catch Block&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;A try/catch block is used in exception handling and provides a mechanism to trap runtime errors that can occur on execution of the application.  A try block contains the code that can generate a runtime error.  The catch block contains statements that are executed once the appropriate exception has occurred.  A try block can contain one or more catch blocks or a finally block.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Finally Block&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;A finally block is one that is executed irrespective of whether an exception occurs or not.  Typically, it is used in Exception Handling mechanism to release resources.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Namespace&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;A namespace refers to a logical grouping of types or identifiers used in a program.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;References&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://aspalliance.com/836&quot;&gt;An Insight into ADO.NET&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://aspalliance.com/831&quot;&gt;Remoting in .NET&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://aspalliance.com/802&quot;&gt;Understanding Assemblies&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://aspalliance.com/795&quot;&gt;Caching in ASP.NET&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://aspalliance.com/788&quot;&gt;Microsoft .NET Architecture&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://aspalliance.com/783&quot;&gt;Service Oriented Architecture&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Conclusion&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Microsoft .NET is a vast technology and it is rather impossible to discuss all the terminologies in a single article.  This article has highlighted the most important ones that are commonly faced in an interview.  Please post your comments and suggestions. Happy reading!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreambigtechnologies.blogspot.com/feeds/8497416766535119905/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1772193723421012238/8497416766535119905?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1772193723421012238/posts/default/8497416766535119905'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1772193723421012238/posts/default/8497416766535119905'/><link rel='alternate' type='text/html' href='http://dreambigtechnologies.blogspot.com/2008/09/microsoft-net-terminologies-at-glance.html' title='Microsoft .NET Terminologies at a Glance'/><author><name>DreamBig</name><uri>http://www.blogger.com/profile/06759530190301952355</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://i220.photobucket.com/albums/dd161/dreambigtechnologies/DSCF8495.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1772193723421012238.post-5100461323090350593</id><published>2008-09-15T04:46:00.000-07:00</published><updated>2008-09-15T06:15:59.890-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Microsoft Certifications"/><title type='text'>I am now MCP &amp; MCTS</title><content type='html'>I cleared my MCP &amp; MCTS exam last month. Learned a lot of new things.&lt;br /&gt;The main benefit I got are :&lt;br /&gt;&lt;br /&gt;Understanding the different new concepts that usually do not come in practice.&lt;br /&gt;but if you know you will like to use it in regular programming.&lt;br /&gt;&lt;br /&gt;While reading the MS self paced book i got clear view of&lt;br /&gt;&lt;br /&gt;&lt;span id=&quot;fullpost&quot;&gt;&lt;br /&gt;· Developing applications that use system types and collections.&lt;br /&gt;· Implementing service processes, threading, and application domains in a .NET Framework application.&lt;br /&gt;· Embedding configuration, diagnostic, management, and installation features into a .NET Framework application.&lt;br /&gt;· Implementing serialization and input/output functionality in a .NET Framework application.&lt;br /&gt;· Improving the security of .NET Framework applications by using the .NET Framework security features.&lt;br /&gt;· Implementing interoperability, reflection, and mailing functionality in a .NET Framework application.&lt;br /&gt;· Implementing globalization, drawing, and text manipulation functionality in a .NET Framework application.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreambigtechnologies.blogspot.com/feeds/5100461323090350593/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1772193723421012238/5100461323090350593?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1772193723421012238/posts/default/5100461323090350593'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1772193723421012238/posts/default/5100461323090350593'/><link rel='alternate' type='text/html' href='http://dreambigtechnologies.blogspot.com/2008/09/i-am-now-mcp-mcts.html' title='I am now MCP &amp; MCTS'/><author><name>DreamBig</name><uri>http://www.blogger.com/profile/06759530190301952355</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://i220.photobucket.com/albums/dd161/dreambigtechnologies/DSCF8495.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1772193723421012238.post-470980902010445306</id><published>2008-07-16T03:22:00.000-07:00</published><updated>2008-09-15T06:16:33.902-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ASP.NET"/><title type='text'>6 Useful Visual Studio Tweaks You Need To Know</title><content type='html'>&lt;p&gt;Here is a list of 6 Visual Studio tweaks you can do to make your development experience much better:&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;u&gt;Show shortcut keys in screen tips:&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Go to Tools-&gt;Customize and choose the Toolbars Tab. This screen pops up-&lt;/p&gt; &lt;p align=&quot;center&quot;&gt;&lt;img src=&quot;http://dev102.com/Dev102/wp-content/uploads/2008/05/image.png&quot; alt=&quot;image&quot; style=&quot;border-width: 0px;&quot; width=&quot;364&quot; border=&quot;0&quot; height=&quot;284&quot; /&gt;&lt;/p&gt; &lt;p&gt;check the “&lt;em&gt;Show Shortcut Keys in Screen Tips” &lt;/em&gt;Checkbox.&lt;/p&gt; &lt;p&gt;&lt;span id=&quot;the-content&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Now, when you put your mouse on a toolbar button, a tooltip with the operation shortcut appears. This is very useful since you can see what the keyboard shortcuts are and you don’t have to remember all of them by heart (read about &lt;a href=&quot;http://www.dev102.com/2008/04/17/10-visual-studio-shortcuts-you-must-know/&quot;&gt;10 Visual Studio Shortcuts You Must Know&lt;/a&gt;). This is how it looks:&lt;/p&gt; &lt;p align=&quot;center&quot;&gt;&lt;img src=&quot;http://dev102.com/Dev102/wp-content/uploads/2008/05/image-thumb.png&quot; alt=&quot;image&quot; style=&quot;border-width: 0px;&quot; width=&quot;244&quot; border=&quot;0&quot; height=&quot;74&quot; /&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;u&gt;Show line numbers:&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;If you want to see your code with line numbers, go to Tools-&gt;Options-&gt;TextEditor-&gt;C# and check the “Line Numbers” checkbox.&lt;/p&gt; &lt;br /&gt;&lt;span id=&quot;fullpost&quot;&gt;&lt;br /&gt;&lt;p align=&quot;center&quot;&gt;&lt;img src=&quot;http://dev102.com/Dev102/wp-content/uploads/2008/05/image2.png&quot; alt=&quot;image&quot; style=&quot;border-width: 0px;&quot; width=&quot;404&quot; border=&quot;0&quot; height=&quot;236&quot; /&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;u&gt;Put conditions on breakpoints:&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;There is a possibility to tell the debugger not to stop on a breakpoint every time. You can add a condition to the breakpoint and the debugger will stop there only when this condition is met. This is very useful when debugging a code that is continuously called (by a timer, …). All you need to do is right click on a specific breakpoint, choose Condition and the following window appears:&lt;/p&gt; &lt;p align=&quot;center&quot;&gt;&lt;img src=&quot;http://dev102.com/Dev102/wp-content/uploads/2008/05/image3.png&quot; alt=&quot;image&quot; style=&quot;border-width: 0px;&quot; width=&quot;538&quot; border=&quot;0&quot; height=&quot;156&quot; /&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;As you can see there are two radio button options:&lt;/p&gt; &lt;ul&gt;&lt;li&gt;Is true: You can write any code that would compile inside an If statement and the debugger will stop only when this code returns true.&lt;/li&gt;&lt;li&gt;Has changed: The debugger will stop only when the specified variable has changed.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;strong&gt;&lt;u&gt;Locate in solution explorer:&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;When your solution contains many projects with many files, it may be difficult to locate the edited file in the solution explorer. By default, there is no selected item in the solution explorer. To change that default behavior, go to Tools-&gt;Options-&gt;Projects and Solutions and check the “&lt;em&gt;Track Active Item in Solution explorer&lt;/em&gt;” checkbox.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;u&gt;Open XAML instead of designer:&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;When opening windows forms file- the designer is opened, when opening XAML (WPF) file- the designer and the XML editor are opened with half and half layout. In Visual Studio 2005, you may find the WPF designer very annoying (it may be very slow and it doesn’t function properly) and you want only the XML editor to open when a XAML file is loaded. What do you do? right click on the file in the solution explorer, choose the “&lt;em&gt;Open with&lt;/em&gt;” menu item. Choose &lt;em&gt;XML Editor&lt;/em&gt; option and click on the &lt;em&gt;Set As Default&lt;/em&gt; button:&lt;/p&gt; &lt;p align=&quot;center&quot;&gt;&lt;img src=&quot;http://dev102.com/Dev102/wp-content/uploads/2008/05/image4.png&quot; alt=&quot;image&quot; style=&quot;border-width: 0px;&quot; width=&quot;403&quot; border=&quot;0&quot; height=&quot;270&quot; /&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;u&gt;Show output window when build starts:&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;In order to have the output window opened every time a build starts, go to Tools-&gt;Options-&gt;Projects and Solutions and check the “&lt;em&gt;Show Output window when build starts&lt;/em&gt;” checkbox:&lt;/p&gt; &lt;p align=&quot;center&quot;&gt;&lt;img src=&quot;http://dev102.com/Dev102/wp-content/uploads/2008/05/image5.png&quot; alt=&quot;image&quot; style=&quot;border-width: 0px;&quot; width=&quot;423&quot; border=&quot;0&quot; height=&quot;253&quot; /&gt;&lt;/p&gt; &lt;p&gt;That’s it, I hope you found this list interesting and helpful. Do you know more Visual Studio tweaks? That would be great if you could add your comments and extend this list for the usage of us all… What do you say?&lt;/p&gt;&lt;br /&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreambigtechnologies.blogspot.com/feeds/470980902010445306/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1772193723421012238/470980902010445306?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1772193723421012238/posts/default/470980902010445306'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1772193723421012238/posts/default/470980902010445306'/><link rel='alternate' type='text/html' href='http://dreambigtechnologies.blogspot.com/2008/07/6-useful-visual-studio-tweaks-you-need.html' title='6 Useful Visual Studio Tweaks You Need To Know'/><author><name>DreamBig</name><uri>http://www.blogger.com/profile/06759530190301952355</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://i220.photobucket.com/albums/dd161/dreambigtechnologies/DSCF8495.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1772193723421012238.post-2023270298586548872</id><published>2008-06-24T01:51:00.000-07:00</published><updated>2008-09-15T06:20:08.483-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="People Skills"/><title type='text'>Upgrade yourself from the world of coding</title><content type='html'>How does one build a successful technical career?&lt;br /&gt;&lt;br /&gt;THE other day, I met a bright young engineer in MindTree and asked him what his ambition was. He was very clear. &quot;I want to be an architect&quot;. My next question to him was, what does he read? He looked surprised and then replied that he does not read much outside what appears on a computer screen. My next question to him was whom all does he admire in MindTree among the three best architects? He named the predictable three. Then I told him what the fundamental gap was between him and the best three. It was about the ability to make intelligent conversation about any subject under the sun - a capability borne out of serious reading habits.&lt;br /&gt;&lt;br /&gt;The next thing I asked him &lt;br /&gt;&lt;span id=&quot;fullpost&quot;&gt;&lt;br /&gt;to do was to poll these three on what were the six books they had read last. The result was amazing. The three named eighteen books in all - of which at least six were common. Ninety percent of the books had nothing to do with information technology. The exercise proves a key point - to be a great nerd, one has to have inteerests outside writing code. However, many engineers think that the path to a great technical career is about technical skills alone.&lt;br /&gt;&lt;br /&gt;Long back, Bell Labs conducted an interesting study - closely watching the common characteristics among a group of technical professionals who rose to the top. The exercise revealed nine key factors outside just technical competence that differentiated brilliant technical folks from the masses. The study was conducted by Robert Kelly of Carnegie Mellon and Janet Caplan of Williams College. As I see the Indian industry today, I think the study done at Bell Labs remains relevant in every detail.&lt;br /&gt;&lt;br /&gt;The Bell Labs engineers who did extremely well for themselves - as they progressed in their career, showed the following qualities that differentiated them from their peers: taking initiative, cognitive ability, networking, leadership, teamwork, followership, perspective, organisation savvy and show-and-tell capability. Let us look at each of these and see what lies underneath.&lt;br /&gt;&lt;br /&gt;1)  Taking initiative&lt;br /&gt;&lt;br /&gt;This is about accepting responsibility above and beyond your stated job. It is about volunteering for additional activities and promoting new ideas. None of these will jump out as apparent as a young engineer gets in to her first job. She will tend to think that her career progress is really dependent only on the ability to write code. The concept of initiative begins by looking for technical and other opportunities in the organisation and volunteering for them. The idea of volunteering is little understood - both by organisations and individuals. In the days to come, it will gain increasing prominence in our professional lives.&lt;br /&gt;&lt;br /&gt;Initiative is also about two other things - dealing constructively with criticism and planning for the future. The latter is a function of many things - a good starting point is to start mappinng the environment, learning to understand how the future is unfolding and then stepping back to ask, how am I preparing myself?&lt;br /&gt;&lt;br /&gt;2)  Cognitive abilities&lt;br /&gt;&lt;br /&gt;The concept of cognitive development is about understanding the interplay of technology and trends in how they are getting deployed. It is also about recognising the business eco-system in which technology works. It is about situational understanding and consequence thinking. The importance of consequence thinking is very critical. It asks us to look beyond the immediate deliverable of a task and it is about asking who will be impacted by my work, what is the end state? People in our industry just think in terms of modules and seldom ask where is it going, who is my customer and more importantly - who is my customer&#39;s customer? Cognition is a key faculty that determines how much we are able to read patterns, make sense of things. Refining cognitive skills helps us to go beyond stated needs of our customers to explore unstated needs.&lt;br /&gt;&lt;br /&gt;3)  Networking&lt;br /&gt;&lt;br /&gt;We tend to think of networking in a social sense. As one grows higher in life, we are often as powerful as is our network. Building a professional network requires us to step out of the comfort zone to look at whom can I learn from. Quite often, and more as one progresses in life, the learning has to come from unusual sources. At MindTree, we expose our people to social workers, architects, graphic designers, teachers, people who lead government organisations, leaders from client organisations. The interesting thing about benefiting from a network is that it works like a savings bank. I need to deposit in to it before I withdraw. We all have heard about how important internal and external knowledge communities are. Again, in MindTree, we encourage people to belong to 26 different knowledge communities that run on a non-project based agenda and are vehicles of learning. These create networking opportunities and open many doors.&lt;br /&gt;&lt;br /&gt;4)  Leadership&lt;br /&gt;&lt;br /&gt;Next to networking is development of leadership skills. Many technical people associate it with &quot;management&quot; and shy away from developing key leadership skills like communication, negotiation, influencing, inter-personal skills, business knowledge, building spokespersonship and so on. Take for instance negotiating as a skill. Imagine that you are an individual professional contributor. Why should you learn to negotiate? Tomorrow, your organisation becomes member of a standard body and you have to represent the organisation as a technical expert. You will find yourself needing to negotiate with powerful lobbies that represent a competing viewpoint or a rival standard. Unless you have honed your capability alongside your hacking skills, you will be at a complete loss. Yet, you do not discover your negotiating capability one fine morning. You need to work on it from an early stage. Negotiating for internal resources is becoming another critical need. You can choose to remain an individual professional contributor but from time to time, you have to create mind share in the organisation where resources are limited and claimants are many. Establishing thought leadership is another key requirement of growth and independent of whether I want to be a technical person or grow to be a manager, I need to develop as a leader who can influence others.&lt;br /&gt;&lt;br /&gt;5 )  Teamwork&lt;br /&gt;&lt;br /&gt;Our educational system does not teach us teamwork. If you ever tried to solve your test paper &quot;collaboratively&quot; - it was called copying. You and I spent all our school and college life fiercely competing to get the engineering school and seat of our choice. Then comes the workplace and you suddenly realise that it is not individual brilliance but collective competence that determines excellence. Collaboration is the most important part of our work life. Along with collaboration come issues of forming, norming, storming, performing stages of team life. Capability to create interdependencies, capability to encourage dialogue and dissension, knowledge sharing become critical to professional existence. All this is anti-thesis of what we learn in the formative years of life. Add to it, our social upbringing - our resource-starved system tells us to find ways and means to ensure self-preservation ahead of teamwork. In Japan, the country comes first, the company (read team) comes next and I come last. In India, it is the other way round.&lt;br /&gt;&lt;br /&gt;6)  Followership&lt;br /&gt;&lt;br /&gt;The best leaders are also great followers. We can be great leaders if we learn and imbibe the values of followership. Everywhere you go - there are courses that teach leadership.&lt;br /&gt;&lt;br /&gt;Nowhere you will find a business school teaching you followership. Yet, when solving complex problems in life, we have to embrace what is called &quot;situational leadership&quot;. I have to be comfortable being led by others, I must learn to trust leadership. Many people have issues reporting to a test lead as a developer, or being led by a business analyst or a user interface designer. In different parts of a project life cycle, people of varied competence must lead. I must be comfortable when some one else is under the strobe light. I must have the greatness to be led by people younger than I, people with a different background or a point of view. That is how I learn.&lt;br /&gt;&lt;br /&gt;7 )   Perspective&lt;br /&gt;&lt;br /&gt;This is the hardest to explain. It begins with appreciating why I am doing what I am doing. Quite often, I find people having a very narrow view of their tasks; many do not see the criticality of their task vis-à-vis a larger goal. So, a tester in a project sees his job as testing code or a module designer&#39;s worldview begins and ends with the module. He does not appreciate the importance of writing meaningful documentation because he thinks it is not his job or does not realise that five years from now, another person will have to maintain it.&lt;br /&gt;&lt;br /&gt;I always tell people about the story of two people who were laying bricks. A passer by asked the first one as to what he was doing. He replied, &quot;I am laying bricks&quot;.&lt;br /&gt;He asked the second one. He replied, &quot;I am building a temple&quot;. This story explains what perspective is and how the resultant attitude and approach to work can be vastly different.&lt;br /&gt;&lt;br /&gt;8) Organisational savvy&lt;br /&gt;&lt;br /&gt;As technical people grow up, they often feel unconnected to the larger organisation. Some people develop a knack of exploring it, finding spots of influence, tracking changes, creating networks and in the process they learn how to make the organization work for them. The organisation is not outside of me. If I know it well, I can get it to work for me when I want. Think of the difference between one project manager and another or one technical lead from another.&lt;br /&gt;One person always gets the resources she needs - the other one struggles. One person knows who is getting freed from which client engagement and ahead of time blocks the person. One person reacts to an organisational change and finds himself allocated to a new project as a fait accompli - another person is able to be there ahead of the opportunity. Larger the organisation, higher is the need to develop organisation savvy. It begins with questioning ones knowledge about the larger business dynamic, knowing who does what, tracking the work of other groups, knowing leaders outside of my own sphere and a host of other things. Importantly, it is also about tracking what the competitors of the organization are doing and keeping abreast of directional changes.&lt;br /&gt;&lt;br /&gt;9) Show and tell&lt;br /&gt;&lt;br /&gt;This is the bane of most Indian software engineers. We all come from a mindset that says; if you know how to write code, why bother about honing communication skills? Recently, we asked a cross section of international clients on what they think is the number one area of improvement for Indian engineers? They replied in unison, it is communication. Show and tell is about oral and written communication. Some engineers look down upon the need for communication skills and associate it with people who make up for poor programming prowess. It is the greatest misconception. Think of the best chief technology officers of companies like Microsoft, Oracle, IBM Global Services or Sun. Their number one job is evangelizing.&lt;br /&gt;&lt;br /&gt;If they cannot forcefully present their technologies, nothing else will matter. So, every engineer must pay attention to improving the ability to present in front of people, develop the ability to ask questions and handle objections. In a sense, if you cannot sell the technology you create, it has no value. So, building salespersonship is a key requirement for technical excellence.&lt;br /&gt;&lt;br /&gt;The foregoing points are not relevant if you have already filed your first patent at the age of eighteen.&lt;br /&gt;&lt;br /&gt;Everyone else, please take note.&lt;br /&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreambigtechnologies.blogspot.com/feeds/2023270298586548872/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1772193723421012238/2023270298586548872?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1772193723421012238/posts/default/2023270298586548872'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1772193723421012238/posts/default/2023270298586548872'/><link rel='alternate' type='text/html' href='http://dreambigtechnologies.blogspot.com/2008/06/upgrade-yourself-from-world-of-coding.html' title='Upgrade yourself from the world of coding'/><author><name>DreamBig</name><uri>http://www.blogger.com/profile/06759530190301952355</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://i220.photobucket.com/albums/dd161/dreambigtechnologies/DSCF8495.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1772193723421012238.post-8478636415228852027</id><published>2008-06-19T21:25:00.000-07:00</published><updated>2008-09-15T06:17:02.037-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ASP.NET"/><title type='text'>Introduction to 3-Tier Architecture</title><content type='html'>&lt;div class=&quot;KonaBody&quot;&gt;                 &lt;h3&gt;  Introduction&lt;/h3&gt; &lt;p&gt;As a developer, the .NET framework and Visual Studio present many choices for choosing the right architecture, from   placing the data access code directly in the UI through datasets and data source controls, to creating a data access layer   that talks to the database, all the way to creating an n-tier architecture approach that consists of multiple layers, and use   data-transfer objects to pass data back and forth.&lt;/p&gt;&lt;p&gt;If you’ve ever wondered why you should use layers and what the   benefits are, this article is for you.  This article delves into the use of layers and how they can benefit any   application.&lt;/p&gt;&lt;h3&gt;  What is a Layer?&lt;/h3&gt; &lt;p&gt;A layer is a reusable portion of code that performs a specific function.  In the .NET environment, a layer is usually   setup as a project that represents this specific function.  This specific layer is in charge of working with other layers to   perform some specific goal.  In an application where the presentation layer needs to extract information from a backend   database, the presentation would utilize a series of layers to retrieve the data, rather than having the database calls   embedded directly within itself.  Let’s briefly look at the latter situation first.&lt;/p&gt;&lt;h3&gt;  Two-Tier Architecture&lt;/h3&gt; &lt;br /&gt;&lt;span id=&quot;fullpost&quot;&gt;&lt;br /&gt;&lt;p&gt;When the .NET 2.0 framework became available to the world, there were some neat features that allowed the developer to   connect the framework’s GUI controls directly to the database.  This approach is very handy when rapidly developing   applications. However, it’s not always favorable to embed all of the business logic and data access code directly in the web   site, for several reasons:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Putting all of the code in the web site (business logic and data access) can make the application harder to   maintain and understand.&lt;/li&gt;&lt;li&gt;Reusing database queries in the presentation layer often isn’t done, because of the typical data source control   setup in the ASP.NET framework.&lt;/li&gt;&lt;li&gt;Relying on the data source controls can make debugging more difficult, often due to vague error messages.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;So in looking for an alternative, we can separate the data access code and business logic into separate “layers”,   which we’ll discuss next.&lt;/p&gt;&lt;h3&gt;  The Data Layer&lt;/h3&gt; &lt;p&gt;The key component to most applications is the data.  The data has to be served to the presentation layer somehow.  The   data layer is a separate component (often setup as a separate single or group of projects in a .NET solution), whose sole   purpose is to serve up the data from the database and return it to the caller.  Through this approach, data can be logically   reused, meaning that a portion of an application reusing the same query can make a call to one data layer method, instead of   embedding the query multiple times.  This is generally more maintainable.&lt;/p&gt;&lt;p&gt;But the question is how is the data returned?    Multiple frameworks employ different techniques, and below is a summary:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;ADO.NET – Built into the .NET framework, ADO.NET contains a mechanism to query data out of the database and   return it to the caller in a connected or disconnected fashion.  This is the most common approach to working with data,   because it’s already readily available.  See more at: &lt;a rel=&quot;nofollow&quot; href=&quot;http://en.wikipedia.org/wiki/ADO.NET&quot;&gt;http://en.wikipedia.org/wiki/ADO.NET&lt;/a&gt;. &lt;/li&gt;&lt;li&gt;Table Adapters/Strongly-Typed Datasets – Strongly-typed datasets and table adapters provide a similar means to   querying the data through ADO.NET, but add strong-typing features, meaning custom objects are generated for you to work with.    See more &lt;a href=&quot;http://weblogs.asp.net/scottgu/archive/2006/01/15/435498.aspx&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;. &lt;/li&gt;&lt;li&gt;Enterprise Library – Enterprise library Data Access Application Block provides a flexible way to connect to   databases of multiple types, without having to know anything about that database, through an abstract approach.  See more at:   &lt;a rel=&quot;nofollow&quot; href=&quot;http://msdn2.microsoft.com/en-us/magazine/cc188705.aspx&quot;&gt;http://msdn2.microsoft.com/en-us/magazine/cc188705.aspx&lt;/a&gt;   (read part one first).&lt;/li&gt;&lt;li&gt;LINQ-to-SQL – LINQ to SQL is an ORM tool that uses a DataContext object as the central point to query data from   the database.  See more &lt;a rel=&quot;nofollow&quot; href=&quot;http://weblogs.asp.net/scottgu/archive/2007/09/07/linq-to-sql-part-9-using-a-custom-linq-expression-with-the-lt-asp-linqdatasource-gt-control.aspx&quot;&gt;here&lt;/a&gt;. (read parts one through eight first).&lt;/li&gt;&lt;li&gt;Auto-Generated Code – Tools like CodeSmith Studio automatically generate the code for you based upon a database   schema.  Simply writing a script to output the code you want to use and the backend is generated in a short amount of time.    See more at: &lt;a rel=&quot;nofollow&quot; href=&quot;http://community.codesmithtools.com/blogs/tutorials/archive/2006/02/13/nettiers.aspx&quot;&gt;http://community.codesmithtools.c  om/blogs/tutorials/archive/2006/02/13/nettiers.aspx&lt;/a&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Most (if not all) options above take advantage of the CRUD (create, read, update, or delete) operations that   databases support, so all of that is available as shown above.  There are plenty of resources online to help you get started.    To see an overview of some of the options, please &lt;a href=&quot;http://dotnetslackers.com/community/blogs/bmains/archive/2007/09/13/To-use-or-not-to-use-Table-Adapters_2F00_Typed-Datasets.aspx&quot;&gt;read this&lt;/a&gt;.&lt;/p&gt;&lt;h3&gt;  Business Layer&lt;/h3&gt; &lt;p&gt;Though a web site could talk to the data access layer directly, it usually goes through another layer called the business   layer.  The business layer is vital in that it validates the input conditions before calling a method from the data layer.    This ensures the data input is correct before proceeding, and can often ensure that the outputs are correct as well.  This   validation of input is called business rules, meaning the rules that the business layer uses to make “judgments” about the   data.&lt;/p&gt;&lt;p&gt;However, business rules don’t only apply to data validation; these rules apply to any calculations or any other   action that takes place in the business layer.  Normally, it’s best to put as much logic as possible in the business layer,   which makes this logic reusable across applications.&lt;/p&gt;&lt;p&gt;One of the best reasons for reusing logic is that applications   that start off small usually grow in functionality.  For instance, a company begins to develop a web site, and as they   realize their business needs, they later decide to add a smart client application and windows service to supplement the web   site.  The business layer helps move logic to a central layer for “maximum reusability.”&lt;/p&gt;&lt;h3&gt;  Presentation Layer&lt;/h3&gt; &lt;p&gt;The ASP.NET web site or windows forms application (the UI for the project) is called the presentation layer.  The   presentation layer is the most important layer simply because it’s the one that everyone sees and uses.  Even with a well   structured business and data layer, if the presentation layer is designed poorly, this gives the users a poor view of the   system.&lt;/p&gt;&lt;p&gt;It’s best to remove as much business logic out of the UI and into the business layer.  This usually involves   more code, but in my mind, the excess time (which ranges from minimal to moderate, depending on the size of the application)   pays off in the end.&lt;/p&gt;&lt;p&gt;However, a well-architected system leaves another question: how do you display it in an ASP.NET or   windows application?  This can be more of a problem in ASP.NET, as the controls are more limited to the type of inputs they   can receive.  If you use certain architectures, like passing datasets from the data to the presentation layer, this isn’t as   much of a challenge; however, the challenge can come with business objects that support drill-through business object   references.&lt;/p&gt;&lt;h3&gt;  Why Separating Logic Is Useful&lt;/h3&gt; &lt;p&gt;You may wonder why it is important to move as much logic outside the presentation layer and into the business layer.  The   biggest reason is reuse: logic placed in a business layer increases the reusability of an application.  As applications grow,   applications often grow into other realms.  Applications may start out as a web application, but some of the functionality   may later be moved to a smart client application.  Portions of an application may be split between a web site and a web or   windows service that runs on a server.  In addition, keeping logic helps aid in developing a good design (sometimes code can   get sloppier in the UI).&lt;/p&gt;&lt;p&gt;However, there are some caveats to this: it takes a little longer to develop applications when   most of the logic resides in the business layer.  The reason is this often involves creating several sets of objects (data   layer and access code, plus business objects) rather than embedding it in the application.  The extra time that it takes to   do this can be a turnoff for some managers and project leads, especially because it often requires you to be knowledgeable   about object-oriented programming, more than most people are comfortable with.&lt;/p&gt;&lt;p&gt;Although embedding code in the UI is   easier, in most cases I don’t believe it’s the best approach.  A layered approach is often a better approach because it pays   dividends down the road.  This is because as more and more code is developed, the following happens:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Code is copied and pasted frequently, or code is reused in classes that could easily be moved to a business   layer.&lt;/li&gt;&lt;li&gt;Code that is very similar is often copied and pasted with slight modification, making duplication harder to track   down.&lt;/li&gt;&lt;li&gt;It’s harder to maintain; even though applications with business objects are larger applications, they usually are   structured better.&lt;/li&gt;&lt;li&gt;Code is harder to unit test, if unit testing is available at all.  Web applications and windows forms projects   are hard to use unit testing with.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;A good architecture is often harder to implement, but is easier to maintain because it often reduces the volume of   code.  This means that hours spent supporting an application are reduced.&lt;/p&gt;&lt;h3&gt;  Distributed Applications&lt;/h3&gt; &lt;p&gt;Using a separation of layers can aid in development of distributed applications.  Because the code is broken up into   layers, a layer that facilitates the use of remoting or web services can be added to the project, with a minimal amount of   work.&lt;/p&gt;&lt;h3&gt;  Development Techniques&lt;/h3&gt; &lt;p&gt;When developing a business object architecture, it’s good to know about the many design patterns that are out there.    There are many websites, blogs, and books related to the subject of design patterns.  One of the more well-known books on the   subject is titled “&lt;a rel=&quot;nofollow&quot; href=&quot;http://www.amazon.com/Design-Patterns-Object-Oriented-Addison-Wesley-Professional/dp/0201633612/ref=pd_bbs_sr_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1208397813&amp;amp;sr=8-1&quot;&gt;Design Patterns&lt;/a&gt;,” whom the authors are often referred to as the Gang of   Four.&lt;/p&gt;&lt;p&gt;Another useful development technique is called Refactoring, or improving the quality of your code by making small   changes to the way it works.  This involves moving code into a method, or moving a method from one object to another, in a   systematic, logical way.  Martin Fowler has written a great book on this subject, called “&lt;a rel=&quot;nofollow&quot; href=&quot;http://www.amazon.com/Refactoring-Improving-Existing-Addison-Wesley-Technology/dp/0201485672/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1208397890&amp;amp;sr=1-1&quot;&gt;Refactoring, Improving the Design of Existing Code&lt;/a&gt;.”  There are plenty of books on   the subject; this one is the source that helped me to understand refactoring the most.&lt;/p&gt;&lt;p&gt;There are also tools on the   market that can help you refactor in a faster way.  One of those tools is &lt;a rel=&quot;nofollow&quot; href=&quot;http://www.jetbrains.com/resharper/&quot;&gt;Resharper&lt;/a&gt; by Jet Brains, which looks for a lot of code patterns and refactors   them in a way that is useful.  Some of the other refactoring tools that I heard about are &lt;a rel=&quot;nofollow&quot; href=&quot;http://www.devexpress.com/Products/NET/IDETools/Refactor/&quot;&gt;Refactor Pro&lt;/a&gt; by DevExpress (free for VB.NET and   ASP.NET), &lt;a rel=&quot;nofollow&quot; href=&quot;http://www.wholetomato.com/&quot;&gt;Visual Assist X&lt;/a&gt; by Whole Tomato Software, and &lt;a rel=&quot;nofollow&quot; href=&quot;http://www.omnicore.com/en/justcode.htm&quot;&gt;Just Code&lt;/a&gt; by OmniCore.&lt;/p&gt;&lt;h3&gt;  Conclusion&lt;/h3&gt; &lt;p&gt;This article reviewed the use of layers in an application, and discussed the fundamentals of their use.  It also discussed   the purpose of each layer, why using layers is important, and some other techniques useful for developing applications.&lt;/p&gt;  &lt;/div&gt;&lt;br /&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreambigtechnologies.blogspot.com/feeds/8478636415228852027/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1772193723421012238/8478636415228852027?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1772193723421012238/posts/default/8478636415228852027'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1772193723421012238/posts/default/8478636415228852027'/><link rel='alternate' type='text/html' href='http://dreambigtechnologies.blogspot.com/2008/06/introduction-to-3-tier-architecture.html' title='Introduction to 3-Tier Architecture'/><author><name>DreamBig</name><uri>http://www.blogger.com/profile/06759530190301952355</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://i220.photobucket.com/albums/dd161/dreambigtechnologies/DSCF8495.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1772193723421012238.post-8258190858404741447</id><published>2008-04-01T03:52:00.000-07:00</published><updated>2008-09-15T05:29:19.103-07:00</updated><title type='text'>Contact Me</title><content type='html'>&lt;span style=&quot;font-family:verdana;&quot;&gt;If you have something which you wish to ask me about, use the form below to reach me. Alternatively, you can email me at dreambigtechnologies@gmail.com Do give me some time to reply through.&lt;br /&gt;&lt;span id=&quot;fullpost&quot;&gt;&lt;br /&gt;&lt;form method=&quot;post&quot; action=&quot;http://kontactr.com/euser.php&quot;&gt;&lt;br /&gt;&lt;input name=&quot;id&quot; value=&quot;8631&quot; type=&quot;hidden&quot;&gt;&lt;br /&gt;&lt;table style=&quot;font-size: 13px; font-family: Tahoma,Verdana;&quot; border=&quot;0&quot; cellpadding=&quot;10&quot;&gt;&lt;br /&gt;&lt;tbody&gt;&lt;tr&gt;&lt;br /&gt;&lt;td align=&quot;right&quot;&gt;Your Name : &lt;/td&gt;&lt;br /&gt;&lt;td&gt;&lt;input name=&quot;sender_name&quot; style=&quot;width: 250px;&quot; type=&quot;text&quot;&gt;&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td align=&quot;right&quot;&gt;Your Email : &lt;/td&gt;&lt;br /&gt;&lt;td&gt;&lt;input name=&quot;sender_email&quot; style=&quot;width: 250px;&quot; type=&quot;text&quot;&gt;&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td align=&quot;right&quot;&gt;Subject : &lt;/td&gt;&lt;br /&gt;&lt;td&gt;&lt;input name=&quot;subject&quot; style=&quot;width: 250px;&quot; type=&quot;text&quot;&gt;&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td valign=&quot;top&quot; align=&quot;right&quot;&gt;Message : &lt;/td&gt;&lt;br /&gt;&lt;td&gt;&lt;textarea rows=&quot;10&quot; cols=&quot;40&quot; name=&quot;message&quot; style=&quot;padding: 3px; font-size: 13px; font-family: Tahoma,Verdana;&quot;&gt;&lt;/textarea&gt;&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td valign=&quot;middle&quot; align=&quot;right&quot;&gt;Image (case-sensitive): &lt;/td&gt;&lt;br /&gt;&lt;td&gt;&lt;img src=&quot;http://kontactr.com/captcha.php&quot; /&gt; &lt;input name=&quot;captcha_code&quot; style=&quot;padding: 3px; margin-bottom: 10px; font-size: 13px; font-family: Tahoma,Verdana;&quot; type=&quot;text&quot;&gt;&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td colspan=&quot;2&quot; align=&quot;center&quot;&gt;&lt;input name=&quot;send&quot; id=&quot;send&quot; value=&quot;Send&quot; style=&quot;font-size: 18px; width: 100px; letter-spacing: 5px;&quot; type=&quot;submit&quot;&gt;&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;/form&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreambigtechnologies.blogspot.com/feeds/8258190858404741447/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1772193723421012238/8258190858404741447?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1772193723421012238/posts/default/8258190858404741447'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1772193723421012238/posts/default/8258190858404741447'/><link rel='alternate' type='text/html' href='http://dreambigtechnologies.blogspot.com/2008/04/contact-me_01.html' title='Contact Me'/><author><name>DreamBig</name><uri>http://www.blogger.com/profile/06759530190301952355</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://i220.photobucket.com/albums/dd161/dreambigtechnologies/DSCF8495.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1772193723421012238.post-4259128260456639505</id><published>2008-02-05T02:26:00.000-08:00</published><updated>2008-09-15T06:17:20.876-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ASP.NET"/><title type='text'>Common ASP.NET Performance Myths</title><content type='html'>One of the most common myths is that C# code is faster than Visual Basic code. There is a grain of truth in this, as it is possible to take several performance-hindering actions in Visual Basic that are not possible to accomplish in C#, such as not explicitly declaring types. But if good programming practices are followed, there is no reason why Visual Basic and C# code cannot execute with nearly identical performance. To put it more succinctly, similar code produces similar results.&lt;br /&gt;&lt;br /&gt;Another myth is that &lt;br /&gt;&lt;br /&gt;&lt;span id=&quot;fullpost&quot;&gt;&lt;br /&gt;codebehind is faster than inline, which is absolutely false. It doesn&#39;t matter where your code for your ASP.NET application lives, whether in a codebehind file or inline with the ASP.NET page. Sometimes I prefer to use inline code as changes don&#39;t incur the same update costs as codebehind. For example, with codebehind you have to update the entire codebehind DLL, which can be a scary proposition.&lt;br /&gt;&lt;br /&gt;Myth number three is that components are faster than pages. This was true in Classic ASP when compiled COM servers were much faster than VBScript. With ASP.NET, however, both pages and components are classes. Whether your code is inline in a page, within a codebehind, or in a separate component makes little performance difference. Organizationally, it is better to group functionality logically this way, but again it makes no difference with regard to performance.&lt;br /&gt;&lt;br /&gt;The final myth I want to dispel is that every functionality that you want to occur between two apps should be implemented as a Web service. Web services should be used to connect disparate systems or to provide remote access to system functionality or behaviors. They should not be used internally to connect two similar systems. While easy to use, there are much better alternatives. The worst thing you can do is use Web services for communicating between ASP and ASP.NET applications running on the same server, which I&#39;ve witnessed all too frequently.&lt;br /&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreambigtechnologies.blogspot.com/feeds/4259128260456639505/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1772193723421012238/4259128260456639505?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1772193723421012238/posts/default/4259128260456639505'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1772193723421012238/posts/default/4259128260456639505'/><link rel='alternate' type='text/html' href='http://dreambigtechnologies.blogspot.com/2008/02/common-aspnet-performance-myths.html' title='Common ASP.NET Performance Myths'/><author><name>DreamBig</name><uri>http://www.blogger.com/profile/06759530190301952355</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://i220.photobucket.com/albums/dd161/dreambigtechnologies/DSCF8495.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1772193723421012238.post-782235044205644839</id><published>2008-01-25T00:54:00.001-08:00</published><updated>2008-09-15T06:17:37.331-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ASP.NET"/><title type='text'>Asynchronous Pages in ASP.NET 2.0</title><content type='html'>ASP.NET 2.0 is replete with new features ranging from declarative data binding and Master Pages to membership and role management services. But my vote for the coolest new feature goes to asynchronous pages, and here&#39;s why.&lt;br /&gt;When ASP.NET receives a request for a page, it grabs a thread from a thread pool and assigns that request to the thread. A normal, or synchronous, page holds onto the thread for the duration of the request, preventing the thread from being used to process other requests. If a synchronous request becomes I/O bound—for example, if it calls out to a remote Web service or queries a remote database and waits for the call to come back—then the thread assigned to the request is stuck doing nothing until the call returns. That impedes scalability because the thread pool has a finite number of threads available. If all request-processing threads are blocked waiting for I/O operations to complete, additional requests get queued up waiting for threads to be free. At best, throughput decreases because requests wait longer to be processed. At worst, the queue fills up and ASP.NET fails subsequent requests with 503 &quot;Server Unavailable&quot; errors.&lt;br /&gt;Asynchronous pages offer a neat solution &lt;br /&gt;&lt;br /&gt;&lt;span id=&quot;fullpost&quot;&gt;&lt;br /&gt;to the problems caused by I/O-bound requests. Page processing begins on a thread-pool thread, but that thread is returned to the thread pool once an asynchronous I/O operation begins in response to a signal from ASP.NET. When the operation completes, ASP.NET grabs another thread from the thread pool and finishes processing the request. Scalability increases because thread-pool threads are used more efficiently. Threads that would otherwise be stuck waiting for I/O to complete can now be used to service other requests. The direct beneficiaries are requests that don&#39;t perform lengthy I/O operations and can therefore get in and out of the pipeline quickly. Long waits to get into the pipeline have a disproportionately negative impact on the performance of such requests.&lt;br /&gt;The ASP.NET 2.0 Beta 2 async page infrastructure suffers from scant documentation. Let&#39;s fix that by surveying the landscape of async pages. Keep in mind that this column was developed with beta releases of ASP.NET 2.0 and the .NET Framework 2.0.&lt;br /&gt;&lt;a name=&quot;S1&quot;&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style=&quot;color:#ff6600;&quot;&gt;Asynchronous Pages in ASP.NET 1.x&lt;br /&gt;&lt;/span&gt;ASP.NET 1.x doesn&#39;t support asynchronous pages per se, but it&#39;s possible to build them with a pinch of tenacity and a dash of ingenuity. For an excellent overview, see Fritz Onion&#39;s article entitled &quot;&lt;a href=&quot;http://msdn.microsoft.com/msdnmag/issues/03/06/Threading/&quot;&gt;Use Threads and Build Asynchronous Handlers in Your Server-Side Web Code&lt;/a&gt;&quot; in the June 2003 issue of MSDN®Magazine.&lt;br /&gt;The trick here is to implement IHttpAsyncHandler in a page&#39;s codebehind class, prompting ASP.NET to process requests not by calling the page&#39;s IHttpHandler.ProcessRequest method, but by calling IHttpAsyncHandler.BeginProcessRequest instead. Your BeginProcessRequest implementation can then launch another thread. That thread calls base.ProcessRequest, causing the page to undergo its normal request-processing lifecycle (complete with events such as Load and Render) but on a non-threadpool thread. Meanwhile, BeginProcessRequest returns immediately after launching the new thread, allowing the thread that&#39;s executing BeginProcessRequest to return to the thread pool.&lt;br /&gt;That&#39;s the basic idea, but the devil&#39;s in the details. Among other things, you need to implement IAsyncResult and return it from BeginProcessRequest. That typically means creating a ManualResetEvent object and signaling it when ProcessRequest returns in the background thread. In addition, you have to provide the thread that calls base.ProcessRequest. Unfortunately, most of the conventional techniques for moving work to background threads, including Thread.Start, ThreadPool.QueueUserWorkItem, and asynchronous delegates, are counterproductive in ASP.NET applications because they either steal threads from the thread pool or risk unconstrained thread growth. A proper asynchronous page implementation uses a custom thread pool, and custom thread pool classes are not trivial to write (for more information, see the &lt;a href=&quot;http://msdn.microsoft.com/msdnmag/issues/05/02/NETMatters/&quot;&gt;.NET Matters&lt;/a&gt; column in the February 2005 issue of MSDN Magazine).&lt;br /&gt;The bottom line is that building async pages in ASP.NET 1.x isn&#39;t impossible, but it is tedious. And after doing it once or twice, you can&#39;t help but think that there has to be a better way. Today there is—ASP.NET 2.0.&lt;br /&gt;&lt;br /&gt;&lt;a class=&quot;clsSmall&quot; onclick=&quot;OpenMenu(contentbtn, contentmenu);&quot; href=&quot;http://msdn.microsoft.com/msdnmag/issues/05/10/WickedCode/#contents&quot; target=&quot;_self&quot;&gt;&lt;/a&gt;&lt;a name=&quot;S2&quot;&gt;&lt;/a&gt;&lt;span style=&quot;color:#ff6600;&quot;&gt;Asynchronous Pages in ASP.NET 2.0&lt;br /&gt;&lt;/span&gt;ASP.NET 2.0 vastly simplifies the way you build asynchronous pages. You begin by including an Async=&quot;true&quot; attribute in the page&#39;s @ Page directive, like so: &lt;%@ Page Async=&quot;true&quot; ... %&gt;&lt;br /&gt;Under the hood, this tells ASP.NET to implement IHttpAsyncHandler in the page. Next, you call the new Page.AddOnPreRenderCompleteAsync method early in the page&#39;s lifetime (for example, in Page_Load) to register a Begin method and an End method, as shown in the following code: AddOnPreRenderCompleteAsync (&lt;br /&gt;new BeginEventHandler(MyBeginMethod),&lt;br /&gt;new EndEventHandler (MyEndMethod)&lt;br /&gt;);&lt;br /&gt;What happens next is the interesting part. The page undergoes its normal processing lifecycle until shortly after the PreRender event fires. Then ASP.NET calls the Begin method that you registered using AddOnPreRenderCompleteAsync. The job of the Begin method is to launch an asynchronous operation such as a database query or Web service call and return immediately. At that point, the thread assigned to the request goes back to the thread pool. Furthermore, the Begin method returns an IAsyncResult that lets ASP.NET determine when the asynchronous operation has completed, at which point ASP.NET extracts a thread from the thread pool and calls your End method. After End returns, ASP.NET executes the remaining portion of the page&#39;s lifecycle, which includes the rendering phase. Between the time Begin returns and End gets called, the request-processing thread is free to service other requests, and until End is called, rendering is delayed. And because version 2.0 of the .NET Framework offers a variety of ways to perform asynchronous operations, you frequently don&#39;t even have to implement IAsyncResult. Instead, the Framework implements it for you.&lt;br /&gt;The codebehind class in &lt;a class=&quot;clsFigs&quot; onclick=&quot;OpenUrl(&#39;default.aspx?loc=&amp;amp;fig=true#fig1&#39;); return false;&quot; href=&quot;http://msdn.microsoft.com/msdnmag/issues/05/10/WickedCode/default.aspx?loc=&amp;amp;fig=true#fig1&quot; target=&quot;_self&quot; user=&quot;http://msdn.microsoft.com&quot;&gt;Figure 1&lt;/a&gt; provides an example. The corresponding page contains a Label control whose ID is &quot;Output&quot;. The page uses the System.Net.HttpWebRequest class to fetch the contents of http://msdn.microsoft.com. Then it parses the returned HTML and writes out to the Label control a list of all the HREF targets it finds.&lt;br /&gt;Since an HTTP request can take a long time to return, AsyncPage.aspx.cs performs its processing asynchronously. It registers Begin and End methods in Page_Load, and in the Begin method, it calls HttpWebRequest.BeginGetResponse to launch an asynchronous HTTP request. BeginAsyncOperation returns to ASP.NET the IAsyncResult returned by BeginGetResponse, resulting in ASP.NET calling EndAsyncOperation when the HTTP request completes. EndAsyncOperation, in turn, parses the content and writes the results to the Label control, after which rendering occurs and an HTTP response goes back to the browser.&lt;br /&gt;&lt;br /&gt;When a synchronous page is requested, ASP.NET assigns the request a thread from the thread pool and executes the page on that thread. If the request pauses to perform an I/O operation, the thread is tied up until the operation completes and the page lifecycle can be completed. An asychronous page, by contrast, executes as normal through the PreRender event. Then the Begin method that&#39;s registered using AddOnPreRenderCompleteAsync is called, after which the request-processing thread goes back to the thread pool. Begin launches an asynchronous I/O operation, and when the operation completes, ASP.NET grabs another thread from the thread pool and calls the End method and executes the remainder of the page&#39;s lifecycle on that thread.&lt;br /&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreambigtechnologies.blogspot.com/feeds/782235044205644839/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1772193723421012238/782235044205644839?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1772193723421012238/posts/default/782235044205644839'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1772193723421012238/posts/default/782235044205644839'/><link rel='alternate' type='text/html' href='http://dreambigtechnologies.blogspot.com/2008/01/asynchronous-pages-in-aspnet-20_25.html' title='Asynchronous Pages in ASP.NET 2.0'/><author><name>DreamBig</name><uri>http://www.blogger.com/profile/06759530190301952355</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://i220.photobucket.com/albums/dd161/dreambigtechnologies/DSCF8495.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1772193723421012238.post-6438149144902774322</id><published>2008-01-04T21:42:00.000-08:00</published><updated>2008-09-15T06:17:59.972-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ASP.NET"/><title type='text'>ASP.NET 2.0 Session State Partitioning</title><content type='html'>&lt;span style=&quot;color:#ff9900;&quot;&gt;SqlSessionStateStore&lt;/span&gt; supports a key scalability feature of ASP.NET 2.0 known as &lt;span style=&quot;color:#333333;&quot;&gt;session state partitioning&lt;/span&gt;. By default, all sessions for all applications are stored in a single SQL Server database. However, developers can implement custom partition resolvers—classes that implement the IPartitionResolver interface—to partition sessions into multiple databases. Partition resolvers convert session IDs into database connection strings; before accessing the session state database, SqlSessionStateStore calls into the active partition resolver to get the connection string it needs. One use for custom partition resolvers is to divide session state for one application into two or more databases. Session state partitioning helps ASP.NET applications scale out horizontally, by eliminating the bottleneck of a single session state database. For an excellent overview of how partitioning works, and how to write custom partition resolvers, see &quot;&lt;a id=&quot;ctl00_rs1_mainContentContainer_ctl09&quot; onclick=&quot;javascript:Track(&#39;ctl00_rs1_mainContentContainer_ctl00ctl00_rs1_mainContentContainer_ctl09&#39;,this);&quot; href=&quot;http://msdn.microsoft.com/msdnmag/issues/05/09/SessionState/default.aspx&quot;&gt;Fast, Scalable, and Secure Session State Management for Your Web Applications&lt;/a&gt;.&quot;&lt;br /&gt;&lt;br /&gt;&lt;span id=&quot;fullpost&quot;&gt;&lt;br /&gt;ASP.NET 2.0 provides a solution to the problems encountered when scaling up by enabling horizontal scale-out of session state stores through its state partitioning feature. State partitioning enables the session data and the associated processing load to be divided between multiple out-of-process state stores, allowing the session state load to scale as the Web farm grows and the number of concurrent sessions increases. It works by supplying a custom partitioning algorithm to SessionStateModule, which uses the algorithm to determine the state store connection string to be used for the current request based on the session ID. Both the SQLServer and the StateServer providers will then use the appropriate connection string to fetch and save the session.&lt;br /&gt;&lt;br /&gt;You can implement a partitioning scheme by deriving a class from the System.Web.IPartitionResolver interface, and building the session ID-to-connection string mapping inside the ResolvePartition method. The basic implementation shown in &lt;a class=&quot;clsFigs&quot; onclick=&quot;OpenUrl(&#39;default.aspx?loc=&amp;amp;fig=true#fig5&#39;); return false;&quot; href=&quot;http://msdn.microsoft.com/msdnmag/issues/05/09/sessionstate/default.aspx?loc=&amp;amp;fig=true#fig5&quot; target=&quot;_self&quot; user=&quot;http://msdn.microsoft.com&quot;&gt;Figure 5&lt;/a&gt; creates an array of hardcoded connection strings corresponding to available state store partitions in the Initialize method. In the ResolvePartition method, the resolver hashes the session ID string into one of the buckets corresponding to one of the loaded connection strings, and selects the resulting connection string.&lt;br /&gt;&lt;br /&gt;Ideally, you will want to implement either a configuration collection for specifying the available partitions that you will load in the Initialize method, or obtain the collection from a centralized location over the network on a Web farm. The simple uniform hashing implementation results in a relatively even distribution of sessions to stores over time because the session IDs are generated randomly. However, you may want to implement a load-balancing scheme where you dynamically determine the partition in which to place a given session based on current partition load. To do this, you will need to encode the partition ID into the session ID by using a custom SessionIDManager derivation together with the PartitionResolver to determine the partition for a new session, create the session ID with the partition ID encoded, and then determine the partition ID in future requests by pulling it out from the session ID in the partition resolver.&lt;br /&gt;The partition resolver implementation can be deployed in the App_Code application directory, or it can be compiled into an assembly and deployed in the \Bin application directory or installed into the GAC. Finally, the resolver type has to be added to the session state configuration by specifying its fully qualified name in the partitionResolverType attribute.&lt;br /&gt;&lt;br /&gt;&lt;sessionstate mode=&quot;StateServer&quot; partitionresolvertype=&quot;IndustryStrengthSessionState.PartitionResolver&quot;&gt;Note that the partition resolver can only be used when session state is using the SQLServer or StateServer modes, and no connection string can be specified using the sqlConnectionString or stateConnectionString attributes.&lt;br /&gt;&lt;br /&gt;Session state also provides an alternative approach for Web farm session state management, which allows the application to harness the speed of distributed InProc state storage (or out-of-process state storage for reliability purposes) provided that a session ID-encompassing affinity scheme can be used on the Web farm. The affinity scheme needs to ensure that all requests with a given session ID are passed to the same Web server, in which case each Web server can maintain its own session state store without sharing it with other Web servers.&lt;br /&gt;&lt;br /&gt;The affinity scheme needs to be based on session IDs or other characteristics of the request that guarantee all requests containing a given session ID will be directed to the same Web server. Such schemes can be based on client IP network ranges (keeping in mind that clients may be coming from dynamically assigned Web proxies) or user agent headers. The problems with implementing such affinity schemes include the fact that they are not readily available on hardware load-balancing systems as they require HTTP-level routing of the requests (as opposed to the more common IP or TCP-level connection routing). In addition, these schemes prevent you from doing any real load balancing because routing needs to be deterministic with respect to session ID to state store mappings to preserve state.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color:#ff9900;&quot;&gt;Figure 5 Session Partitioning&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;public class PartitionResolver : System.Web.IPartitionResolver&lt;br /&gt;{&lt;br /&gt;private String[] partitions;&lt;br /&gt;&lt;br /&gt;public void Initialize()&lt;br /&gt;{&lt;br /&gt;// create the partition connection string table&lt;br /&gt;partitions = new String[] {&lt;br /&gt;&quot;tcpip=192.168.1.1:42424&quot;,&lt;br /&gt;&quot;tcpip=192.168.1.2:42424&quot;,&lt;br /&gt;&quot;tcpip=192.168.1.3:42424&quot; };&lt;br /&gt;}&lt;br /&gt;public String ResolvePartition(Object key)&lt;br /&gt;{&lt;br /&gt;String sid = (String)key;&lt;br /&gt;// hash the incoming session ID into&lt;br /&gt;// one of the available partitions&lt;br /&gt;int partitionID = Math.Abs(sid.GetHashCode()) % partitions.Length;&lt;br /&gt;return partitions[partitionID];&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreambigtechnologies.blogspot.com/feeds/6438149144902774322/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1772193723421012238/6438149144902774322?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1772193723421012238/posts/default/6438149144902774322'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1772193723421012238/posts/default/6438149144902774322'/><link rel='alternate' type='text/html' href='http://dreambigtechnologies.blogspot.com/2008/01/fast-scalable-and-secure-session-state.html' title='ASP.NET 2.0 Session State Partitioning'/><author><name>DreamBig</name><uri>http://www.blogger.com/profile/06759530190301952355</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://i220.photobucket.com/albums/dd161/dreambigtechnologies/DSCF8495.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1772193723421012238.post-9142856731024397047</id><published>2007-12-03T09:01:00.000-08:00</published><updated>2008-09-15T06:18:17.133-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ASP.NET"/><title type='text'>Visual Studio 2008 is Here!</title><content type='html'>Hi Guys!&lt;br /&gt;&lt;br /&gt;Its been so long after my last post. Actually was kind of busy with things. Anyways, One of the biggest software releases being talked about for the last few months, you guessed it right, Visual Studio 2008 is finally out in its RTM build. It was running in beta for quiet a few months and now is out with many new features as well as enhancements to the previous ones. The new version promises to make life of programmers easier while giving them more flexibility and functionality in working with the new features introduced in .NET Framework 3.0 as well as the new 3.5 &quot;futurz&quot;. I will not get into much details about it here but here are the few things that i liked in it rightaway.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold; color: rgb(255, 204, 0);&quot;&gt;Multiple Framework Version Support&lt;/span&gt; : &lt;br /&gt;&lt;br /&gt;&lt;span id=&quot;fullpost&quot;&gt;&lt;br /&gt;In Visual Studio 2008, You can specify in the project properties, which .NET framework version you wish to compile your application against. This is a very useful feature and gives you the flexibility to work with any version of .NET framework (Starting from 2.0) in the same IDE. You do not have to keep the VS 2005 IDE on your system along with it. When you select a different Framework version in the properties, the IDE reloads the project with settings that target that particular version of framework.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(255, 204, 0); font-weight: bold;&quot;&gt;IDE and Language Enhancements&lt;/span&gt; : The IDE of Visual Studio 2008 is much more friendly then its previous one. Its quiet fast in loading and most of the glitches from the previous one have been removed. The overall look-and-feel of the IDE has been improved too. There are quiet a few tools that have been added to it. One that requires mention is the Object Relational Designer (O/R Designer) which simplifies the use of LINQ in Visual Studio Data Projects. It lets the developer, in real time, to design LINQ-TO-SQL classes using a visual interface. You can add Classes, Inheritance between them, properties, methods by dragging items from database explorer etc. Quiet a handy one.&lt;br /&gt;&lt;br /&gt;A handy enhancement to language features to C#, which i personally use very much is the quick property definition syntax for simple property definitions. Earlier in Visual Studio 2005, while developing class libraries, we use to create a lot of properties to just access some private data member in a secured way. It was quiet  cumbersome to write these. typically the code looks like this:&lt;br /&gt;&lt;br /&gt;class Test&lt;br /&gt;{&lt;br /&gt;  private int _testProp;&lt;br /&gt;&lt;br /&gt;  public int TestProp&lt;br /&gt;  {&lt;br /&gt;       get&lt;br /&gt;       {&lt;br /&gt;              return _testProp;&lt;br /&gt;       }&lt;br /&gt;&lt;br /&gt;       set&lt;br /&gt;      {&lt;br /&gt;            _testProp=value;&lt;br /&gt;      }&lt;br /&gt;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;As you can see, nothing much is being done in this property except getting and setting the value. Imagine this being done for 10-15 private data members and you know what i am talking about. Now in Visual Studio 2008, the shortcut method for this code is:&lt;br /&gt;&lt;br /&gt;public int test{get;set;}&lt;br /&gt;&lt;br /&gt;Thats it! it will create a simple get and set kind of property. I simply love this feature.&lt;br /&gt;Apart from this there are many other features like the var keyword, which lets you implicitly define the type of a variable at compile time on the basis of value you assign to it, Object initializers, which lets you initialise an object by providing different values for its fields in curly braces just like you initialise primitive types, LAMBADA expressions which lets you create parameterized anonymous methods which can be used in place of an delegate object, partial method definations, anonymous types etc.&lt;br /&gt;&lt;br /&gt;All these enhancements apply to Visual Basic 2008 also. For detailed information about these, refer to the .NET documentation.&lt;br /&gt;&lt;br /&gt;There is much much more to tell about it. its a huge release, but due to lack of time,i will leave it here. In the End, i would like to say just one thing, Its worth upgrading to.&lt;br /&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreambigtechnologies.blogspot.com/feeds/9142856731024397047/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1772193723421012238/9142856731024397047?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1772193723421012238/posts/default/9142856731024397047'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1772193723421012238/posts/default/9142856731024397047'/><link rel='alternate' type='text/html' href='http://dreambigtechnologies.blogspot.com/2007/12/visual-studio-2008-is-here.html' title='Visual Studio 2008 is Here!'/><author><name>DreamBig</name><uri>http://www.blogger.com/profile/06759530190301952355</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://i220.photobucket.com/albums/dd161/dreambigtechnologies/DSCF8495.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1772193723421012238.post-5487521662205565207</id><published>2007-11-18T20:52:00.001-08:00</published><updated>2008-09-15T06:19:13.041-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="People Skills"/><title type='text'>The Lost Art of Listening</title><content type='html'>&lt;p&gt;&lt;span class=&quot;bigcap&quot;&gt;O&lt;/span&gt;ne of the greatest gifts any of us can ever receive  is the gift of listening. It is also one of the greatest gifts we can ever give.  Unfortunately, it appears to be a lost art. &lt;/p&gt; &lt;p&gt;&lt;img title=&quot;Man Listening Intently&quot; alt=&quot;Listening.jpg&quot; src=&quot;http://www.michaelhyatt.com/fromwhereisit//Listening.jpg&quot; border=&quot;0&quot; height=&quot;240&quot; hspace=&quot;4&quot; vspace=&quot;4&quot; width=&quot;360&quot; /&gt; &lt;/p&gt; &lt;p&gt;We live in a world where everyone is talking but few are listening. What  often passes for listening is simply one person pausing to collect their  thoughts for their next soliloquy. Just turn on your favorite talk radio or  television show to experience a vivid example of this. (My personal favorite is  Hannity &amp;amp; Colmes, where no one appears to be listening to anyone!) &lt;/p&gt; &lt;br /&gt;&lt;br /&gt;&lt;span id=&quot;fullpost&quot;&gt;&lt;br /&gt;&lt;p&gt;Listening is difficult work. I don’t pretend to be good at it, but I am  trying to learn. Like every skill, the more you do it, the better you get. Here  are a few things I am trying to practice and that you can also do to improve  your listening skills: &lt;/p&gt; &lt;ol&gt;&lt;li&gt;&lt;strong&gt;Be fully present.&lt;/strong&gt; This is where every great conversation  begins. So often, we are distracted with other things. We try to listen while  continuing to work on the computer or watch television. To be fully present  means we eliminate these distractions and focus exclusively on the other person.  It takes great effort to be fully in the moment, leaning forward, with your  ears—and heart—open.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Ask a question.&lt;/strong&gt; I am trying to discipline myself to ask  more questions. Instead of just commenting when it’s my turn, I try to ask a  question about something the other person said. Perhaps they said something that  requires further explanation. Maybe you need an example. Regardless, a question  can help the conversation go deeper.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Ask a second question.&lt;/strong&gt; Great questions are the prerequisite  for great conversation. Sometimes, like peeling the layers off an onion, you  have to peel the conversation back with even more questions. It’s good to ask  questions. It’s even better to ask lots of questions. The more you listen, the  more insight you gather and the more relevant your comments will be.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Put yourself in the other person’s shoes.&lt;/strong&gt; Words are only  part of the communication. Sometimes we need to experience the other person’s  feelings to really understand. We need to listen with our heart as well as our  mind.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Validate their thoughts and feelings.&lt;/strong&gt; One of the worst  things we can do when listening is invalidate the other person. “Why would you  think that?!” Or, “You shouldn’t feel that way.” These kinds of words don’t move  the conversation along; they stop it dead in it’s tracks.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Repeat back what you have heard.&lt;/strong&gt; When we do this—and do it  accurately—we communicate that we understand. It also gives you an opportunity  to re-calibrate your understanding if you misunderstood something. &lt;/li&gt;&lt;/ol&gt; &lt;p&gt;Plenty of people are good talkers. Few are good listeners. If you develop the  latter skill, you will find yourself invited into amazing conversations that  wouldn’t otherwise happen. &lt;/p&gt;&lt;br /&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreambigtechnologies.blogspot.com/feeds/5487521662205565207/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1772193723421012238/5487521662205565207?isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1772193723421012238/posts/default/5487521662205565207'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1772193723421012238/posts/default/5487521662205565207'/><link rel='alternate' type='text/html' href='http://dreambigtechnologies.blogspot.com/2007/11/lost-art-of-listening.html' title='The Lost Art of Listening'/><author><name>DreamBig</name><uri>http://www.blogger.com/profile/06759530190301952355</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://i220.photobucket.com/albums/dd161/dreambigtechnologies/DSCF8495.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1772193723421012238.post-6804485944807753371</id><published>2007-11-18T20:50:00.000-08:00</published><updated>2008-09-15T06:19:32.807-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="People Skills"/><title type='text'>Leadership and Accountability</title><content type='html'>&lt;p&gt;&lt;span class=&quot;bigcap&quot;&gt;E&lt;/span&gt;veryone wants to be a leader. However, few are  prepared to accept the &lt;em&gt;accountability&lt;/em&gt; that goes with it. But you can&#39;t  have one without the other. They are two sides of the same coin. &lt;/p&gt;&lt;img title=&quot;Leader Taking Responsibility&quot; alt=&quot;Leader Taking Responsibility&quot; src=&quot;http://www.michaelhyatt.com/fromwhereisit//responsibility.jpg&quot; border=&quot;0&quot; height=&quot;239&quot; hspace=&quot;4&quot; vspace=&quot;4&quot; width=&quot;360&quot; /&gt;  &lt;p&gt;But what does accountability look like? First and foremost, it means that you  accept responsibility for the outcomes expected of you—both good and bad. You  don’t blame others. And you don’t blame the external environment. There are  always things you could have done—or still can do—to change the outcome. &lt;/p&gt; &lt;br /&gt;&lt;br /&gt;&lt;span id=&quot;fullpost&quot;&gt;&lt;br /&gt;&lt;p&gt;Until you take responsibility, you are a victim. And being a victim is the  exact opposite of being a leader. Victims are passive. They are acted upon.  Leaders are active. They take initiative to influence the outcome. &lt;/p&gt; &lt;p&gt;Once a month, we require all of our divisional leaders to write a report,  detailing what happened the previous month. They submit these to the Executive  Leadership Team and then we meet with each leader face-to-face. &lt;/p&gt; &lt;p&gt;These reports provide a summary of what happened and a review of the key  metrics that drive the business. We also ask each division head to describe how  their leadership succeeded or failed. We ask, “&lt;a href=&quot;http://www.michaelhyatt.com/fromwhereisit/2007/08/what-is-it-abou.html&quot; target=&quot;_blank&quot;&gt;What was it about your leadership&lt;/a&gt; that produced these  results?” The underlying assumption is that it is &lt;em&gt;all&lt;/em&gt; about their  leadership. We do not allow them to blame anyone internally or externally. &lt;/p&gt; &lt;p&gt;Allen Arnold did a particularly good job of this in his report. I have asked  his permission to include it here, because I believe it serves as a great model  for others. By way of background, Allen leads our Fiction division. It is one of  our fastest growing divisions and Allen has done a great job leading it to it’s  current level of success.&lt;/p&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreambigtechnologies.blogspot.com/feeds/6804485944807753371/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1772193723421012238/6804485944807753371?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1772193723421012238/posts/default/6804485944807753371'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1772193723421012238/posts/default/6804485944807753371'/><link rel='alternate' type='text/html' href='http://dreambigtechnologies.blogspot.com/2007/11/leadership-and-accountability.html' title='Leadership and Accountability'/><author><name>DreamBig</name><uri>http://www.blogger.com/profile/06759530190301952355</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://i220.photobucket.com/albums/dd161/dreambigtechnologies/DSCF8495.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1772193723421012238.post-2090141557990186350</id><published>2007-11-16T22:46:00.000-08:00</published><updated>2008-09-15T06:19:49.189-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="People Skills"/><title type='text'>How to Shave Ten Hours Off Your Work Week</title><content type='html'>&lt;h3&gt;&lt;br /&gt;&lt;/h3&gt; &lt;p&gt;&lt;span class=&quot;bigcap&quot;&gt;A&lt;/span&gt;lmost everyone I know is working more time than  they would like. That’s why a book like &lt;a href=&quot;http://www.amazon.com/exec/obidos/ASIN/0307353133/fwis-20&quot; target=&quot;_blank&quot;&gt;The 4-Hour Work Week&lt;/a&gt; by Timothy Ferriss has been such a big  bestseller. This is a great book, but the promise is a little over the top. I  don’t know of anyone, including Tim Ferriss, who really only works four hours.  &lt;/p&gt; &lt;p&gt;&lt;img title=&quot;Weekly Calendar&quot; alt=&quot;Weekly Calendar&quot; src=&quot;http://www.michaelhyatt.com/fromwhereisit//calendar-1.jpg&quot; border=&quot;0&quot; height=&quot;239&quot; hspace=&quot;4&quot; vspace=&quot;4&quot; width=&quot;360&quot; /&gt; &lt;/p&gt; &lt;p&gt;But what if you could &lt;em&gt;shave ten hours&lt;/em&gt; off your work week? In my  opinion, that is much more do-able. Virtually anyone, with a little thought and  effort can do it. Here’s how:&lt;/p&gt; &lt;br /&gt;&lt;span id=&quot;fullpost&quot;&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;strong&gt;Limit the time you spend online.&lt;/strong&gt; In my experience, the Web  is most people’s #1 time suck. Yes, I know it is a wonderful tool for research,  blah, blah, blah. But I often catch myself and my family members mindlessly  surfing from one page to another with no clear objective in mind. Before you  know it, you can eat up several hours a day. The key is to put a fence around  this activity and limit your time online. Set a timer for yourself if you have  to.&lt;br /&gt;&lt;br /&gt;This is true for Web surfing and it is also true for email. Unless  you are in a customer service position where you have to be “always-on,” you  should check email no more than &lt;a href=&quot;http://www.michaelhyatt.com/fromwhereisit/2007/06/breaking_email_.html&quot; target=&quot;_blank&quot;&gt;two or three times a day&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Touch email messages once and only once.&lt;/strong&gt; Okay, let’s be  honest. How many times do you read the same email message over and over again?  Guess what? The information hasn’t changed. That’s right. &lt;em&gt;You are  procrastinating.&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;I have a personal rule: I will only read each  message once then take the appropriate action: do, delegate, defer, file or  delete it. I describe these in more detail in &lt;a href=&quot;http://www.michaelhyatt.com/fromwhereisit/2007/11/my-current-work.html&quot; target=&quot;_blank&quot;&gt;a post I made last week&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Follow the two-minute rule.&lt;/strong&gt; My to-do list is very short. It  never gets longer than about thirty items. This is because I do everything I can  immediately. If I need to make a phone call, rather than entering it on my to-do  list, I just make the call.&lt;br /&gt;&lt;br /&gt;If I can complete the action in less than  two minutes, I just go ahead and do it. Why wait? You will be amazed at how much  this “bias toward action” will reduce your workload.&lt;br /&gt;&lt;br /&gt;Conversely, when  you don’t do it promptly, you end up generating even more work for yourself and  others. The longer a project sits, the longer it takes to overcome inertia and  get it moving again. The key is to define the very next action and do it. You  don’t have to complete the whole project, just the next action.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Stop attending low-impact meetings.&lt;/strong&gt; If there’s one thing we  can probably all agree on, it’s that we go to too many meetings. Either the  meeting organizer isn’t prepared, the meeting objective isn’t defined, or you  can’t really affect the outcome one way or the other.&lt;br /&gt;&lt;br /&gt;Every meeting  should have a written objective and a written agenda. If you don’t have these  two minimal items, how do you know when the meeting is over? Could this also  explain why meetings seem to drag on and on until everyone is worn out?&lt;br /&gt;&lt;br /&gt;If the content of the meeting is irrelevant to you and your job or if  you don’t feel that you really add that much to the discussion, ask to be  excused.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Schedule time to get your work done.&lt;/strong&gt; This is crucial. As  the saying goes, “nature abhors a vacuum.” If you don’t take control of your  calendar, someone else will. You can’t spend all your time in meetings and still  get your work done.&lt;br /&gt;&lt;br /&gt;Instead, you need to make appointments with  yourself. Yes, go ahead and actually put them on your calendar. Then, when  someone asks for a meeting, you can legitimately say, “No, I’m sorry, that won’t  work. I already have a commitment.” And you do—to yourself!&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Cultivate the habit of non-finishing.&lt;/strong&gt; Not every project you  start is worth finishing. Sometimes we get into it and realize, “This is a waste  of time.” Fine, then give yourself permission to quit.&lt;br /&gt;&lt;br /&gt;I do this all the  time with reading. It’s why I am able to read so many articles and books. Here’s  publishing’s dirty little secret: &lt;em&gt;most books are not worth finishing.&lt;/em&gt;  Most books could be cut in half and you wouldn’t miss a thing. The key is to  read as long as you are interested and then stop. There are too many great books  to read without getting bogged down in the merely good ones.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Engage in a weekly review and preview.&lt;/strong&gt; Part of the reason  our lives get out of control is because we don’t plan. Once a week, you have to  come up for air. Or—to change the metaphor—you have to take the plane up to  30,000 feet, so you can see the big picture.&lt;br /&gt;&lt;br /&gt;I generally do this on  Sunday evening. I review my notes from the previous week and look ahead to my  calendar. I have written elsewhere on &lt;a href=&quot;http://www.michaelhyatt.com/fromwhereisit/2007/03/the_importance_.html&quot; target=&quot;_blank&quot;&gt;this topic&lt;/a&gt;, so I won’t repeat myself here. &lt;/li&gt;&lt;/ol&gt; &lt;p&gt;You may not be able to reduce your workweek to four hours—and honestly, who  would want to?—but you can certainly scale it down to a manageable level by  cutting out the wasted motion and developing a few good habits. &lt;/p&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreambigtechnologies.blogspot.com/feeds/2090141557990186350/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1772193723421012238/2090141557990186350?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1772193723421012238/posts/default/2090141557990186350'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1772193723421012238/posts/default/2090141557990186350'/><link rel='alternate' type='text/html' href='http://dreambigtechnologies.blogspot.com/2007/11/20-ventures-you-can-start-with-rs-5.html' title='How to Shave Ten Hours Off Your Work Week'/><author><name>DreamBig</name><uri>http://www.blogger.com/profile/06759530190301952355</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://i220.photobucket.com/albums/dd161/dreambigtechnologies/DSCF8495.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1772193723421012238.post-4268074040264746702</id><published>2007-11-16T21:31:00.000-08:00</published><updated>2008-09-15T06:21:35.764-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="earn money"/><title type='text'>List of affiliate programs in India</title><content type='html'>Affiliate marketing programs are the first lot that website owners and bloggers start looking at when they want to monetise their sites or blogs. Google Adsense is the obvious name that comes to our mind when we talk of affiliate marketing. So recently when I went through that stage for another online venture of mine, I signed up for Adsense plus a host of other affiliate programs. &lt;br /&gt;&lt;br /&gt;What I didn&#39;t realise that time was that the affiliate programs that work for the blogs or websites in the US might not necessarily work for a website with an Indian audience. The reasons can be many. The primary reason is that there are more Americans today who are buying stuff online than Indians. &lt;br /&gt;&lt;br /&gt;I recently read about somebody from Futurebaazar, supposedly one of India&#39;s best online shopping portals, mentioning in a news story that out of the total number of visits the site gets in a day, the percentage of people who actually end up buying is so far minuscule. Online shopping is apparently a phenomenon not yet accepted fully by the Internet goers in India. I suppose the touch and feel at Ansal Plaza is what people want :-)&lt;br /&gt;&lt;br /&gt;So, people here are more likely to click on ads that link to another service or another online site, rather than a product link. Maybe that is the reason why some people think Google Adsense works best among many affiliate marketing networks.&lt;br /&gt;Secondly, there is the question of relevancy. There is no use advertising a New York service in your website targeted at the Indian audience. This led me to an online quest for Indian affiliate networks.&lt;br /&gt;&lt;br /&gt;Below is the list.  &lt;br /&gt;&lt;span id=&quot;fullpost&quot;&gt;&lt;br /&gt;This is a work in progress list of all the major affiliate marketing programs in India. You might have run in to many of these already. The basic idea is to share what I have collected so far and maybe provide a resource to somebody looking to monetise his/her site.  And of course, please link to this blog. Leave me a comment in case you know/have any other affiliate network sites or programs.&lt;br /&gt; &lt;br /&gt;Affiliate network sites -&lt;br /&gt;&lt;a href=&quot;http://www.affiliatecurry.com/&quot;&gt;Affiliate Curry  &lt;/a&gt;-  Supposedly India&#39;s first affiliate network offering a small range of Indian affiliate programs.&lt;br /&gt;&lt;a href=&quot;http://www.netaffiliate.in/&quot;&gt;Affiliate Network&lt;/a&gt; - Offers affiliate network and provides commission to affiliates on a click basis&lt;br /&gt;&lt;a href=&quot;http://cinechance.com/partners/&quot;&gt;Cine Chance&lt;/a&gt;- At the Starting you will get Rs. 5 for every confirmed registered member of Cine Chance who comes from a banner/text link on your site. If they get satisfied with your conversion rate, they can increase your commission upto Rs 10 per free registration.&lt;br /&gt;&lt;a href=&quot;http://www.clixgalore.co.in/&quot;&gt;ClixGalore India&lt;/a&gt; - Offers five scaled levels of affiliate recruitment and promotional services to their merchants with a small but growing position in the India Affiliate Marketing industry. Network access to the USA, Japan, Australia, India and the UK.&lt;br /&gt;&lt;a href=&quot;http://www.dgm-india.com/&quot;&gt;dgm India&lt;/a&gt; - A wholly own subsidiary of Deal Group, part of dgm Holdings Plc. The Company&#39;s principal activity is the delivery of ROI through affiliate marketing, search engine marketing, display inventory and email, either as individual channels, or as a complete solution.&lt;br /&gt;&lt;a href=&quot;http://www.mediamarketingonline.com/htm/affiliate_marketing_services.html&quot;&gt;Media Marketing Online&lt;/a&gt; - Provider of Online Marketing services and Sales Solutions with various services like Search Engine Optimization , website optimization services, Search Engine Marketing solutions, PPC Management Services etc based in India with host of services for Advertisers, Publishers and Agencies.&lt;br /&gt;&lt;a href=&quot;http://www.tyroo.co.in/&quot;&gt;Tyroo&lt;/a&gt; - Offers pay per click ads. Generate tags for various categories on your website after identifying the size and type of ads that you want us to serve.&lt;br /&gt;&lt;a href=&quot;http://www.webshree.com/&quot;&gt;Webshree&lt;/a&gt; - Network of web sites and representatives selling your product on a commission-only basis.&lt;br /&gt;&lt;br /&gt;Individual websites providing affiliate programs -&lt;br /&gt;&lt;a href=&quot;http://www.bazaarofindia.com/affiliate.asp&quot;&gt;Bazaar of India&lt;/a&gt; - You can earning 20% commission when your reference buy its herbal products.&lt;br /&gt;&lt;a href=&quot;http://bmser.bharatmatrimony.com/matrimoney/marketing-tips.php&quot;&gt;Bharatmatrimony.com&lt;/a&gt; - India&#39;s leading matrimony site offering banner ads, text ads, and email marketing. Earn commissions of upto 50% of the paid subscriptions fee. You earn when visitors reach BharatMatrimony from your website and becomes a paid subscriber.&lt;br /&gt;&lt;a href=&quot;http://www.careerkhazana.com/Affiliate_Programme/&quot;&gt;Career khazana&lt;/a&gt; - Whenever any employer visits the site through your link and becomes a premium member, you earn 25% of a net membership fee.&lt;br /&gt;&lt;a href=&quot;http://www.chennaibazaar.com/salepoint/&quot;&gt;ChennaiBazaar&lt;/a&gt; - Earn 8% commissions on sale value on every successful sale generated.&lt;br /&gt;&lt;a href=&quot;http://www.clickaunty.com/affiliates/&quot;&gt;ClickAunty&lt;/a&gt; - 25% of each order placed by a referral. 15% of each renewal order.&lt;br /&gt;&lt;a href=&quot;http://www.craftsinindia.com/affiliates/&quot;&gt;Crafts in India&lt;/a&gt; - Craftsinindia invites queries from the organizations interested in being its affiliates.&lt;br /&gt;&lt;a href=&quot;http://pages.ebay.in/affiliates/&quot;&gt;ebay&lt;/a&gt; - You can refer ebay to friends and earn USD 3 per active confirmed registered user. You can also sell ebay products on your site. There is now a ebay India, so people can trade in INR as well. ebay also has partnerships with other global affiliate networks like Commission Junction and Auction Ads.&lt;br /&gt;&lt;a href=&quot;http://www.fernsnpetals.com/affiliate-us.asp&quot;&gt;Ferns n petals&lt;/a&gt; - Earn up to 15% commission on referred merchandise sales with a 10 day cookie for return visitors. You get commission on all sales that take place up to 10 days after you send someone to Fernsnpetals. For example, if a customer visits your site and clicks on its banner ad and doesn&#39;t buy anything right away, but purchases something at Fernsnpetals a few days later, you still get credited for the sale.&lt;br /&gt;&lt;a href=&quot;http://www.fropper.com/partners/index.php&quot;&gt;Fropper&lt;/a&gt; - Add a link on your site to Fropper. Whenever someone visits Fropper.com through this link and becomes a premium member, you can earn up to 50% of the fee.&lt;br /&gt;&lt;a href=&quot;http://www.indiaclub.com/affiliate/affiliateprogram.asp?&quot;&gt;India club&lt;/a&gt; - Online shopping site. You can sell Indian Books, Music, Paintings and Multimedia on your site and earn up to 10% in referral fees.&lt;br /&gt;&lt;a href=&quot;http://www.india-herbs.com/affiliates/index/info&quot;&gt;India Herbs&lt;/a&gt; - Paying you 40% commission on sales generated from your referrals. Paying you 10% commission on all sales generated on the websites of your referrals.&lt;br /&gt;&lt;a href=&quot;http://affiliate.indiatimes.com/scripts/program.php&quot;&gt;Indiatimes&lt;/a&gt; - You get paid 10% of sale by simply referring a visitor to this online shopping portal.&lt;br /&gt;&lt;a href=&quot;https://secure.friendfinder.com/p/partners/main.cgi?&quot;&gt;IndianFriendfinder&lt;/a&gt; - It pays you USD 1.00 for each woman and USD 0.50 for each man that signs up for a free membership. The more traffic you send, the more you earn with its percentage program. You earn an extra 10% when other affiliates sign up under your broker ID.&lt;br /&gt;&lt;a href=&quot;http://www.indiankarma.com/default.aspx?fuseaction=admin.affiliates&quot;&gt;IndianKarma&lt;/a&gt; - Pays you 40% commission for each member who signs up for a paid membership.&lt;br /&gt;&lt;a href=&quot;http://www.indianmatrimonialnetwork.com/affiliates.html&quot;&gt;IndianMatromonialNetwork&lt;/a&gt; - Based on a set performance. The higher the performance, the more you will earn! The base commission is 40%.&lt;br /&gt;&lt;a href=&quot;http://www.indianmatrimonials.com/partners/affiliates/about.cfm?z=z&quot;&gt;IndianMatrimonials&lt;/a&gt; - With its affiliates program, you earn 30% on all sales referred by your site. That means if someone signs up for one of its Deluxe accounts, you earn up to USD 17.70 per sale without doing anything. Once a month all affiliates with referral revenues of at least USD 25.00 are paid.&lt;br /&gt;&lt;a href=&quot;http://www.indiaplaza.in/affiliates/about.asp?&quot;&gt;Indianplaza&lt;/a&gt; - Link your site to products on Indianplaza and and it will pay you a fee for every item sold through a referral coming from your site.&lt;br /&gt;&lt;a href=&quot;http://www.indiansonnet.com/earndet.asp&quot;&gt;IndianOnNet&lt;/a&gt; - As soon as your referral pay its fees, it sends you 40% of the fees as your commission. Your referrals might in turn ask their friends to subscribe to the paid services of IndiansOnNet. If these friends of theirs join, then you receive 15% of the fees.&lt;br /&gt;&lt;a href=&quot;http://www.theindiatravel.com/about/affiliate.html&quot;&gt;India travel&lt;/a&gt; - Opportunity to earn rewards for sending customers who register with Indiatravel and who book trips.&lt;br /&gt;&lt;a href=&quot;http://www.jeevansathi.com/bussiness_sathi/&quot;&gt;JeevanSathi&lt;/a&gt;- All you need to do is to provide a Banner link on your website that fetches free and paid registrations to JeevanSathi. For every Free as well as Paid Registration you will be entitled to a commission.&lt;br /&gt;&lt;a href=&quot;http://www.lifepartnerindia.com/affiliates/&quot;&gt;Lifepartner India&lt;/a&gt; - You can place its links on your site. When users registered at Lifepartners India and becomes a premium member, you earn 50% commission.&lt;br /&gt;&lt;a href=&quot;http://india.makemytrip.com/static/affiliate_programme.asp&quot;&gt;Makemytrip&lt;/a&gt; - MakeMyTrip.com is an online travel company and among the most successful Internet companies in the country. It provides an affiliate service for which you have to write to the site explaining your business details.&lt;br /&gt;&lt;a href=&quot;http://bmser.bharatmatrimony.com/matrimoney/index.php&quot;&gt;Matri-Money&lt;/a&gt; The Matri-Money Affiliate Network offers multiple Indian Affiliate Programs across 14 Matrimony sites, offering up to 50% commission on paid registrations.&lt;br /&gt;&lt;a href=&quot;http://www.moneycosmos.com/&quot;&gt;Money cosmos&lt;/a&gt; - It pays you up to USD 1.00 for each user who registers for free. It also pays you a whopping 20% extra for transactions generated by members referred by you.&lt;br /&gt;&lt;a href=&quot;http://organicindia.com/organic_affiliate.php&quot;&gt;Organic India&lt;/a&gt; - Its affiliate program allows you to sell tea and other natural products. You can receive 10% commission for every item sold through your site.&lt;br /&gt;&lt;a href=&quot;http://www.rishtehirishte.com/affiliate/affiliatehome.php&quot;&gt;rishte hi rishte&lt;/a&gt; - You will earn Rs 15.00 for each member referred by you who signs up for free in its matrimonial section.You will earn Rs. 3.00 for each member who signs up for free in its matrimonial section referred by affiliates under you.&lt;br /&gt;&lt;a href=&quot;http://www.salwarkameezindia.com/affiliate-program.htm&quot;&gt;Salwar Kameez&lt;/a&gt; - All Affiliates, Super-Affiliates, SEO&#39;s, Asssociates, Distributors, Dealers, Representatives, Agents are welcome to join its International team and share the profits.&lt;br /&gt;&lt;a href=&quot;http://www.shaadi.com/shaadi-rewards/index.php&quot;&gt;Shaadi.com&lt;/a&gt; - Earn upto USD 0.55 on every free profile and upto 40% revenue share – USD 44 for every paid membership.&lt;br /&gt;&lt;a href=&quot;http://tajonline.tolshop.com/affiliate/faqs.php&quot;&gt;TajOnline&lt;/a&gt; - 5% revenue share on every purchase made on Tajonline through your website. Advance Program: 5% revenue share + recurring commission on purchases made by an individual for 1 year.&lt;br /&gt;&lt;a href=&quot;http://news.techtribe.com/frontFoot/opportunities.html&quot;&gt;Techtribe frontFoot&lt;/a&gt; - With frontFoot, companies post high-paying job opportunities that they are looking to fill, and techTribe members refer people in their network for those opportunities. If the company hires a candidate that was referred, the person who made the referral is rewarded financially.&lt;br /&gt;Disclaimer: The above list is simply to provide a directory listing and a brief initial intro to services provided by independent affiliate marketers, for research purposes. This blog cannot take responsibility for the links and descriptions provided above, and offers that these affiliate marketers provide. You are advised to consult and read the terms and conditions provided on their individual websites.&lt;br /&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreambigtechnologies.blogspot.com/feeds/4268074040264746702/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1772193723421012238/4268074040264746702?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1772193723421012238/posts/default/4268074040264746702'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1772193723421012238/posts/default/4268074040264746702'/><link rel='alternate' type='text/html' href='http://dreambigtechnologies.blogspot.com/2007/11/list-of-affiliate-programs-in-india.html' title='List of affiliate programs in India'/><author><name>DreamBig</name><uri>http://www.blogger.com/profile/06759530190301952355</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://i220.photobucket.com/albums/dd161/dreambigtechnologies/DSCF8495.jpg'/></author><thr:total>0</thr:total></entry></feed>