<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-19388365</id><updated>2011-04-21T19:14:35.628-07:00</updated><title type='text'>MCAD This</title><subtitle type='html'>What you need to know to pass the MCAD certification exams.&lt;br&gt;

&lt;b&gt;Currently studying for: Exam 70-305&lt;/b&gt;&lt;br&gt;
Up Next:Exam 70-306, Exam 70-310&lt;br&gt;

If this is your first visit please read &lt;a href="http://mcadthis.blogspot.com/2005/11/mcad-this.html"&gt;&lt;b&gt;the first post&lt;/b&gt;&lt;/a&gt;.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://mcadthis.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19388365/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://mcadthis.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>John K</name><uri>http://www.blogger.com/profile/16926035878217359506</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://static.flickr.com/5/6919476_90792fa52f_o.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>9</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-19388365.post-115259692611718425</id><published>2006-07-10T22:47:00.000-07:00</published><updated>2006-07-10T22:48:46.126-07:00</updated><title type='text'>No longer updating this site...</title><content type='html'>I am busy working on a new project. Please stop by if you have a moment. Click &lt;a href="http://www.todotoh.com"&gt;here&lt;/a&gt;. Thanks!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19388365-115259692611718425?l=mcadthis.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mcadthis.blogspot.com/feeds/115259692611718425/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19388365&amp;postID=115259692611718425&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19388365/posts/default/115259692611718425'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19388365/posts/default/115259692611718425'/><link rel='alternate' type='text/html' href='http://mcadthis.blogspot.com/2006/07/no-longer-updating-this-site.html' title='No longer updating this site...'/><author><name>John K</name><uri>http://www.blogger.com/profile/16926035878217359506</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://static.flickr.com/5/6919476_90792fa52f_o.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19388365.post-113690775654559350</id><published>2006-01-10T07:41:00.000-08:00</published><updated>2006-01-10T07:49:53.653-08:00</updated><title type='text'>.NET Web services</title><content type='html'>To readers who have finished the 70-305 test, please correct me if I'm wrong about assuming that there probably won't be more than 1 or 2 questions on the exam about consuming .NET Web services. I've never had a Web service question on any of the practice tests, but still feel like it's a good idea to have basic knowledge of terminology.&lt;br /&gt;&lt;br /&gt;Essentially, Web services are a way of interacting with objects over the Internet. The HTTP protocol is typically the transport of choice, although theoretically, other protocols should work (anyone have good examples of this?).&lt;br /&gt;&lt;br /&gt;In the .NET world, there are three protocols you need to be aware of:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;SOAP (Simple Object Access Protocol)&lt;/li&gt;&lt;li&gt;UDDI DISCO&lt;/li&gt;&lt;li&gt;WSDL&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;You can use wsdl.exe to generate a proxy class. You use the proxy class to invoke the Web service.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19388365-113690775654559350?l=mcadthis.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mcadthis.blogspot.com/feeds/113690775654559350/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19388365&amp;postID=113690775654559350&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19388365/posts/default/113690775654559350'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19388365/posts/default/113690775654559350'/><link rel='alternate' type='text/html' href='http://mcadthis.blogspot.com/2006/01/net-web-services.html' title='.NET Web services'/><author><name>John K</name><uri>http://www.blogger.com/profile/16926035878217359506</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://static.flickr.com/5/6919476_90792fa52f_o.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19388365.post-113570303468064624</id><published>2005-12-27T08:50:00.000-08:00</published><updated>2005-12-27T09:16:48.736-08:00</updated><title type='text'>Web.Config Element Nesting</title><content type='html'>While taking some of the online assessment tests, I've noticed that some answers to web.config questions can be immediately ruled out because of improper element nesting. Here's a quick "cheat sheet" which outlines the proper element nesting scheme. I'm going to memorize this in hopes it can help me immediately eliminate bogus answers.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;tt&gt;&lt;br /&gt;&amp;lt;configuration&amp;gt;&lt;br /&gt;   &amp;lt;system.web&amp;gt;&lt;br /&gt;      &amp;lt;compilation&lt;br /&gt;          defaultLanguage=""&lt;br /&gt;          debug=""/&amp;gt;&lt;br /&gt;      &amp;lt;customErrors mode="" /&amp;gt;&lt;br /&gt;          &amp;lt;authentication mode=""/&amp;gt;&lt;br /&gt;      &amp;lt;authorization&amp;gt;&lt;br /&gt;         &amp;lt;allow&lt;br /&gt;             users=""&lt;br /&gt;             roles=""/&amp;gt;&lt;br /&gt;         &amp;lt;deny&lt;br /&gt;             users=""&lt;br /&gt;             roles=""/&amp;gt;&lt;br /&gt;      &amp;lt;/authorization&amp;gt;&lt;br /&gt;      &amp;lt;trace&lt;br /&gt;          enabled=""&lt;br /&gt;          requestLimit=""&lt;br /&gt;          pageOutput=""&lt;br /&gt;          traceMode=""&lt;br /&gt;          localOnly="true"/&amp;gt;&lt;br /&gt;      &amp;lt;sessionState&lt;br /&gt;          mode="InProc"&lt;br /&gt;          stateConnectionString=""&lt;br /&gt;          sqlConnectionString=""&lt;br /&gt;          cookieless=""&lt;br /&gt;          timeout=""/&amp;gt;&lt;br /&gt;      &amp;lt;globalization&lt;br /&gt;          requestEncoding=""&lt;br /&gt;          responseEncoding=""/&amp;gt;&lt;br /&gt;   &amp;lt;/system.web&amp;gt;&lt;br /&gt;&amp;lt;/configuration&amp;gt;&lt;br /&gt;&lt;/tt&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19388365-113570303468064624?l=mcadthis.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mcadthis.blogspot.com/feeds/113570303468064624/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19388365&amp;postID=113570303468064624&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19388365/posts/default/113570303468064624'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19388365/posts/default/113570303468064624'/><link rel='alternate' type='text/html' href='http://mcadthis.blogspot.com/2005/12/webconfig-element-nesting.html' title='Web.Config Element Nesting'/><author><name>John K</name><uri>http://www.blogger.com/profile/16926035878217359506</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://static.flickr.com/5/6919476_90792fa52f_o.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19388365.post-113474644315817986</id><published>2005-12-16T07:09:00.000-08:00</published><updated>2005-12-24T12:43:38.816-08:00</updated><title type='text'>ASP.NET Globalization</title><content type='html'>Globalization and Localization is all about localizing the user interface (web based) for a specific culture. As usual, you should check out the &lt;tt&gt;&lt;a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemGlobalization.asp"&gt;System.Globalization&lt;/a&gt;&lt;/tt&gt; namespace for more information.&lt;br /&gt;&lt;br /&gt;Here is a short list of some things that are commonly localized:&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Menu item text&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Form layouts&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Dates and Time&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Currency&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Numbers&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Calendars&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;At a minimum you should take a look at the &lt;tt&gt;CultureInfo&lt;/tt&gt; class in the &lt;tt&gt;System.Globalization&lt;/tt&gt; namespace. &lt;br /&gt;&lt;br /&gt;Take a look at &lt;tt&gt;CurrentCulture&lt;/tt&gt; and &lt;tt&gt;CurrentUICulture&lt;/tt&gt;. Understand that &lt;tt&gt;CurrentUICulture&lt;/tt&gt; is used by the CLR when choosing language resource files and that &lt;tt&gt;CurrentCulture&lt;/tt&gt; is used for formatting dates/time, currency, numbers, etc. Make sure you are clear on how these classes tie into the &lt;tt&gt;&lt;a href="http://msdn.microsoft.com/library/en-us/cpref/html/frlrfSystemThreadingThreadClassTopic.asp?frame=true"&gt;System.Threading.Thread&lt;/a&gt;&lt;/tt&gt; class.&lt;br /&gt;&lt;br /&gt;Make sure you know what an &lt;tt&gt;Invariant&lt;/tt&gt; culture is and the reason why it is used. &lt;br /&gt;&lt;br /&gt;Take a look at working with localized &lt;tt&gt;Calendars&lt;/tt&gt;. Write a quick test app which works with them.&lt;br /&gt;&lt;br /&gt;Spend some time with resource files and the naming conventions you must use in order for the CLR to choose the right ones (i.e.: En-us, Fr-fr, etc.).&lt;br /&gt;&lt;br /&gt;Undertand about character encodings and what you need to do in order to convert UTF-16 to UTF-8, etc. &lt;br /&gt;&lt;br /&gt;About mirroring...make sure you know about the &lt;tt&gt;&amp;lt;HTML dir="rtl"&amp;gt;&lt;/tt&gt; tag and property combination and when you'd want to use that.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19388365-113474644315817986?l=mcadthis.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mcadthis.blogspot.com/feeds/113474644315817986/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19388365&amp;postID=113474644315817986&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19388365/posts/default/113474644315817986'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19388365/posts/default/113474644315817986'/><link rel='alternate' type='text/html' href='http://mcadthis.blogspot.com/2005/12/aspnet-globalization.html' title='ASP.NET Globalization'/><author><name>John K</name><uri>http://www.blogger.com/profile/16926035878217359506</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://static.flickr.com/5/6919476_90792fa52f_o.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19388365.post-113387897506132957</id><published>2005-12-06T06:14:00.000-08:00</published><updated>2005-12-07T07:11:26.520-08:00</updated><title type='text'>ASP.NET Web Forms Part 2 - Controls</title><content type='html'>&lt;p&gt;The bottom line with controls is that you really need to have a solid grasp on each one. The best way to do this of course, is to sit down and write some code. At the very least, you should know the following things about each control:&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Does it support &lt;tt&gt;AutoPostBack&lt;tt&gt;?&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Can it cause validation?&lt;/li&gt;&lt;br /&gt;&lt;li&gt;What class does it inherit from?&lt;/li&gt;&lt;br /&gt;&lt;li&gt;What events can it handle?&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;p&gt;I won't be going into the &lt;tt&gt;DataGrid&lt;/tt&gt; or the &lt;tt&gt;DataList&lt;/tt&gt; control here. I'll cover them in depth in the Data Manipulation part.&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Here's a table that shows the basics for each control. I'll be covering each control in detail in other posts.&lt;table border="1" style="margin-top:-20px;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;th style="background-color:silver;"&gt;&lt;span style="font-size:85%;"&gt;Control&lt;/span&gt;&lt;/th&gt;&lt;th  style="background-color:silver;"&gt;&lt;span style="font-size:85%;"&gt;Auto&lt;br /&gt;Post&lt;br /&gt;Back?&lt;/span&gt;&lt;/th&gt;&lt;th  style="background-color:silver;"&gt;&lt;span style="font-size:85%;"&gt;Validates?&lt;/span&gt;&lt;/th&gt;&lt;th  style="background-color:silver;"&gt;&lt;span style="font-size:85%;"&gt;Inherits&lt;/span&gt;&lt;/th&gt;&lt;th  style="background-color:silver;"&gt;&lt;span style="font-size:85%;"&gt;Events&lt;/span&gt;&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;tt&gt;&lt;span style="font-size:85%;"&gt;Label&lt;/span&gt;&lt;/tt&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;--&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;--&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;WebControl&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;tt&gt;&lt;span style="font-size:85%;"&gt;TextBox&lt;/span&gt;&lt;/tt&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;YES&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;YES&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;WebControl&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;TextChanged&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;tt&gt;&lt;span style="font-size:85%;"&gt;Image&lt;/span&gt;&lt;/tt&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;--&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;--&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;WebControl&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;tt&gt;&lt;span style="font-size:85%;"&gt;CheckBox&lt;/span&gt;&lt;/tt&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;YES&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;--&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;WebControl&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;CheckedChanged&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;tr&gt;&lt;td&gt;&lt;tt&gt;&lt;span style="font-size:85%;"&gt;RadioButton&lt;/span&gt;&lt;/tt&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;YES&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;--&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;CheckBox&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;CheckedChanged&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;tr&gt;&lt;td&gt;&lt;tt&gt;&lt;span style="font-size:85%;"&gt;Button&lt;/span&gt;&lt;/tt&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;--&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;YES&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;WebControl&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;Click&lt;br /&gt;Command&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;tt&gt;&lt;span style="font-size:85%;"&gt;LinkButton&lt;/span&gt;&lt;/tt&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;--&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;YES&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;WebControl&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;Click&lt;br /&gt;Command&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;tt&gt;&lt;span style="font-size:85%;"&gt;ImageButton&lt;/span&gt;&lt;/tt&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;--&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;YES&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;WebControl&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;Click Command&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;tt&gt;&lt;span style="font-size:85%;"&gt;DropDownList&lt;/span&gt;&lt;/tt&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;YES&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;--&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;ListControl&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;SelectedIndexChanged&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;tt&gt;&lt;span style="font-size:85%;"&gt;PlaceHolder&lt;/span&gt;&lt;/tt&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;--&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;--&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;WebControl&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;tt&gt;&lt;span style="font-size:85%;"&gt;Panel&lt;/span&gt;&lt;/tt&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;--&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;--&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;WebControl&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;tt&gt;&lt;span style="font-size:85%;"&gt;AdRotator&lt;/span&gt;&lt;/tt&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;--&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;--&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;WebControl&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;AdCreated&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;tt&gt;&lt;span style="font-size:85%;"&gt;Calendar&lt;/span&gt;&lt;/tt&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;--&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;WebControl&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;DayRender&lt;br /&gt;SelectionChanged&lt;br /&gt;VisibleMonthChanged&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;tt&gt;&lt;span style="font-size:85%;"&gt;HyperLink&lt;/span&gt;&lt;/tt&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;--&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;--&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;WebControl&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;tt&gt;&lt;span style="font-size:85%;"&gt;ListBox&lt;/span&gt;&lt;/tt&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;YES&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;--&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;ListControl&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;SelectedIndexChanged&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;tr&gt;&lt;td&gt;&lt;tt&gt;&lt;span style="font-size:85%;"&gt;Literal&lt;/span&gt;&lt;/tt&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;--&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;--&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;Control&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;tr&gt;&lt;td&gt;&lt;tt&gt;&lt;span style="font-size:85%;"&gt;PlaceHolder&lt;/span&gt;&lt;/tt&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;--&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;--&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;Control&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;tr&gt;&lt;td&gt;&lt;tt&gt;&lt;span style="font-size:85%;"&gt;Repeater&lt;/span&gt;&lt;/tt&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;--&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;--&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;WebControl&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;ItemCommand&lt;br /&gt;ItemCreated&lt;br /&gt;ItemDataBound&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/p&gt;&lt;br /&gt;&lt;/tt&gt;&lt;/tt&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19388365-113387897506132957?l=mcadthis.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mcadthis.blogspot.com/feeds/113387897506132957/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19388365&amp;postID=113387897506132957&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19388365/posts/default/113387897506132957'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19388365/posts/default/113387897506132957'/><link rel='alternate' type='text/html' href='http://mcadthis.blogspot.com/2005/12/aspnet-web-forms-part-2-controls.html' title='ASP.NET Web Forms Part 2 - Controls'/><author><name>John K</name><uri>http://www.blogger.com/profile/16926035878217359506</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://static.flickr.com/5/6919476_90792fa52f_o.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19388365.post-113380319835311452</id><published>2005-12-05T09:16:00.000-08:00</published><updated>2005-12-06T05:35:41.046-08:00</updated><title type='text'>ASP.NET Web Forms Part 1 - ROCIPRIA</title><content type='html'>ROCIPRIA!!&lt;br /&gt;&lt;br /&gt;I took a few assessment tests and noticed very quickly that I needed to at least memorize the ASP.NET page directives. You'll find that some of the answers to the questions can be ruled out because they either include Directives that don't exist or include incorrect Directive/Attribute pairs. &lt;br /&gt;&lt;br /&gt;To make it easer I devised a simple acronym to help me remember the names of the ASP.NET Directives. &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;R&lt;/strong&gt;egister&lt;br /&gt;&lt;strong&gt;O&lt;/strong&gt;utputCache&lt;br /&gt;&lt;strong&gt;C&lt;/strong&gt;ontrol&lt;br /&gt;&lt;strong&gt;I&lt;/strong&gt;mport&lt;br /&gt;&lt;strong&gt;P&lt;/strong&gt;age&lt;br /&gt;&lt;strong&gt;R&lt;/strong&gt;eference&lt;br /&gt;&lt;strong&gt;I&lt;/strong&gt;mplements&lt;br /&gt;&lt;strong&gt;A&lt;/strong&gt;ssembly&lt;br /&gt;&lt;br /&gt;Make sure you have solid knowledge about what each of these Directives does as well as what attributes can go with each one. Obviously, in the real world it takes only a couple of seconds to find this information in a book or online, but the point is that you're not going to have any reference material when you go to take the exam.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19388365-113380319835311452?l=mcadthis.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mcadthis.blogspot.com/feeds/113380319835311452/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19388365&amp;postID=113380319835311452&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19388365/posts/default/113380319835311452'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19388365/posts/default/113380319835311452'/><link rel='alternate' type='text/html' href='http://mcadthis.blogspot.com/2005/12/aspnet-web-forms-part-1-rocipria.html' title='ASP.NET Web Forms Part 1 - ROCIPRIA'/><author><name>John K</name><uri>http://www.blogger.com/profile/16926035878217359506</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://static.flickr.com/5/6919476_90792fa52f_o.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19388365.post-113380672353705494</id><published>2005-12-05T09:01:00.000-08:00</published><updated>2005-12-07T07:18:34.753-08:00</updated><title type='text'>ASP.NET Web Forms - Introductory Notes</title><content type='html'>&lt;b&gt;&lt;i&gt;High level stuff to be aware of&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;You need to know that an ASP.NET Web Form inherits from System.Web.UI.Page and ultimately inherits from System.Object.&lt;br /&gt;&lt;br /&gt;&lt;p&gt;You need to know that Page events fire in this order:&lt;br /&gt;&lt;tt&gt;&lt;br /&gt;&lt;li&gt;Init()&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Load()&lt;/li&gt;&lt;br /&gt;&lt;li&gt;PreRender()&lt;/li&gt;&lt;br /&gt;&lt;li&gt;UnLoad()&lt;/li&gt;&lt;br /&gt;&lt;/tt&gt;&lt;br /&gt;&lt;p&gt;You also need to know that &lt;tt&gt;OnInit()&lt;/tt&gt; fires the &lt;tt&gt;Init()&lt;/tt&gt; method. Any class that derives from System.Web.UI.Page and overrides the &lt;tt&gt;OnInit()&lt;/tt&gt; method must remember to call &lt;tt&gt;MyBase.Init(e)&lt;/tt&gt; at the end. &lt;br /&gt;&lt;br /&gt;&lt;p&gt;You need to know that any code that interacts with controls should not be placed inside the &lt;tt&gt;Init()&lt;/tt&gt; method but should be placed in the &lt;tt&gt;Load()&lt;/tt&gt; method. &lt;tt&gt;PreRender()&lt;/tt&gt; is the last stop before the results are sent off to the browser. &lt;tt&gt;UnLoad()&lt;/tt&gt; should be used for clean up, etc.&lt;br /&gt;&lt;br /&gt;&lt;p&gt;You need to have a solid grasp of event handling, delegates and the reason why setting &lt;tt&gt;AutoEventWireup&lt;/tt&gt; to True will cause any overriden event methods to fire twice when you work with a Web Form created by VisualStudio.NET&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Make sure you know basic OOP principles and terminology, i.e.:&lt;br /&gt;&lt;br /&gt;&lt;li&gt;you can't work directly with a class, you can only work with instances of a class. Instances are Objects.&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;Static members (properties, methods, etc.) belong to the class itself, not the instance. You can access static members from a class.&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;A class that inherits functionality from another class is called the derived class. The class that is being derived from is called the Base class.&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;You need to know that namespaces are a way of hierachically organizing classes. You also need to know how the compiler deals with classes with the same name that exist in different namespaces. For example:&lt;br /&gt;&lt;br /&gt;&lt;tt&gt;&lt;br /&gt;Imports Customers&lt;br /&gt;Imports Employees&lt;br /&gt;&lt;br /&gt;Dim oOrder as New Order&lt;br /&gt;&lt;/tt&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;If both Customers and Employees namespaces contain a class called Order the compiler will match the oOrder object with the Customers namespace.&lt;br /&gt;&lt;br /&gt;&lt;p&gt;You need to understand the process by which IIS handles requests for .ASPX pages.&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;1). When an HTTP request is for a file with a .aspx extension, IIS passes the request to the appropriate ISAPI DLL. In this case, it would pass the request off to aspnet_isapi.dll&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;2). aspnet_isapi.dll passes the request to aspnet_wp.exe (the aspnet worker processs) which handles the request.&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;3). aspnet_wp.exe compiles the .aspx page into an assembly, creates an app domain and tells the CLR to execute the compiled code. (The compilation doesn't always happen in this step. It happens if an assembly hasn't been created because it's the first time the aspnet_wp.exe has received a request for a particular .aspx page, or the date/time stamp of the .aspx page is older than the assembly in which case  the aspx page has changed and needs to be recompiled.)&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;4). aspnet_wp.exe collects the response, packages it up and passes it back to IIS.&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;5). IIS sends the request back to the browser.&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19388365-113380672353705494?l=mcadthis.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mcadthis.blogspot.com/feeds/113380672353705494/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19388365&amp;postID=113380672353705494&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19388365/posts/default/113380672353705494'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19388365/posts/default/113380672353705494'/><link rel='alternate' type='text/html' href='http://mcadthis.blogspot.com/2005/12/aspnet-web-forms-introductory-notes.html' title='ASP.NET Web Forms - Introductory Notes'/><author><name>John K</name><uri>http://www.blogger.com/profile/16926035878217359506</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://static.flickr.com/5/6919476_90792fa52f_o.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19388365.post-113380218094577830</id><published>2005-12-05T08:58:00.000-08:00</published><updated>2005-12-06T04:16:17.713-08:00</updated><title type='text'>14 Areas of Concentration -  Exam 70-305</title><content type='html'>After taking some cursory looks at the ExamCram2 prep materials and taking a few assessment tests, it seems that there are 14 general areas of concentration.&lt;br /&gt;&lt;br /&gt;If you want to feel like you are well prepared for the exams then you should spend the time and make sure you are at least familiar with all of these areas:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Web Forms&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Error Handling&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Data Binding&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Consuming and Manipulating Data&lt;/li&gt;&lt;br /&gt;&lt;li&gt;.NET components and assemblies&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Web Services&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Globalization&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Legacy Code&lt;/li&gt;&lt;br /&gt;&lt;li&gt;User Assistance and Accessibility&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Testing and Debugging&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Deploying&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Maintaining and Supporting&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Configuring&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Web Browser vs Smart Device development&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;I have a big problem with the &lt;strong&gt;Data Access/Manipulation&lt;/strong&gt; topic. Arguably, you should not be running database code from your presentation layer. There should be a data access layer for this. I think it's poor practice to encourage this kind of development by making sure that it is on this test. Likewise, I've never found a good use for data binding. I think it's a cheap and dirty way to whip up a web page and should not be treated as a real approach to developing presentation code. &lt;br /&gt;&lt;br /&gt;That said however, it &lt;strong&gt;IS&lt;/strong&gt; going to be on the test so you need to study for it and at least know what it is even if you don't agree with the techniques or plan on using them in real-life.&lt;br /&gt;&lt;br /&gt;I'm going to break the blog out into sections. I'll start with Web Forms and cover some of the key ideas you should know before taking exam 70-305. &lt;br /&gt;&lt;br /&gt;Each blog post will be titled with the Area of Concentration and then a part number, i.e., &lt;strong&gt;Web Forms Part 1&lt;/strong&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19388365-113380218094577830?l=mcadthis.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mcadthis.blogspot.com/feeds/113380218094577830/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19388365&amp;postID=113380218094577830&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19388365/posts/default/113380218094577830'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19388365/posts/default/113380218094577830'/><link rel='alternate' type='text/html' href='http://mcadthis.blogspot.com/2005/12/14-areas-of-concentration-exam-70-305.html' title='14 Areas of Concentration -  Exam 70-305'/><author><name>John K</name><uri>http://www.blogger.com/profile/16926035878217359506</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://static.flickr.com/5/6919476_90792fa52f_o.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19388365.post-113319357999507553</id><published>2005-11-28T07:57:00.000-08:00</published><updated>2005-12-05T07:28:09.373-08:00</updated><title type='text'>MCAD This</title><content type='html'>I am making the leap to MCAD certification. The intent of &lt;i&gt;&lt;a href="http://mcadthis.blogspot.com"&gt;MCADThis&lt;/a&gt;&lt;/i&gt; is to provide information that I learn and discover with the hope that it can be of some use to you.&lt;br /&gt;&lt;br /&gt;You are MCAD certified when you pass 3 exams. Two of the exams are core and one is an elective. At the time of writing this, to take a test costs roughly $125. I believe the benefits of becoming certified will more than pay for the $375 to take the tests. The company I work for will reimburse the costs of the test (if I pass).&lt;br /&gt;&lt;br /&gt;For general information about the MCAD certification process and requirements, as well as what exam combinations are accepted, please visit &lt;a href="http://www.microsoft.com/learning/mcp/mcad/default.asp"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;The three tests I will be taking (in the order I will take them) are:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;&lt;b&gt;Exam 70–305&lt;/b&gt;: Developing and Implementing Web Applications with Microsoft Visual Basic® .NET and Microsoft Visual Studio® .NET &lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;b&gt;Exam 70–306&lt;/b&gt;: Developing and Implementing Windows-based Applications with Microsoft Visual Basic .NET and Microsoft Visual Studio .NET&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;b&gt;Exam 70-310&lt;/b&gt;: Developing XML Web Services and Server Components with Microsoft Visual Basic .NET and the Microsoft .NET Framework &lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19388365-113319357999507553?l=mcadthis.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mcadthis.blogspot.com/feeds/113319357999507553/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19388365&amp;postID=113319357999507553&amp;isPopup=true' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19388365/posts/default/113319357999507553'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19388365/posts/default/113319357999507553'/><link rel='alternate' type='text/html' href='http://mcadthis.blogspot.com/2005/11/mcad-this.html' title='MCAD This'/><author><name>John K</name><uri>http://www.blogger.com/profile/16926035878217359506</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://static.flickr.com/5/6919476_90792fa52f_o.jpg'/></author><thr:total>3</thr:total></entry></feed>
