<?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-9164837514531450619</id><updated>2011-12-20T22:47:31.572-08:00</updated><category term='SqlConnection'/><category term='IIS 7.0'/><category term='application.master'/><category term='keyboard shortcuts'/><category term='MOSS 2007'/><category term='Performance'/><category term='SQL 2008'/><category term='SQL'/><category term='folder'/><category term='import'/><category term='AJAX'/><category term='Windows 2003 64 Bit'/><category term='Call Serverside code from Javascript'/><category term='Delete'/><category term='WSPBuilder'/><category term='export'/><category term='command'/><category term='Azure'/><category term='Announcement'/><category term='stsadm'/><category term='shortcut'/><category term='Sql server 2005'/><category term='Identity'/><category term='JQuery'/><category term='Selectors'/><category term='short-cut'/><category term='IIS 6.0'/><category term='hostname'/><category term='Value Types'/><category term='Win32'/><category term='Cookie Expire'/><category term='Dotfuscator'/><category term='dos'/><category term='Windows 2008'/><category term='Insert'/><category term='ConnectionString'/><category term='file'/><category term='site import'/><category term='DAL'/><category term='Truncate'/><category term='EraseCookie'/><category term='Network'/><category term='LINQ'/><category term='Mobile'/><category term='catch'/><category term='Feature'/><category term='visual studio 2008'/><category term='Nullable Types'/><category term='SqlDataReader'/><category term='CSS'/><category term='site export'/><category term='Webbroswer control'/><category term='Cookie'/><category term='visual studion'/><category term='MVP'/><category term='Disable'/><category term='CAML'/><category term='SharePoint 2010'/><category term='vs 2008'/><category term='SqlCommand'/><category term='C#'/><category term='Master Page'/><category term='WinSock'/><category term='rollback'/><category term='OpenContainingFolder'/><category term='Webservice'/><category term='3 Tier'/><category term='HttpModule'/><category term='Read'/><category term='try'/><category term='XPath'/><category term='ipaddress'/><category term='SetCookie'/><category term='Timer job'/><category term='Sync Framework'/><category term='Sharepoint'/><category term='HTML'/><category term='SSRS'/><category term='Update'/><category term='IE 9'/><category term='ASP.Net'/><category term='JavaScript'/><category term='Enum'/><category term='Struct'/><title type='text'>.Net Goodies</title><subtitle type='html'>Code snippets and technology news that come across my daily life.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://lamahashim.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://lamahashim.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default?start-index=101&amp;max-results=100'/><author><name>A.m.a.L Hashim</name><uri>http://www.blogger.com/profile/04600206670507170118</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_bxrn2DJZgfo/S28F2fGQN9I/AAAAAAAAAPE/b3GLUwQjrFc/S220/Photo341.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>156</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-9164837514531450619.post-4329625422365887558</id><published>2011-06-28T23:09:00.001-07:00</published><updated>2011-06-28T23:09:34.741-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint 2010'/><title type='text'>Service Pack 1 for SharePoint 2010 Products is Now Available for Download</title><content type='html'>&lt;p&gt;Service Pack 1 for SharePoint 2010 Products is Now Available for &lt;a href="http://technet.microsoft.com/office/ee748587.aspx"&gt;Download&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Service Pack 1 includes stability, performance, and security enhancements that are a direct result of your feedback. &lt;/p&gt;  &lt;p&gt;It is strongly recommended to install the &lt;a href="http://support.microsoft.com/hotfix/KBHotfix.aspx?kbnum=2536599"&gt;June 2011 Cumulative Update &lt;/a&gt;immediately after the installation of Service Pack 1. The June Cumulative Update includes several important security and bug fixes that are not included Service Pack 1. &lt;/p&gt;  &lt;p&gt;Prior to installing Service Pack 1 you should carefully read the known issues and release notes at &lt;/p&gt;  &lt;p&gt;&lt;a href="http://support.microsoft.com/kb/2532126"&gt;http://support.microsoft.com/kb/2532126&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://sharepoint.microsoft.com/blog/Pages/BlogPost.aspx?pID=984"&gt;Service Pack 1 for SharePoint 2010 Products is Now Available for Download&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;by &lt;img border="0" alt="alt" src="http://sharepoint.microsoft.com/_layouts/images/blank.gif" width="12" height="12" /&gt;sharepointblog@live.com on&amp;#160; 6/28/2011 7:02 AM&lt;/p&gt;  &lt;p&gt;Category:&amp;#160; &lt;a href="http://sharepoint.microsoft.com/blog/Pages/CategoriesCategory.aspx?CategoryId=157&amp;amp;Name=SharePoint%202010"&gt;SharePoint 2010&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Service Pack 1 for SharePoint 2010 Products is Now Available for &lt;a href="http://technet.microsoft.com/office/ee748587.aspx"&gt;Download&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Service Pack 1 includes stability, performance, and security enhancements that are a direct result of your feedback. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;IMPORTANT NOTE&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;It is strongly recommended to install the &lt;a href="http://support.microsoft.com/hotfix/KBHotfix.aspx?kbnum=2536599"&gt;June 2011 Cumulative Update &lt;/a&gt;immediately after the installation of Service Pack 1. The June Cumulative Update includes several important security and bug fixes that are not included Service Pack 1. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Installing Service Pack 1 &lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Prior to installing Service Pack 1 you should carefully read the known issues and release notes at &lt;/p&gt;  &lt;p&gt;&lt;a href="http://support.microsoft.com/kb/2532126"&gt;http://support.microsoft.com/kb/2532126&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Service Pack 1 includes all fixes released through April 2011 so it can be installed directly to RTM builds of SharePoint 2010 Products, or any prior Cumulative Update. &lt;/p&gt;  &lt;p&gt;Install the service packs in the following order on every server in the farm. &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;1. &lt;a href="http://www.microsoft.com/download/en/details.aspx?id=26640"&gt;Service Pack 1 for SharePoint Foundation 2010&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;2. &lt;a href="http://www.microsoft.com/download/en/details.aspx?id=26629"&gt;Service Pack 1 for SharePoint Foundation 2010 Language Pack (if applicable)&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;3. &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=B9FCDC42-EEA4-4C08-9169-A9A73E55B8D4"&gt;Service Pack 1 for SharePoint Server 2010 &lt;/a&gt;&lt;/p&gt;    &lt;p&gt;4. &lt;a href="http://www.microsoft.com/download/en/details.aspx?displaylang=en&amp;amp;id=26621"&gt;Service Pack 1 for SharePoint Server 2010 Language Pack (if applicable)&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;The SharePoint 2010 Products Configuration Wizard or &amp;quot;psconfig –cmd upgrade –inplace b2b -wait” should be run once on every server in the farm following the final update installed. &lt;/p&gt;  &lt;p&gt;The version of content databases will be 14.0.6029.1000 after successfully installation. For more in-depth guidance for the update process, we recommend reviewing the following articles. These articles provide a correct way to deploy updates and identify known issues (and resolutions). &lt;/p&gt;  &lt;p&gt;&lt;a href="http://technet.microsoft.com/library/ff806335%28office.14%29.aspx"&gt;Prepare to deploy a software update for SharePoint Foundation 2010&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://technet.microsoft.com/library/ff806325%28office.14%29.aspx"&gt;Install a software update for SharePoint Foundation 2010&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://technet.microsoft.com/library/ff806331%28office.14%29.aspx"&gt;Prepare to deploy a software update for SharePoint Server 2010&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://technet.microsoft.com/library/ff806338%28office.14%29.aspx"&gt;Install a software update for SharePoint Server 2010&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Frequently Asked Questions &lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Q: Can I install Service Pack 1 on RTM builds of SharePoint 2010 Products? &lt;/p&gt;  &lt;p&gt;A: Yes, Service Pack 1 can be installed directly on RTM builds; however, we suggest you install Service Pack 1 then apply the June 2011 Cumulative Update. &lt;/p&gt;  &lt;p&gt;Q: Do I need to run psconfig after the install of every package? &lt;/p&gt;  &lt;p&gt;A: No, apply all of the available packages then run psconfig - the database will only be updated once, to the newest version. &lt;/p&gt;  &lt;p&gt;Q: Do I need to run psconfig on every machine in the farm? &lt;/p&gt;  &lt;p&gt;A: Yes. Although database is already updated, the binaries on each server need to be set and permissioned using psconfig. &lt;/p&gt;  &lt;p&gt;Q: Will there be a slipstream build including Service Pack 1 available for download? &lt;/p&gt;  &lt;p&gt;A: At this time a slipstream build including Service Pack 1 is not available. &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9164837514531450619-4329625422365887558?l=lamahashim.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lamahashim.blogspot.com/feeds/4329625422365887558/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9164837514531450619&amp;postID=4329625422365887558' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/4329625422365887558'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/4329625422365887558'/><link rel='alternate' type='text/html' href='http://lamahashim.blogspot.com/2011/06/service-pack-1-for-sharepoint-2010.html' title='Service Pack 1 for SharePoint 2010 Products is Now Available for Download'/><author><name>A.m.a.L Hashim</name><uri>http://www.blogger.com/profile/04600206670507170118</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_bxrn2DJZgfo/S28F2fGQN9I/AAAAAAAAAPE/b3GLUwQjrFc/S220/Photo341.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9164837514531450619.post-4752381529071898107</id><published>2011-05-18T00:06:00.000-07:00</published><updated>2011-05-18T00:06:33.451-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Serialize Multiobject ArrayList to XML</title><content type='html'>This is a code snippet which shows how to Serialize an ArrayList to XML. ArrayList contains objects of different types.&lt;br /&gt;&lt;br /&gt;&lt;pre class="code"&gt;&lt;span style="color: blue;"&gt;using &lt;/span&gt;System.Collections;&lt;br /&gt;&lt;span style="color: blue;"&gt;using &lt;/span&gt;System.IO;&lt;br /&gt;&lt;span style="color: blue;"&gt;using &lt;/span&gt;System.Xml;&lt;br /&gt;&lt;span style="color: blue;"&gt;using &lt;/span&gt;System.Xml.Serialization;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;namespace &lt;/span&gt;ConsoleApplication1&lt;br /&gt;{&lt;br /&gt;&lt;span style="color: blue;"&gt;class &lt;/span&gt;&lt;span style="color: #2b91af;"&gt;Program&lt;br /&gt;&lt;/span&gt;{&lt;br /&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;static void &lt;/span&gt;Main(&lt;span style="color: blue;"&gt;string&lt;/span&gt;[] args)&lt;br /&gt;{&lt;br /&gt;&lt;span style="color: #2b91af;"&gt;AListWrapper &lt;/span&gt;wrapper = &lt;span style="color: blue;"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af;"&gt;AListWrapper&lt;/span&gt;();&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #2b91af;"&gt;XmlSerializer &lt;/span&gt;mySerializer = &lt;span style="color: blue;"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af;"&gt;XmlSerializer&lt;/span&gt;(&lt;span style="color: blue;"&gt;typeof&lt;/span&gt;(&lt;span style="color: #2b91af;"&gt;AListWrapper&lt;/span&gt;));&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #2b91af;"&gt;StreamWriter &lt;/span&gt;myWriter = &lt;span style="color: blue;"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af;"&gt;StreamWriter&lt;/span&gt;(&lt;span style="color: #a31515;"&gt;"c:\\myFileName.xml"&lt;/span&gt;);&lt;br /&gt;&lt;br /&gt;mySerializer.Serialize(myWriter, wrapper);&lt;br /&gt;myWriter.Close();&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;public class &lt;/span&gt;&lt;span style="color: #2b91af;"&gt;Animal&lt;br /&gt;&lt;/span&gt;{&lt;br /&gt;&lt;span style="color: blue;"&gt;public string &lt;/span&gt;Type { &lt;span style="color: blue;"&gt;get&lt;/span&gt;; &lt;span style="color: blue;"&gt;set&lt;/span&gt;; }&lt;br /&gt;&lt;span style="color: blue;"&gt;public int &lt;/span&gt;Age { &lt;span style="color: blue;"&gt;get&lt;/span&gt;; &lt;span style="color: blue;"&gt;set&lt;/span&gt;; }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;public class &lt;/span&gt;&lt;span style="color: #2b91af;"&gt;Employee&lt;br /&gt;&lt;/span&gt;{&lt;br /&gt;&lt;span style="color: blue;"&gt;public string &lt;/span&gt;Name { &lt;span style="color: blue;"&gt;get&lt;/span&gt;; &lt;span style="color: blue;"&gt;set&lt;/span&gt;; }&lt;br /&gt;&lt;span style="color: blue;"&gt;public double &lt;/span&gt;Salary { &lt;span style="color: blue;"&gt;get&lt;/span&gt;; &lt;span style="color: blue;"&gt;set&lt;/span&gt;; }&lt;br /&gt;&lt;span style="color: blue;"&gt;public string &lt;/span&gt;Address { &lt;span style="color: blue;"&gt;get&lt;/span&gt;; &lt;span style="color: blue;"&gt;set&lt;/span&gt;; }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;[&lt;span style="color: #2b91af;"&gt;XmlRoot&lt;/span&gt;(&lt;span style="color: #a31515;"&gt;"ArrayList"&lt;/span&gt;)]&lt;br /&gt;&lt;span style="color: blue;"&gt;public class &lt;/span&gt;&lt;span style="color: #2b91af;"&gt;AListWrapper&lt;br /&gt;&lt;/span&gt;{&lt;br /&gt;[&lt;span style="color: #2b91af;"&gt;XmlElement&lt;/span&gt;(Type = &lt;span style="color: blue;"&gt;typeof&lt;/span&gt;(&lt;span style="color: #2b91af;"&gt;Employee&lt;/span&gt;)),&lt;br /&gt;&lt;span style="color: #2b91af;"&gt;XmlElement&lt;/span&gt;(Type = &lt;span style="color: blue;"&gt;typeof&lt;/span&gt;(&lt;span style="color: #2b91af;"&gt;Animal&lt;/span&gt;))]&lt;br /&gt;&lt;span style="color: blue;"&gt;public &lt;/span&gt;&lt;span style="color: #2b91af;"&gt;ArrayList &lt;/span&gt;list = &lt;span style="color: blue;"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af;"&gt;ArrayList&lt;/span&gt;();&lt;br /&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;public &lt;/span&gt;AListWrapper()&lt;br /&gt;{&lt;br /&gt;&lt;span style="color: #2b91af;"&gt;Animal &lt;/span&gt;animal = &lt;span style="color: blue;"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af;"&gt;Animal&lt;/span&gt;()&lt;br /&gt;{&lt;br /&gt;Age = 1,&lt;br /&gt;Type = &lt;span style="color: #a31515;"&gt;"Dog"&lt;br /&gt;&lt;/span&gt;};&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #2b91af;"&gt;Employee &lt;/span&gt;emp = &lt;span style="color: blue;"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af;"&gt;Employee&lt;/span&gt;()&lt;br /&gt;{&lt;br /&gt;Address = &lt;span style="color: #a31515;"&gt;"Address"&lt;/span&gt;,&lt;br /&gt;Name = &lt;span style="color: #a31515;"&gt;"SomeName"&lt;/span&gt;,&lt;br /&gt;Salary = 2000.50&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;list.Add(animal);&lt;br /&gt;list.Add(emp);&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9164837514531450619-4752381529071898107?l=lamahashim.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lamahashim.blogspot.com/feeds/4752381529071898107/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9164837514531450619&amp;postID=4752381529071898107' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/4752381529071898107'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/4752381529071898107'/><link rel='alternate' type='text/html' href='http://lamahashim.blogspot.com/2011/05/serialize-multiobject-arraylist-to-xml.html' title='Serialize Multiobject ArrayList to XML'/><author><name>A.m.a.L Hashim</name><uri>http://www.blogger.com/profile/04600206670507170118</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_bxrn2DJZgfo/S28F2fGQN9I/AAAAAAAAAPE/b3GLUwQjrFc/S220/Photo341.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9164837514531450619.post-3956468427179456099</id><published>2011-05-04T00:39:00.000-07:00</published><updated>2011-05-04T00:39:32.226-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JQuery'/><title type='text'>jQuery 1.6 Released</title><content type='html'>&lt;a href="http://www.amazon.com/Sams-Teach-Yourself-jQuery-Hours/dp/0672335565?ie=UTF8&amp;amp;tag=netgood-20&amp;amp;link_code=bil&amp;amp;camp=213689&amp;amp;creative=392969" imageanchor="1" target="_blank"&gt;&lt;img alt="Sams Teach Yourself jQuery in 24 Hours" src="http://ws.amazon.com/widgets/q?MarketPlace=US&amp;amp;ServiceVersion=20070822&amp;amp;ID=AsinImage&amp;amp;WS=1&amp;amp;Format=_SL160_&amp;amp;ASIN=0672335565&amp;amp;tag=netgood-20" /&gt;&lt;/a&gt;&lt;img alt="" border="0" height="1" src="http://www.assoc-amazon.com/e/ir?t=netgood-20&amp;amp;l=bil&amp;amp;camp=213689&amp;amp;creative=392969&amp;amp;o=1&amp;amp;a=0672335565" style="border: none !important; margin: 0px !important; padding: 0px !important;" width="1" /&gt;&lt;br /&gt;&lt;b&gt;jQuery 1.6&lt;/b&gt; is now available for download!&lt;br /&gt;&lt;br /&gt;jQuery CDN:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://code.jquery.com/jquery-1.6.js" target="_blank"&gt;http://code.jquery.com/jquery-1.6.js&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://code.jquery.com/jquery-1.6.min.js" target="_blank"&gt;http://code.jquery.com/jquery-1.6.min.js&lt;/a&gt; &lt;/li&gt;&lt;/ul&gt;Microsoft Ajax CDN:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.6.min.js" target="_blank" title="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.6.min.js"&gt;http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.6.min.js&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;You can read more about this on the following link: &lt;a href="http://blog.jquery.com/2011/05/03/jquery-16-released/" target="_blank" title="http://blog.jquery.com/2011/05/03/jquery-16-released/"&gt;http://blog.jquery.com/2011/05/03/jquery-16-released/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9164837514531450619-3956468427179456099?l=lamahashim.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lamahashim.blogspot.com/feeds/3956468427179456099/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9164837514531450619&amp;postID=3956468427179456099' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/3956468427179456099'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/3956468427179456099'/><link rel='alternate' type='text/html' href='http://lamahashim.blogspot.com/2011/05/jquery-16-released.html' title='jQuery 1.6 Released'/><author><name>A.m.a.L Hashim</name><uri>http://www.blogger.com/profile/04600206670507170118</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_bxrn2DJZgfo/S28F2fGQN9I/AAAAAAAAAPE/b3GLUwQjrFc/S220/Photo341.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9164837514531450619.post-8028775766930059341</id><published>2011-05-02T00:38:00.001-07:00</published><updated>2011-05-02T00:47:07.944-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint 2010'/><title type='text'>SharePoint 2010 Word Automation Services</title><content type='html'>&lt;a href="http://www.amazon.com/Professional-SharePoint-2010-Administration-Klindt/dp/0470533331?ie=UTF8&amp;amp;tag=netgood-20&amp;amp;link_code=bil&amp;amp;camp=213689&amp;amp;creative=392969" target="_blank" imageanchor="1"&gt;&lt;img alt="Professional SharePoint 2010 Administration" src="http://ws.amazon.com/widgets/q?MarketPlace=US&amp;amp;ServiceVersion=20070822&amp;amp;ID=AsinImage&amp;amp;WS=1&amp;amp;Format=_SL160_&amp;amp;ASIN=0470533331&amp;amp;tag=netgood-20" /&gt;&lt;/a&gt;&lt;img style="border-bottom-style: none !important; padding-bottom: 0px !important; margin: 0px; border-left-style: none !important; padding-left: 0px !important; padding-right: 0px !important; border-top-style: none !important; border-right-style: none !important; padding-top: 0px !important" border="0" alt="alt" src="http://www.assoc-amazon.com/e/ir?t=netgood-20&amp;amp;l=bil&amp;amp;camp=213689&amp;amp;creative=392969&amp;amp;o=1&amp;amp;a=0470533331" width="1" height="1" /&gt;&lt;a href="http://www.amazon.com/Beginning-SharePoint-2010-Development-Guides/dp/0470584637?ie=UTF8&amp;amp;tag=netgood-20&amp;amp;link_code=bil&amp;amp;camp=213689&amp;amp;creative=392969" target="_blank" imageanchor="1"&gt;&lt;img alt="Beginning SharePoint 2010 Development (Wrox Beginning Guides)" src="http://ws.amazon.com/widgets/q?MarketPlace=US&amp;amp;ServiceVersion=20070822&amp;amp;ID=AsinImage&amp;amp;WS=1&amp;amp;Format=_SL160_&amp;amp;ASIN=0470584637&amp;amp;tag=netgood-20" /&gt;&lt;/a&gt;&lt;a href="http://www.amazon.com/Microsoft-SharePoint-2010-Solutions-Professionals/dp/1430228652?ie=UTF8&amp;amp;tag=netgood-20&amp;amp;link_code=bil&amp;amp;camp=213689&amp;amp;creative=392969" target="_blank" imageanchor="1"&gt;&lt;img alt="Microsoft SharePoint 2010: Building Solutions for SharePoint 2010 (Books for Professionals by Professionals)" src="http://ws.amazon.com/widgets/q?MarketPlace=US&amp;amp;ServiceVersion=20070822&amp;amp;ID=AsinImage&amp;amp;WS=1&amp;amp;Format=_SL160_&amp;amp;ASIN=1430228652&amp;amp;tag=netgood-20" /&gt;&lt;/a&gt;&lt;img style="border-bottom-style: none !important; padding-bottom: 0px !important; margin: 0px; border-left-style: none !important; padding-left: 0px !important; padding-right: 0px !important; border-top-style: none !important; border-right-style: none !important; padding-top: 0px !important" border="0" alt="alt" src="http://www.assoc-amazon.com/e/ir?t=netgood-20&amp;amp;l=bil&amp;amp;camp=213689&amp;amp;creative=392969&amp;amp;o=1&amp;amp;a=1430228652" width="1" height="1" /&gt;&lt;a href="http://www.amazon.com/Microsoft%C2%AE-SharePoint%C2%AE-2010-Administrators-Companion/dp/0735627207?ie=UTF8&amp;amp;tag=netgood-20&amp;amp;link_code=bil&amp;amp;camp=213689&amp;amp;creative=392969" target="_blank" imageanchor="1"&gt;&lt;img alt="Microsoft® SharePoint® 2010 Administrator&amp;#39;s Companion" src="http://ws.amazon.com/widgets/q?MarketPlace=US&amp;amp;ServiceVersion=20070822&amp;amp;ID=AsinImage&amp;amp;WS=1&amp;amp;Format=_SL160_&amp;amp;ASIN=0735627207&amp;amp;tag=netgood-20" /&gt;&lt;/a&gt;&lt;img style="border-bottom-style: none !important; padding-bottom: 0px !important; margin: 0px; border-left-style: none !important; padding-left: 0px !important; padding-right: 0px !important; border-top-style: none !important; border-right-style: none !important; padding-top: 0px !important" border="0" alt="alt" src="http://www.assoc-amazon.com/e/ir?t=netgood-20&amp;amp;l=bil&amp;amp;camp=213689&amp;amp;creative=392969&amp;amp;o=1&amp;amp;a=0735627207" width="1" height="1" /&gt;  &lt;br /&gt;  &lt;br /&gt;In SharePoint 2010, you can add &amp;quot;Word Automation Services&amp;quot; from Central Admin as shown below  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_bxrn2DJZgfo/Tb5hcxNJHPI/AAAAAAAAAew/n9XO4XBcL-Q/s1600-h/image%5B3%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_bxrn2DJZgfo/Tb5heRfs56I/AAAAAAAAAe0/5DHl_MeKltI/image_thumb%5B1%5D.png?imgmax=800" width="469" height="484" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Once the service is in place, we can easily convert Word documents to PDF as shown in below snippet&lt;/p&gt;  &lt;p&gt;&lt;span style="color: blue"&gt;private void&lt;/span&gt;ConvertDocFileToPDF(SPFile filex)    &lt;br /&gt;{&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; ConversionJobSettings settings = &lt;span style="color: blue"&gt;new&lt;/span&gt;ConversionJobSettings();    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; settings.OutputFormat = SaveFormat.PDF;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; ConversionJob job = &lt;span style="color: blue"&gt;new&lt;/span&gt;ConversionJob(ConfigurationHelper.Instance.DocumentConversionService, settings);&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; job.UserToken = SPUserToken.SystemAccount;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: blue"&gt;string&lt;/span&gt;pdfFile = filex.Url.Replace(&lt;span style="color: #a31515"&gt;&amp;quot;docx&amp;quot;&lt;/span&gt;, &lt;span style="color: #a31515"&gt;&amp;quot;pdf&amp;quot;&lt;/span&gt;);    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; job.AddFile(&lt;span style="color: #a31515"&gt;&amp;quot;http://&amp;lt;your site URL&amp;gt;/&amp;quot;&lt;/span&gt;+ filex.Url, &lt;span style="color: #a31515"&gt;&amp;quot;http://&amp;lt;your site URL&amp;gt;/&amp;quot;&lt;/span&gt;+ pdfFile);    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; job.Start();    &lt;br /&gt;}    &lt;br /&gt;&lt;/p&gt;  &lt;p&gt;Ensure to add reference to “Microsoft.Office.Word.Server” present under 14 hive “ISAPI” folder.&lt;/p&gt;  &lt;p&gt;To test this, run “Word Automation Services Timer Job”&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9164837514531450619-8028775766930059341?l=lamahashim.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lamahashim.blogspot.com/feeds/8028775766930059341/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9164837514531450619&amp;postID=8028775766930059341' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/8028775766930059341'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/8028775766930059341'/><link rel='alternate' type='text/html' href='http://lamahashim.blogspot.com/2011/05/sharepoint-2010-word-automation.html' title='SharePoint 2010 Word Automation Services'/><author><name>A.m.a.L Hashim</name><uri>http://www.blogger.com/profile/04600206670507170118</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_bxrn2DJZgfo/S28F2fGQN9I/AAAAAAAAAPE/b3GLUwQjrFc/S220/Photo341.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_bxrn2DJZgfo/Tb5heRfs56I/AAAAAAAAAe0/5DHl_MeKltI/s72-c/image_thumb%5B1%5D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9164837514531450619.post-3593388723493301915</id><published>2011-05-02T00:29:00.000-07:00</published><updated>2011-05-02T00:29:36.628-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='LINQ'/><title type='text'>DataTable to GenericList | C# and LINQ</title><content type='html'>&lt;pre class="code"&gt;&lt;span style="color: blue;"&gt;&lt;a href="http://www.amazon.com/Programming-Microsoft%C2%AE-LINQ-Microsoft-Framework/dp/0735640572?ie=UTF8&amp;amp;tag=netgood-20&amp;amp;link_code=bil&amp;amp;camp=213689&amp;amp;creative=392969" imageanchor="1" target="_blank"&gt;&lt;img alt="Programming Microsoft® LINQ in Microsoft .NET Framework 4" src="http://ws.amazon.com/widgets/q?MarketPlace=US&amp;amp;ServiceVersion=20070822&amp;amp;ID=AsinImage&amp;amp;WS=1&amp;amp;Format=_SL160_&amp;amp;ASIN=0735640572&amp;amp;tag=netgood-20" /&gt;&lt;/a&gt;&lt;img alt="" border="0" height="1" src="http://www.assoc-amazon.com/e/ir?t=netgood-20&amp;amp;l=bil&amp;amp;camp=213689&amp;amp;creative=392969&amp;amp;o=1&amp;amp;a=0735640572" style="border: none !important; margin: 0px !important; padding: 0px !important;" width="1" /&gt;&amp;nbsp;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="code"&gt;&lt;span style="color: blue;"&gt;using &lt;/span&gt;System;&lt;br /&gt;&lt;span style="color: blue;"&gt;using &lt;/span&gt;System.Data;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;namespace &lt;/span&gt;ConsoleApplication1&lt;br /&gt;{&lt;br /&gt;&lt;span style="color: blue;"&gt;class &lt;/span&gt;&lt;span style="color: #2b91af;"&gt;Program&lt;br /&gt;&lt;/span&gt;{&lt;br /&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;static void &lt;/span&gt;Main(&lt;span style="color: blue;"&gt;string&lt;/span&gt;[] args)&lt;br /&gt;{&lt;br /&gt;&lt;span style="color: #2b91af;"&gt;DataTable &lt;/span&gt;table = &lt;span style="color: blue;"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af;"&gt;DataTable&lt;br /&gt;&lt;/span&gt;{&lt;br /&gt;Columns = {&lt;br /&gt;{&lt;span style="color: #a31515;"&gt;"Id"&lt;/span&gt;, &lt;span style="color: blue;"&gt;typeof&lt;/span&gt;(&lt;span style="color: blue;"&gt;int&lt;/span&gt;)},&lt;br /&gt;{&lt;span style="color: #a31515;"&gt;"Name"&lt;/span&gt;, &lt;span style="color: blue;"&gt;typeof&lt;/span&gt;(&lt;span style="color: blue;"&gt;string&lt;/span&gt;)}&lt;br /&gt;}&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;table.Rows.Add(1, &lt;span style="color: #a31515;"&gt;"Amal"&lt;/span&gt;);&lt;br /&gt;table.Rows.Add(1, &lt;span style="color: #a31515;"&gt;"Fousiya"&lt;/span&gt;);&lt;br /&gt;table.Rows.Add(1, &lt;span style="color: #a31515;"&gt;"Munna"&lt;/span&gt;);&lt;br /&gt;table.Rows.Add(1, &lt;span style="color: #a31515;"&gt;"Hussain"&lt;/span&gt;);         &lt;br /&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;var &lt;/span&gt;listOfEmployees = &lt;span style="color: blue;"&gt;from &lt;/span&gt;row &lt;span style="color: blue;"&gt;in &lt;/span&gt;table.AsEnumerable()&lt;br /&gt;&lt;span style="color: blue;"&gt;select new &lt;/span&gt;&lt;span style="color: #2b91af;"&gt;Employee&lt;br /&gt;&lt;/span&gt;{&lt;br /&gt;Id = row.Field&amp;lt;&lt;span style="color: blue;"&gt;int&lt;/span&gt;&amp;gt;(&lt;span style="color: #a31515;"&gt;"Id"&lt;/span&gt;),&lt;br /&gt;Name = row.Field&amp;lt;&lt;span style="color: #2b91af;"&gt;String&lt;/span&gt;&amp;gt;(&lt;span style="color: #a31515;"&gt;"Name"&lt;/span&gt;)&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;foreach &lt;/span&gt;(&lt;span style="color: #2b91af;"&gt;Employee &lt;/span&gt;emp &lt;span style="color: blue;"&gt;in &lt;/span&gt;listOfEmployees)&lt;br /&gt;{&lt;br /&gt;&lt;span style="color: #2b91af;"&gt;Console&lt;/span&gt;.WriteLine(&lt;span style="color: #a31515;"&gt;"{0}   {1}"&lt;/span&gt;, emp.Id, emp.Name);&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;class &lt;/span&gt;&lt;span style="color: #2b91af;"&gt;Employee&lt;br /&gt;&lt;/span&gt;{&lt;br /&gt;&lt;span style="color: blue;"&gt;public int &lt;/span&gt;Id { &lt;span style="color: blue;"&gt;get&lt;/span&gt;; &lt;span style="color: blue;"&gt;set&lt;/span&gt;; }&lt;br /&gt;&lt;span style="color: blue;"&gt;public &lt;/span&gt;&lt;span style="color: #2b91af;"&gt;String &lt;/span&gt;Name { &lt;span style="color: blue;"&gt;get&lt;/span&gt;; &lt;span style="color: blue;"&gt;set&lt;/span&gt;; }&lt;br /&gt;}&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9164837514531450619-3593388723493301915?l=lamahashim.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lamahashim.blogspot.com/feeds/3593388723493301915/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9164837514531450619&amp;postID=3593388723493301915' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/3593388723493301915'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/3593388723493301915'/><link rel='alternate' type='text/html' href='http://lamahashim.blogspot.com/2011/05/datatable-to-genericlist-c-and-linq.html' title='DataTable to GenericList | C# and LINQ'/><author><name>A.m.a.L Hashim</name><uri>http://www.blogger.com/profile/04600206670507170118</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_bxrn2DJZgfo/S28F2fGQN9I/AAAAAAAAAPE/b3GLUwQjrFc/S220/Photo341.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9164837514531450619.post-7031008913322112764</id><published>2011-04-01T08:03:00.000-07:00</published><updated>2011-04-01T08:03:20.993-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MVP'/><title type='text'>MVP 2011 - For the second time</title><content type='html'>Hi all,&lt;br /&gt;&lt;br /&gt;Today I got awarded as MVP for the second time in a row. See the mail i got...feeling really happy.&lt;br /&gt;&lt;br /&gt;From: &lt;a href="mailto:support@mvpaward.com" target="_blank"&gt;support@mvpaward.com&lt;/a&gt;&lt;br /&gt;To: &lt;a href="mailto:amal.hashim@hotmail.com" target="_blank"&gt;amal.hashim@hotmail.com&lt;/a&gt;&lt;br /&gt;CC: &lt;a href="mailto:abhishek@microsoft.com" target="_blank"&gt;abhishek@microsoft.com&lt;/a&gt;&lt;br /&gt;Date: Fri, 1 Apr 2011 09:12:39 -0500&lt;br /&gt;Subject: Congratulations 2011 Microsoft MVP!&lt;br /&gt;&lt;br /&gt;&lt;img /&gt; &lt;br /&gt;&lt;br /&gt;Dear Amal Hashim,&lt;br /&gt;&lt;br /&gt;Congratulations! We are pleased to present you with the 2011 Microsoft®  MVP Award! This award is given to exceptional technical community  leaders who actively share their high quality, real world expertise with  others. We appreciate your outstanding contributions in Visual C#  technical communities during the past year.&lt;br /&gt;&lt;br /&gt;Also in this email:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;About your MVP Award Gift&lt;/li&gt;&lt;li&gt;How to access &lt;a href="http://www.mvpaward.com/" target="_blank"&gt;www.mvpaward.com&lt;/a&gt; to begin taking advantage of your award benefits&lt;/li&gt;&lt;li&gt;Your MVP Identification Number&lt;/li&gt;&lt;li&gt;MVP Award Program Code of Conduct&lt;/li&gt;&lt;/ul&gt;The Microsoft MVP Award provides us the unique opportunity to celebrate  and honor your significant contributions and say "Thank you for your  technical leadership."&lt;br /&gt;&lt;br /&gt;Toby Richards&lt;br /&gt;General Manager &lt;br /&gt;Community &amp;amp; Online Support&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9164837514531450619-7031008913322112764?l=lamahashim.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lamahashim.blogspot.com/feeds/7031008913322112764/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9164837514531450619&amp;postID=7031008913322112764' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/7031008913322112764'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/7031008913322112764'/><link rel='alternate' type='text/html' href='http://lamahashim.blogspot.com/2011/04/mvp-2011-for-second-time.html' title='MVP 2011 - For the second time'/><author><name>A.m.a.L Hashim</name><uri>http://www.blogger.com/profile/04600206670507170118</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_bxrn2DJZgfo/S28F2fGQN9I/AAAAAAAAAPE/b3GLUwQjrFc/S220/Photo341.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9164837514531450619.post-3338989138046263657</id><published>2011-01-24T22:54:00.001-08:00</published><updated>2011-01-24T22:54:43.266-08:00</updated><title type='text'>Color Coding SharePoint List – With or Without Grouping</title><content type='html'>&lt;p&gt;Using jQuery we can easily color code lists in SharePoint 2007.&lt;/p&gt;  &lt;p&gt;Try using the following script&lt;/p&gt;  &lt;pre class="csharpcode"&gt;&amp;lt;script type=&lt;span class="str"&gt;&amp;quot;text/javascript&amp;quot;&lt;/span&gt; src=&lt;span class="str"&gt;&amp;quot;/_layouts/jquery-1.4.4/jquery-1.4.4.min.js&amp;quot;&lt;/span&gt;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;style type=&lt;span class="str"&gt;&amp;quot;text/css&amp;quot;&lt;/span&gt;&amp;gt;&lt;br /&gt;.MyStyle&lt;br /&gt;{&lt;br /&gt;    font-size: 11px;&lt;br /&gt;    background-color: red;&lt;br /&gt;}&lt;br /&gt;&amp;lt;/style&amp;gt;&lt;br /&gt;&amp;lt;script type=&lt;span class="str"&gt;&amp;quot;text/javascript&amp;quot;&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;br /&gt;$(document).ready(&lt;span class="kwrd"&gt;function&lt;/span&gt;(){&lt;br /&gt;&lt;br /&gt;$(&lt;span class="str"&gt;&amp;quot;.ms-vb2:contains('Completed')&amp;quot;&lt;/span&gt;).each(&lt;span class="kwrd"&gt;function&lt;/span&gt;(){&lt;br /&gt;$(&lt;span class="kwrd"&gt;this&lt;/span&gt;).addClass(MyStyle);&lt;br /&gt;});&lt;br /&gt;});&lt;br /&gt;&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;style type="text/css"&gt;&lt;br /&gt;.csharpcode, .csharpcode pre&lt;br /&gt;{&lt;br /&gt;	font-size: small;&lt;br /&gt;	color: black;&lt;br /&gt;	font-family: consolas, "Courier New", courier, monospace;&lt;br /&gt;	background-color: #ffffff;&lt;br /&gt;	/*white-space: pre;*/&lt;br /&gt;}&lt;br /&gt;.csharpcode pre { margin: 0em; }&lt;br /&gt;.csharpcode .rem { color: #008000; }&lt;br /&gt;.csharpcode .kwrd { color: #0000ff; }&lt;br /&gt;.csharpcode .str { color: #006080; }&lt;br /&gt;.csharpcode .op { color: #0000c0; }&lt;br /&gt;.csharpcode .preproc { color: #cc6633; }&lt;br /&gt;.csharpcode .asp { background-color: #ffff00; }&lt;br /&gt;.csharpcode .html { color: #800000; }&lt;br /&gt;.csharpcode .attr { color: #ff0000; }&lt;br /&gt;.csharpcode .alt &lt;br /&gt;{&lt;br /&gt;	background-color: #f4f4f4;&lt;br /&gt;	width: 100%;&lt;br /&gt;	margin: 0em;&lt;br /&gt;}&lt;br /&gt;.csharpcode .lnum { color: #606060; }&lt;/style&gt;Problem with this approach is, it won’t work in views with grouping. The problem is, on grouping, collapsed group data is not rendered on page load. To tackle this we need to tweak scripts in INIT.js, but directly modifying is not a good practice. To overcome this we can override the method which is rendering the data as shown in the below script block.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="csharpcode"&gt;&amp;lt;style type=&lt;span class="str"&gt;&amp;quot;text/css&amp;quot;&lt;/span&gt;&amp;gt;&lt;br /&gt;.MyStyle&lt;br /&gt;{&lt;br /&gt;    font-size: 11px;&lt;br /&gt;    background-color: red;&lt;br /&gt;}&lt;br /&gt;&amp;lt;/style&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;script type=&lt;span class="str"&gt;&amp;quot;text/javascript&amp;quot;&lt;/span&gt; src=&lt;span class="str"&gt;&amp;quot;/_layouts/jquery-1.4.4/jquery-1.4.4.min.js&amp;quot;&lt;/span&gt;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;script type=&lt;span class="str"&gt;&amp;quot;text/javascript&amp;quot;&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="rem"&gt;//wait until all of the SharePoint stuff is loaded...&lt;/span&gt;&lt;br /&gt;_spBodyOnLoadFunctionNames.push(&lt;span class="str"&gt;&amp;quot;CustomExpGroupByFix&amp;quot;&lt;/span&gt;); &lt;br /&gt;&lt;br /&gt;&lt;span class="kwrd"&gt;function&lt;/span&gt; CustomExpGroupByFix() &lt;br /&gt;{&lt;br /&gt;  &lt;span class="rem"&gt;//Replace the function in INIT.JS with our custom function&lt;/span&gt;&lt;br /&gt;  window.ExpGroupReceiveData=&lt;span class="kwrd"&gt;function&lt;/span&gt;(x,y){ExpGroupReceiveDataC(x,y)}&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span class="rem"&gt;//This is the exact replica of INIT.JS &amp;quot;ExpGroupReceiveData&amp;quot;, we have added color coding code at the end&lt;/span&gt;&lt;br /&gt;&lt;span class="kwrd"&gt;function&lt;/span&gt; ExpGroupReceiveDataC(htmlToRender, groupName)&lt;br /&gt;{&lt;br /&gt;    &lt;span class="kwrd"&gt;var&lt;/span&gt; ctxId=&lt;span class="str"&gt;&amp;quot;ctx&amp;quot;&lt;/span&gt;+groupName.substring(0, groupName.indexOf(&lt;span class="str"&gt;&amp;quot;-&amp;quot;&lt;/span&gt;));&lt;br /&gt;    &lt;span class="kwrd"&gt;var&lt;/span&gt; indexBeginCTXName=htmlToRender.indexOf(&lt;span class="str"&gt;&amp;quot;CTXName=\&amp;quot;&amp;quot;&lt;/span&gt;);&lt;br /&gt;    &lt;span class="kwrd"&gt;if&lt;/span&gt; (indexBeginCTXName !=-1)&lt;br /&gt;    {&lt;br /&gt;        &lt;span class="kwrd"&gt;if&lt;/span&gt; (ctxId !=&lt;span class="str"&gt;&amp;quot;ctx1&amp;quot;&lt;/span&gt;)&lt;br /&gt;        {&lt;br /&gt;            htmlToRender=htmlToRender.replace(/ CTXName=\&lt;span class="str"&gt;&amp;quot;ctx1\&amp;quot; /g, &amp;quot;&lt;/span&gt; CTXName=\&lt;span class="str"&gt;&amp;quot;&amp;quot;&lt;/span&gt;+ctxId+&lt;span class="str"&gt;&amp;quot;\&amp;quot; &amp;quot;&lt;/span&gt;);&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;    &lt;span class="kwrd"&gt;var&lt;/span&gt; needOuterWrap=&lt;span class="kwrd"&gt;false&lt;/span&gt;;&lt;br /&gt;    &lt;span class="kwrd"&gt;if&lt;/span&gt; (htmlToRender.length &amp;lt; 4)&lt;br /&gt;    {&lt;br /&gt;        needOuterWrap=&lt;span class="kwrd"&gt;true&lt;/span&gt;;&lt;br /&gt;    }&lt;br /&gt;    &lt;span class="kwrd"&gt;else&lt;/span&gt; &lt;span class="kwrd"&gt;if&lt;/span&gt; (htmlToRender.substring(0,3) !=&lt;span class="str"&gt;&amp;quot;&amp;lt;tr&amp;quot;&lt;/span&gt;)&lt;br /&gt;    {&lt;br /&gt;        needOuterWrap=&lt;span class="kwrd"&gt;true&lt;/span&gt;;&lt;br /&gt;    }&lt;br /&gt;    &lt;span class="kwrd"&gt;if&lt;/span&gt; (needOuterWrap)&lt;br /&gt;    {&lt;br /&gt;        htmlToRender=&lt;span class="str"&gt;&amp;quot;&amp;lt;TR&amp;gt;&amp;lt;TD&amp;gt;&amp;quot;&lt;/span&gt;+htmlToRender+&lt;span class="str"&gt;&amp;quot;&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;&amp;quot;&lt;/span&gt;;&lt;br /&gt;    }&lt;br /&gt;    ExpGroupRenderData(htmlToRender, groupName, &lt;span class="str"&gt;&amp;quot;true&amp;quot;&lt;/span&gt;);&lt;br /&gt;    g_ExpGroupInProgress=&lt;span class="kwrd"&gt;false&lt;/span&gt;;&lt;br /&gt;    &lt;span class="kwrd"&gt;if&lt;/span&gt; (g_ExpGroupQueue.length &amp;gt; 0)&lt;br /&gt;    {&lt;br /&gt;        ExpGroupFetchData(g_ExpGroupQueue.shift());&lt;br /&gt;    }&lt;br /&gt;        &lt;br /&gt;        &lt;span class="rem"&gt;//Color coding the cells&lt;/span&gt;&lt;br /&gt;        $(&lt;span class="str"&gt;&amp;quot;.ms-vb2:contains('Completed')&amp;quot;&lt;/span&gt;).each(&lt;span class="kwrd"&gt;function&lt;/span&gt;(){&lt;br /&gt;                  $(&lt;span class="kwrd"&gt;this&lt;/span&gt;).addClass(MyStyle);&lt;br /&gt;        });&lt;br /&gt;}&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;To use this script, edit the page –&amp;gt; add a content editor webpart.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9164837514531450619-3338989138046263657?l=lamahashim.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lamahashim.blogspot.com/feeds/3338989138046263657/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9164837514531450619&amp;postID=3338989138046263657' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/3338989138046263657'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/3338989138046263657'/><link rel='alternate' type='text/html' href='http://lamahashim.blogspot.com/2011/01/color-coding-sharepoint-list-with-or.html' title='Color Coding SharePoint List – With or Without Grouping'/><author><name>A.m.a.L Hashim</name><uri>http://www.blogger.com/profile/04600206670507170118</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_bxrn2DJZgfo/S28F2fGQN9I/AAAAAAAAAPE/b3GLUwQjrFc/S220/Photo341.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9164837514531450619.post-3704060158766874857</id><published>2010-10-22T05:32:00.001-07:00</published><updated>2010-10-22T23:48:41.256-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Sharepoint'/><category scheme='http://www.blogger.com/atom/ns#' term='WSPBuilder'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS 2007'/><title type='text'>MOSS | Using WSPBuilder for Creating a List Instance</title><content type='html'>&lt;iframe style="width: 131px; padding-right: 10px; height: 245px; padding-top: 5px" marginheight="0" src="http://rcm.amazon.com/e/cm?t=netgood-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=bpl&amp;amp;asins=1430228652&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr" frameborder="0" marginwidth="0" scrolling="no" align="left"&gt;&lt;/iframe&gt;In this post I am going to explain how we can make use of WSPBuilder for creating a List instance.  &lt;br /&gt;First we need to install SharePoint Solution Generator. You can download the same from here  &lt;br /&gt;&lt;a title="http://download.microsoft.com/download/4/0/b/40b62080-6295-4d63-b396-d779fb9b4449/VSeWSSv12.exe" href="http://download.microsoft.com/download/4/0/b/40b62080-6295-4d63-b396-d779fb9b4449/VSeWSSv12.exe"&gt;http://download.microsoft.com/download/4/0/b/40b62080-6295-4d63-b396-d779fb9b4449/VSeWSSv12.exe&lt;/a&gt;  &lt;br /&gt;Now follow the steps for generating List Definition. Here I am going to create a List Definition of a List named “Configurations”  &lt;br /&gt;Start SharePoint solution generator  &lt;br /&gt;&lt;a href="http://lh6.ggpht.com/_bxrn2DJZgfo/TMGB7eLzvHI/AAAAAAAAAbI/GvIpeSn22Xk/s1600-h/image%5B5%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_bxrn2DJZgfo/TMGB9ozES4I/AAAAAAAAAbM/inhQXcMGMao/image_thumb%5B3%5D.png?imgmax=800" width="644" height="472" /&gt;&lt;/a&gt;   &lt;br /&gt;Select List Definition and click on Next button  &lt;br /&gt;&lt;a href="http://lh6.ggpht.com/_bxrn2DJZgfo/TMGCEUSTmmI/AAAAAAAAAbQ/SJVvStF0iaU/s1600-h/image%5B9%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_bxrn2DJZgfo/TMGCXZFxtWI/AAAAAAAAAbU/3BBw865hG18/image_thumb%5B5%5D.png?imgmax=800" width="644" height="472" /&gt;&lt;/a&gt;   &lt;br /&gt;Specify the Site Url where the list is present and click Next  &lt;br /&gt;&lt;a href="http://lh3.ggpht.com/_bxrn2DJZgfo/TMGCfn0rYNI/AAAAAAAAAbY/06q1a0rSpfQ/s1600-h/image%5B13%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/_bxrn2DJZgfo/TMGC6V-n10I/AAAAAAAAAbc/KMUNGwTRK2g/image_thumb%5B7%5D.png?imgmax=800" width="644" height="475" /&gt;&lt;/a&gt;   &lt;br /&gt;Select the List and click Next  &lt;br /&gt;&lt;a href="http://lh4.ggpht.com/_bxrn2DJZgfo/TMGDEMUu2NI/AAAAAAAAAbg/qc6jKB-fndM/s1600-h/image%5B17%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_bxrn2DJZgfo/TMGDKhan76I/AAAAAAAAAbk/WsqRnnnI2IA/image_thumb%5B9%5D.png?imgmax=800" width="644" height="473" /&gt;&lt;/a&gt;   &lt;br /&gt;Provide a project name and path, then click Next  &lt;br /&gt;&lt;a href="http://lh6.ggpht.com/_bxrn2DJZgfo/TMGDOU-v9TI/AAAAAAAAAbo/1SzL0wHkJRQ/s1600-h/image%5B21%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/_bxrn2DJZgfo/TMGDUd9nopI/AAAAAAAAAbs/TRNbvvDWmhk/image_thumb%5B11%5D.png?imgmax=800" width="644" height="469" /&gt;&lt;/a&gt;   &lt;br /&gt;Click Finish  &lt;br /&gt;&amp;#160;&lt;a href="http://lh4.ggpht.com/_bxrn2DJZgfo/TMKFQ_FetfI/AAAAAAAAAco/AHeaC5aHTVU/s1600-h/image%5B4%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_bxrn2DJZgfo/TMKFSKUplnI/AAAAAAAAAcs/sd6pnKgwy6M/image_thumb%5B1%5D.png?imgmax=800" width="644" height="473" /&gt;&lt;/a&gt;   &lt;br /&gt;Before clicking Exit, click “Click here to open the generated solution” and click Exit  &lt;br /&gt;&lt;a href="http://lh5.ggpht.com/_bxrn2DJZgfo/TMGDbLknJII/AAAAAAAAAb4/gxzN-9krYlk/s1600-h/image%5B29%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_bxrn2DJZgfo/TMGDh-EAXuI/AAAAAAAAAb8/EIUatiH4mtg/image_thumb%5B15%5D.png?imgmax=800" width="644" height="356" /&gt;&lt;/a&gt;   &lt;br /&gt;You can see the “Configurations” folder. Let it be opened. Now open visual studio and create a WSPBuilder project  &lt;br /&gt;&lt;a href="http://lh5.ggpht.com/_bxrn2DJZgfo/TMGDk7_YswI/AAAAAAAAAcA/nuKi_62-IFM/s1600-h/image%5B33%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_bxrn2DJZgfo/TMGDoGlL43I/AAAAAAAAAcE/mrFmPiQuCW8/image_thumb%5B17%5D.png?imgmax=800" width="644" height="392" /&gt;&lt;/a&gt;   &lt;br /&gt;Once the project is created, add a new blank feature  &lt;br /&gt;&lt;a href="http://lh4.ggpht.com/_bxrn2DJZgfo/TMGDrHlum3I/AAAAAAAAAcI/j6Q4GgQxCik/s1600-h/image%5B37%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_bxrn2DJZgfo/TMGDuH-1A6I/AAAAAAAAAcM/mdHY8exuaMA/image_thumb%5B19%5D.png?imgmax=800" width="644" height="386" /&gt;&lt;/a&gt;   &lt;br /&gt;Now, copy the folder “Configurations” and paste it under the feature folder as shown below  &lt;br /&gt;&lt;a href="http://lh5.ggpht.com/_bxrn2DJZgfo/TMGDvimxicI/AAAAAAAAAcQ/Fv_U9Prsnw4/s1600-h/image%5B44%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_bxrn2DJZgfo/TMGDynl5YEI/AAAAAAAAAcU/6E0ehJyinBA/image_thumb%5B24%5D.png?imgmax=800" width="351" height="484" /&gt;&lt;/a&gt;   &lt;br /&gt;Open the ListDefinition.xml file and copy the following content  &lt;br /&gt;&lt;a href="http://lh5.ggpht.com/_bxrn2DJZgfo/TMGESbOmA7I/AAAAAAAAAcY/FgeiiuQBsaQ/s1600-h/image%5B48%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_bxrn2DJZgfo/TMGETm3x3zI/AAAAAAAAAcc/A4KaC3pmJdE/image_thumb%5B26%5D.png?imgmax=800" width="644" height="434" /&gt;&lt;/a&gt;   &lt;br /&gt;Once the content is copied, paste it in the elements.xml file as shown below and delete the file &amp;quot;ListDefinition.xml&amp;quot; from visual studion project  &lt;br /&gt;&lt;a href="http://lh6.ggpht.com/_bxrn2DJZgfo/TMGEUtd-zYI/AAAAAAAAAcg/ofqXres3AN8/s1600-h/image%5B54%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_bxrn2DJZgfo/TMGEVvvwDOI/AAAAAAAAAck/CfBzfY6lAj8/image_thumb%5B30%5D.png?imgmax=800" width="595" height="484" /&gt;&lt;/a&gt;   &lt;br /&gt;You can also see ListInstance, make a similar entry in your elements.xml file. Also replace the FeatureId with the FeatureId specified in the feature.xml file  &lt;br /&gt;Now build the wsp, deploy it and activate the feature. This will add the list to the site.  &lt;br /&gt;Hope this was helpful!!!    &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9164837514531450619-3704060158766874857?l=lamahashim.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lamahashim.blogspot.com/feeds/3704060158766874857/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9164837514531450619&amp;postID=3704060158766874857' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/3704060158766874857'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/3704060158766874857'/><link rel='alternate' type='text/html' href='http://lamahashim.blogspot.com/2010/10/moss-using-wspbuilder-for-creating-list.html' title='MOSS | Using WSPBuilder for Creating a List Instance'/><author><name>A.m.a.L Hashim</name><uri>http://www.blogger.com/profile/04600206670507170118</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_bxrn2DJZgfo/S28F2fGQN9I/AAAAAAAAAPE/b3GLUwQjrFc/S220/Photo341.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_bxrn2DJZgfo/TMGB9ozES4I/AAAAAAAAAbM/inhQXcMGMao/s72-c/image_thumb%5B3%5D.png?imgmax=800' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9164837514531450619.post-690523661558287949</id><published>2010-10-21T02:41:00.001-07:00</published><updated>2010-10-21T02:54:50.221-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vs 2008'/><category scheme='http://www.blogger.com/atom/ns#' term='Sharepoint'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.Net'/><category scheme='http://www.blogger.com/atom/ns#' term='visual studio 2008'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS 2007'/><title type='text'>MOSS | Using People Editor Control</title><content type='html'>&lt;iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=netgood-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=bpl&amp;amp;asins=0470529423&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"&gt;&lt;/iframe&gt;&lt;br /&gt;People editor can be used whenever we want the user to select user, AD groups or SharePoint groups. For using the control, 1st we need to register the assembly as shown below&lt;br /&gt;&lt;pre class="code"&gt;&lt;span style="background: none repeat scroll 0% 0% rgb(255, 238, 98);"&gt;&amp;lt;%&lt;/span&gt;&lt;span style="color: blue;"&gt;@ &lt;/span&gt;&lt;span style="color: #a31515;"&gt;register &lt;/span&gt;&lt;span style="color: red;"&gt;tagprefix&lt;/span&gt;&lt;span style="color: blue;"&gt;="SharePointWebControls" &lt;/span&gt;&lt;span style="color: red;"&gt;namespace&lt;/span&gt;&lt;span style="color: blue;"&gt;="Microsoft.SharePoint.WebControls"&lt;br /&gt;&lt;/span&gt;&lt;span style="color: red;"&gt;assembly&lt;/span&gt;&lt;span style="color: blue;"&gt;="Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" &lt;/span&gt;&lt;span style="background: none repeat scroll 0% 0% rgb(255, 238, 98);"&gt;%&amp;gt;&lt;/span&gt;&lt;/pre&gt;Once this is done, we can use the following tag for placing the control &lt;br /&gt;&lt;pre class="code"&gt;&lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;SharePointWebControls&lt;/span&gt;&lt;span style="color: blue;"&gt;:&lt;/span&gt;&lt;span style="color: #a31515;"&gt;PeopleEditor &lt;/span&gt;&lt;span style="color: red;"&gt;ID&lt;/span&gt;&lt;span style="color: blue;"&gt;="ppeUser" &lt;/span&gt;&lt;span style="color: red;"&gt;runat&lt;/span&gt;&lt;span style="color: blue;"&gt;="server" &lt;/span&gt;&lt;span style="color: red;"&gt;Rows&lt;/span&gt;&lt;span style="color: blue;"&gt;="1" &lt;br /&gt;&lt;/span&gt;&lt;span style="color: red;"&gt;CheckButtonImageName &lt;/span&gt;&lt;span style="color: blue;"&gt;= "/_layouts/Images/user.png" &lt;br /&gt;&lt;/span&gt;&lt;span style="color: red;"&gt;BrowseButtonImageName &lt;/span&gt;&lt;span style="color: blue;"&gt;= "/_layouts/Images/addressbook.png"                                   &lt;br /&gt;&lt;/span&gt;&lt;span style="color: red;"&gt;PlaceButtonsUnderEntityEditor&lt;/span&gt;&lt;span style="color: blue;"&gt;="false" &lt;/span&gt;&lt;span style="color: red;"&gt;MultiSelect&lt;/span&gt;&lt;span style="color: blue;"&gt;="false" &lt;/span&gt;&lt;span style="color: red;"&gt;AutoPostBack&lt;/span&gt;&lt;span style="color: blue;"&gt;="true"/&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;In C#, the following code demonstrate the usage&lt;br /&gt;&lt;br /&gt;this.ppeUser.CommaSeparatedAccounts;&lt;br /&gt;&lt;br /&gt;Using the above code we can get information user has selected/entered in the people editor control.&lt;br /&gt;&lt;br /&gt;&lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;static&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; UpdatePeoplePicker(&lt;span class="kwrd"&gt;string&lt;/span&gt; login, PeopleEditor editor)&lt;br /&gt;{&lt;br /&gt;ArrayList list = &lt;span class="kwrd"&gt;new&lt;/span&gt; ArrayList();&lt;br /&gt;PickerEntity entity = &lt;span class="kwrd"&gt;new&lt;/span&gt; PickerEntity();&lt;br /&gt;entity.Key = login;&lt;br /&gt;entity = editor.ValidateEntity(entity);&lt;br /&gt;list.Add(entity);&lt;br /&gt;editor.UpdateEntities(list);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;The above code can be used to update the People Editor control using code.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;We can restrict the selection of the People Editor using the SelectionSet property. It accepts the following values&lt;br /&gt;&lt;br /&gt;User – In case the selection to be restricted only for users&lt;br /&gt;AD – In case the selection to be restricted only for AD groups&lt;br /&gt;SPGroup – In case the selection to be restricted only for SharePoint Groups&lt;br /&gt;&lt;br /&gt;Hope this was helpful!!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9164837514531450619-690523661558287949?l=lamahashim.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lamahashim.blogspot.com/feeds/690523661558287949/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9164837514531450619&amp;postID=690523661558287949' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/690523661558287949'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/690523661558287949'/><link rel='alternate' type='text/html' href='http://lamahashim.blogspot.com/2010/10/moss-using-people-editor-control.html' title='MOSS | Using People Editor Control'/><author><name>A.m.a.L Hashim</name><uri>http://www.blogger.com/profile/04600206670507170118</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_bxrn2DJZgfo/S28F2fGQN9I/AAAAAAAAAPE/b3GLUwQjrFc/S220/Photo341.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9164837514531450619.post-1782263296217878376</id><published>2010-10-08T00:29:00.001-07:00</published><updated>2010-10-08T00:29:48.158-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS 2007'/><title type='text'>MOSS 2007 | Enumerate User Profile Properties</title><content type='html'>&lt;p&gt;Below is the code to enumerate the User Profile Properties&lt;/p&gt;  &lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; System;&lt;br /&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; Microsoft.Office.Server;&lt;br /&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; Microsoft.Office.Server.UserProfiles;&lt;br /&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; Microsoft.SharePoint;&lt;br /&gt;&lt;br /&gt;&lt;span class="kwrd"&gt;namespace&lt;/span&gt; ConsoleApplication1&lt;br /&gt;{&lt;br /&gt;    &lt;span class="kwrd"&gt;class&lt;/span&gt; Program&lt;br /&gt;    {&lt;br /&gt;        &lt;span class="kwrd"&gt;static&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; Main(&lt;span class="kwrd"&gt;string&lt;/span&gt;[] args)&lt;br /&gt;        {&lt;br /&gt;             &lt;span class="kwrd"&gt;using&lt;/span&gt; (SPSite site = &lt;span class="kwrd"&gt;new&lt;/span&gt; SPSite(&lt;span class="str"&gt;&amp;quot;http://server:port/&amp;quot;&lt;/span&gt;))&lt;br /&gt;            {&lt;br /&gt;                ServerContext context = &lt;br /&gt;                ServerContext.GetContext(site);&lt;br /&gt;                UserProfileManager profileManager = &lt;span class="kwrd"&gt;new&lt;/span&gt; UserProfileManager(context);&lt;br /&gt;                &lt;span class="kwrd"&gt;string&lt;/span&gt; sAccount = &lt;span class="str"&gt;&amp;quot;domain\\user&amp;quot;&lt;/span&gt;;&lt;br /&gt;                UserProfile u = profileManager.GetUserProfile(sAccount);&lt;br /&gt;                PropertyCollection props = profileManager.Properties;&lt;br /&gt;&lt;br /&gt;                &lt;span class="kwrd"&gt;foreach&lt;/span&gt; (Property prop &lt;span class="kwrd"&gt;in&lt;/span&gt; props)&lt;br /&gt;                {&lt;br /&gt;                    Console.WriteLine(prop.DisplayName + &lt;span class="str"&gt;&amp;quot;&amp;gt;&amp;gt;&amp;quot;&lt;/span&gt; + prop.Name );&lt;br /&gt;                }&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;&lt;style type="text/css"&gt;&lt;br /&gt;.csharpcode, .csharpcode pre&lt;br /&gt;{&lt;br /&gt;	font-size: small;&lt;br /&gt;	color: black;&lt;br /&gt;	font-family: consolas, "Courier New", courier, monospace;&lt;br /&gt;	background-color: #ffffff;&lt;br /&gt;	/*white-space: pre;*/&lt;br /&gt;}&lt;br /&gt;.csharpcode pre { margin: 0em; }&lt;br /&gt;.csharpcode .rem { color: #008000; }&lt;br /&gt;.csharpcode .kwrd { color: #0000ff; }&lt;br /&gt;.csharpcode .str { color: #006080; }&lt;br /&gt;.csharpcode .op { color: #0000c0; }&lt;br /&gt;.csharpcode .preproc { color: #cc6633; }&lt;br /&gt;.csharpcode .asp { background-color: #ffff00; }&lt;br /&gt;.csharpcode .html { color: #800000; }&lt;br /&gt;.csharpcode .attr { color: #ff0000; }&lt;br /&gt;.csharpcode .alt &lt;br /&gt;{&lt;br /&gt;	background-color: #f4f4f4;&lt;br /&gt;	width: 100%;&lt;br /&gt;	margin: 0em;&lt;br /&gt;}&lt;br /&gt;.csharpcode .lnum { color: #606060; }&lt;/style&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9164837514531450619-1782263296217878376?l=lamahashim.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lamahashim.blogspot.com/feeds/1782263296217878376/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9164837514531450619&amp;postID=1782263296217878376' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/1782263296217878376'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/1782263296217878376'/><link rel='alternate' type='text/html' href='http://lamahashim.blogspot.com/2010/10/moss-2007-enumerate-user-profile.html' title='MOSS 2007 | Enumerate User Profile Properties'/><author><name>A.m.a.L Hashim</name><uri>http://www.blogger.com/profile/04600206670507170118</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_bxrn2DJZgfo/S28F2fGQN9I/AAAAAAAAAPE/b3GLUwQjrFc/S220/Photo341.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9164837514531450619.post-8075284955233406861</id><published>2010-09-24T04:40:00.001-07:00</published><updated>2010-09-24T04:40:23.982-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Webbroswer control'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>C# | Automating Facebook Login using WebBrowser Control</title><content type='html'>&lt;p&gt;Create a new windows forms application project.&lt;/p&gt;  &lt;p&gt;Add two button and place the web browser control as shown below. Rename the button as “btnShowPage” and “btnLogin”.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_bxrn2DJZgfo/TJyNogLkEyI/AAAAAAAAAbA/s6GJAOEAKs0/s1600-h/image%5B3%5D.png"&gt;&lt;img title="image" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="484" alt="image" src="http://lh5.ggpht.com/_bxrn2DJZgfo/TJyOIyElcGI/AAAAAAAAAbE/SoA_PH7QEYE/image_thumb%5B1%5D.png?imgmax=800" width="543" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;On form load event use the following code&lt;/p&gt;  &lt;pre class="code"&gt;&lt;span style="color: blue"&gt;private void &lt;/span&gt;Form1_Load(&lt;span style="color: blue"&gt;object &lt;/span&gt;sender, &lt;span style="color: #2b91af"&gt;EventArgs &lt;/span&gt;e)&lt;br /&gt;{&lt;br /&gt;    btnLogin.Enabled = &lt;span style="color: blue"&gt;false&lt;/span&gt;;&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Now on button btnShowPage use the following code&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="code"&gt;&lt;span style="color: blue"&gt;private void &lt;/span&gt;btnShowPage_Click(&lt;span style="color: blue"&gt;object &lt;/span&gt;sender, &lt;span style="color: #2b91af"&gt;EventArgs &lt;/span&gt;e)&lt;br /&gt;{&lt;br /&gt;    webBrowser1.Navigate(&lt;span style="color: #a31515"&gt;&amp;quot;https://login.facebook.com/login.php?login_attempt=1&amp;quot;&lt;/span&gt;);&lt;br /&gt;    webBrowser1.DocumentCompleted += &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;WebBrowserDocumentCompletedEventHandler&lt;/span&gt;(webBrowser1_DocumentCompleted);&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="code"&gt;&lt;span style="color: blue"&gt;void &lt;/span&gt;webBrowser1_DocumentCompleted(&lt;span style="color: blue"&gt;object &lt;/span&gt;sender, &lt;span style="color: #2b91af"&gt;WebBrowserDocumentCompletedEventArgs &lt;/span&gt;e)&lt;br /&gt;{&lt;br /&gt;    &lt;span style="color: blue"&gt;string &lt;/span&gt;s = webBrowser1.DocumentText;&lt;br /&gt;    btnLogin.Enabled = &lt;span style="color: blue"&gt;true&lt;/span&gt;;&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;On btnLogin click event use the following code&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="code"&gt;&lt;span style="color: blue"&gt;private void &lt;/span&gt;btnLogin_Click(&lt;span style="color: blue"&gt;object &lt;/span&gt;sender, &lt;span style="color: #2b91af"&gt;EventArgs &lt;/span&gt;e)&lt;br /&gt;{&lt;br /&gt;    &lt;span style="color: #2b91af"&gt;HtmlElement &lt;/span&gt;ele = webBrowser1.Document.GetElementById(&lt;span style="color: #a31515"&gt;&amp;quot;email&amp;quot;&lt;/span&gt;);&lt;br /&gt;    &lt;span style="color: blue"&gt;if &lt;/span&gt;(ele != &lt;span style="color: blue"&gt;null&lt;/span&gt;)&lt;br /&gt;        ele.InnerText = &lt;span style="color: #a31515"&gt;&amp;quot;amalhashim@gmail.com&amp;quot;&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;    ele = webBrowser1.Document.GetElementById(&lt;span style="color: #a31515"&gt;&amp;quot;pass&amp;quot;&lt;/span&gt;);&lt;br /&gt;    &lt;span style="color: blue"&gt;if &lt;/span&gt;(ele != &lt;span style="color: blue"&gt;null&lt;/span&gt;)&lt;br /&gt;        ele.InnerText = &lt;span style="color: #a31515"&gt;&amp;quot;password&amp;quot;&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;    ele = webBrowser1.Document.GetElementById(&lt;span style="color: #a31515"&gt;&amp;quot;Login&amp;quot;&lt;/span&gt;);&lt;br /&gt;    &lt;span style="color: blue"&gt;if &lt;/span&gt;(ele != &lt;span style="color: blue"&gt;null&lt;/span&gt;)&lt;br /&gt;        ele.InvokeMember(&lt;span style="color: #a31515"&gt;&amp;quot;click&amp;quot;&lt;/span&gt;);&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;That’s it :-)&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9164837514531450619-8075284955233406861?l=lamahashim.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lamahashim.blogspot.com/feeds/8075284955233406861/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9164837514531450619&amp;postID=8075284955233406861' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/8075284955233406861'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/8075284955233406861'/><link rel='alternate' type='text/html' href='http://lamahashim.blogspot.com/2010/09/c-automating-facebook-login-using.html' title='C# | Automating Facebook Login using WebBrowser Control'/><author><name>A.m.a.L Hashim</name><uri>http://www.blogger.com/profile/04600206670507170118</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_bxrn2DJZgfo/S28F2fGQN9I/AAAAAAAAAPE/b3GLUwQjrFc/S220/Photo341.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/_bxrn2DJZgfo/TJyOIyElcGI/AAAAAAAAAbE/SoA_PH7QEYE/s72-c/image_thumb%5B1%5D.png?imgmax=800' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9164837514531450619.post-7454790770667380496</id><published>2010-08-30T04:12:00.001-07:00</published><updated>2010-08-30T04:12:32.849-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='HttpModule'/><category scheme='http://www.blogger.com/atom/ns#' term='Master Page'/><category scheme='http://www.blogger.com/atom/ns#' term='Feature'/><category scheme='http://www.blogger.com/atom/ns#' term='Sharepoint'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS 2007'/><category scheme='http://www.blogger.com/atom/ns#' term='application.master'/><title type='text'>Custom Application MasterPage | Sharepoint 2007</title><content type='html'>&lt;p align="justify"&gt;Recently I have involved in branding one of our clients sharepoint portal. As part of the branding process we needed to modify the application.master file, so even the layout pages&amp;#160; will have the same look and feel. As part of the investigation, we come up with the best approach for doing this.&lt;/p&gt;  &lt;p align="justify"&gt;1. Create a custom master page, with all the placeholders which are available in the original application.master file. Its better to take a copy of the application.master file and add the styles/images etc as you wish&lt;/p&gt;  &lt;p align="justify"&gt;2. Create a custom HttpModule which will set the new custom master page if the current page is having the master page “application.master”. We preferred HttpModule on top of HttpHandler because HttpModule can be deployed only to the web applications we wants, while HttpHandler will hit across all web applications.&lt;/p&gt;  &lt;p align="justify"&gt;Below is the code i have created for the http module.&lt;/p&gt;  &lt;pre class="code"&gt;&lt;span style="color: blue"&gt;using &lt;/span&gt;System;&lt;br /&gt;&lt;span style="color: blue"&gt;using &lt;/span&gt;System.Web;&lt;br /&gt;&lt;span style="color: blue"&gt;using &lt;/span&gt;System.Web.UI;&lt;br /&gt;&lt;span style="color: blue"&gt;using &lt;/span&gt;Microsoft.SharePoint;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: blue"&gt;namespace &lt;/span&gt;Company.HttpModules&lt;br /&gt;{&lt;br /&gt;    &lt;span style="color: gray"&gt;/// &amp;lt;summary&amp;gt;&lt;br /&gt;    /// &lt;/span&gt;&lt;span style="color: green"&gt;All the layout pages will be using application.master&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: gray"&gt;/// &lt;/span&gt;&lt;span style="color: green"&gt;inorder to make the application consistent. we have created a custom application master page&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: gray"&gt;/// &lt;/span&gt;&lt;span style="color: green"&gt;this module will check whether the current request is having the master page as application.master&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: gray"&gt;/// &lt;/span&gt;&lt;span style="color: green"&gt;then change it to our custom page&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: gray"&gt;/// &amp;lt;/summary&amp;gt;&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: blue"&gt;public class &lt;/span&gt;&lt;span style="color: #2b91af"&gt;ApplicationMasterModule &lt;/span&gt;: &lt;span style="color: #2b91af"&gt;IHttpModule&lt;br /&gt;    &lt;/span&gt;{&lt;br /&gt;        &lt;span style="color: blue"&gt;public void &lt;/span&gt;Init(&lt;span style="color: #2b91af"&gt;HttpApplication &lt;/span&gt;context)&lt;br /&gt;        {&lt;br /&gt;            &lt;span style="color: blue"&gt;if &lt;/span&gt;(context == &lt;span style="color: blue"&gt;null&lt;/span&gt;)&lt;br /&gt;                &lt;span style="color: blue"&gt;throw new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;ArgumentNullException&lt;/span&gt;(&lt;span style="color: #a31515"&gt;&amp;quot;context&amp;quot;&lt;/span&gt;);&lt;br /&gt;&lt;br /&gt;            context.PreRequestHandlerExecute += &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;EventHandler&lt;/span&gt;(context_PreRequestHandlerExecute);&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        &lt;span style="color: blue"&gt;void &lt;/span&gt;context_PreRequestHandlerExecute(&lt;span style="color: blue"&gt;object &lt;/span&gt;sender, &lt;span style="color: #2b91af"&gt;EventArgs &lt;/span&gt;e)&lt;br /&gt;        {&lt;br /&gt;            &lt;span style="color: #2b91af"&gt;Page &lt;/span&gt;page = &lt;span style="color: #2b91af"&gt;HttpContext&lt;/span&gt;.Current.CurrentHandler &lt;span style="color: blue"&gt;as &lt;/span&gt;&lt;span style="color: #2b91af"&gt;Page&lt;/span&gt;;&lt;br /&gt;            &lt;span style="color: blue"&gt;if &lt;/span&gt;(page != &lt;span style="color: blue"&gt;null&lt;/span&gt;)&lt;br /&gt;            {&lt;br /&gt;                page.PreInit += &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;EventHandler&lt;/span&gt;(page_PreInit);&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        &lt;span style="color: blue"&gt;void &lt;/span&gt;page_PreInit(&lt;span style="color: blue"&gt;object &lt;/span&gt;sender, &lt;span style="color: #2b91af"&gt;EventArgs &lt;/span&gt;e)&lt;br /&gt;        {&lt;br /&gt;            &lt;span style="color: #2b91af"&gt;Page &lt;/span&gt;page = sender &lt;span style="color: blue"&gt;as &lt;/span&gt;&lt;span style="color: #2b91af"&gt;Page&lt;/span&gt;;&lt;br /&gt;            &lt;span style="color: blue"&gt;if &lt;/span&gt;(page != &lt;span style="color: blue"&gt;null&lt;/span&gt;)&lt;br /&gt;            {&lt;br /&gt;                &lt;span style="color: blue"&gt;if &lt;/span&gt;(page.MasterPageFile != &lt;span style="color: blue"&gt;null&lt;/span&gt;)&lt;br /&gt;                {&lt;br /&gt;                    &lt;span style="color: blue"&gt;if &lt;/span&gt;(page.MasterPageFile.Contains(&lt;span style="color: #a31515"&gt;&amp;quot;application.master&amp;quot;&lt;/span&gt;))&lt;br /&gt;                    {&lt;br /&gt;                       &lt;br /&gt;&lt;br /&gt;                        &lt;span style="color: blue"&gt;using &lt;/span&gt;(&lt;span style="color: #2b91af"&gt;SPSite &lt;/span&gt;connectSite = &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;SPSite&lt;/span&gt;(&lt;span style="color: #2b91af"&gt;SPContext&lt;/span&gt;.Current.Site.Url))&lt;br /&gt;                        {&lt;br /&gt;                            &lt;span style="color: blue"&gt;using &lt;/span&gt;(&lt;span style="color: #2b91af"&gt;SPWeb &lt;/span&gt;currentWeb = connectSite.RootWeb)&lt;br /&gt;                            {&lt;br /&gt;                                &lt;span style="color: blue"&gt;string &lt;/span&gt;url = currentWeb.ServerRelativeUrl + &lt;span style="color: #a31515"&gt;&amp;quot;/_catalogs/masterpage/our_custom_app.master&amp;quot;&lt;/span&gt;;&lt;br /&gt;                                page.MasterPageFile = url;&lt;br /&gt;                            }&lt;br /&gt;                        }&lt;br /&gt;                    }&lt;br /&gt;                }&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        &lt;span style="color: blue"&gt;public void &lt;/span&gt;Dispose()&lt;br /&gt;        {&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;p align="justify"&gt;Now comes the important aspect of deployment. Its better to create the master page as well as http module to be deployed as a feature. See the feature.xml &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="code"&gt;&lt;span style="color: blue"&gt;&amp;lt;?&lt;/span&gt;&lt;span style="color: #a31515"&gt;xml &lt;/span&gt;&lt;span style="color: red"&gt;version&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;1.0&lt;/span&gt;&amp;quot; &lt;span style="color: red"&gt;encoding&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;utf-8&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;?&amp;gt;&lt;br /&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;Feature  &lt;/span&gt;&lt;span style="color: red"&gt;Id&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;b1531032-19b5-4fb1-87a6-6892b280c90d&lt;/span&gt;&amp;quot;&lt;br /&gt;          &lt;span style="color: red"&gt;Title&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;Custom Application Master Page&lt;/span&gt;&amp;quot;&lt;br /&gt;          &lt;span style="color: red"&gt;Description&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;Custom Application Master Page&lt;/span&gt;&amp;quot;&lt;br /&gt;          &lt;span style="color: red"&gt;Version&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;12.0.0.0&lt;/span&gt;&amp;quot;&lt;br /&gt;          &lt;span style="color: red"&gt;Hidden&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;FALSE&lt;/span&gt;&amp;quot;&lt;br /&gt;          &lt;span style="color: red"&gt;Scope&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;Site&lt;/span&gt;&amp;quot;&lt;br /&gt;          &lt;span style="color: red"&gt;DefaultResourceFile&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;core&lt;/span&gt;&amp;quot;&lt;br /&gt;          &lt;span style="color: red"&gt;ReceiverAssembly&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;Company.MasterPages, Version=1.0.0.0, Culture=neutral, PublicKeyToken=6c27a5016ad8e167&lt;/span&gt;&amp;quot;&lt;br /&gt;          &lt;span style="color: red"&gt;ReceiverClass&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;Company.MasterPages.CustomAppMasterPage&lt;/span&gt;&amp;quot;          &lt;br /&gt;          &lt;span style="color: red"&gt;xmlns&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;http://schemas.microsoft.com/sharepoint/&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;&amp;gt;&lt;br /&gt;  &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;ElementManifests&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;br /&gt;    &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;ElementManifest &lt;/span&gt;&lt;span style="color: red"&gt;Location&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;elements.xml&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;/&amp;gt;&lt;br /&gt;      &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;ElementFile &lt;/span&gt;&lt;span style="color: red"&gt;Location&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;our_custom_app.master&lt;/span&gt;&amp;quot; &lt;span style="color: blue"&gt;/&amp;gt;&lt;br /&gt;  &amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;ElementManifests&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;br /&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;Feature&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;p align="justify"&gt;and elements.xml file&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="code"&gt;&lt;span style="color: blue"&gt;&amp;lt;?&lt;/span&gt;&lt;span style="color: #a31515"&gt;xml &lt;/span&gt;&lt;span style="color: red"&gt;version&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;1.0&lt;/span&gt;&amp;quot; &lt;span style="color: red"&gt;encoding&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;utf-8&lt;/span&gt;&amp;quot; &lt;span style="color: blue"&gt;?&amp;gt;&lt;br /&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;Elements &lt;/span&gt;&lt;span style="color: red"&gt;xmlns&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;http://schemas.microsoft.com/sharepoint/&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;&amp;gt;&lt;br /&gt;    &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;Module &lt;/span&gt;&lt;span style="color: red"&gt;Name&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;CustomApplicationMasterPage&lt;/span&gt;&amp;quot;&lt;br /&gt;            &lt;span style="color: red"&gt;Url&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;_catalogs/masterpage&lt;/span&gt;&amp;quot;&lt;br /&gt;            &lt;span style="color: red"&gt;Path&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&amp;quot;&lt;br /&gt;            &lt;span style="color: red"&gt;RootWebOnly&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;False&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;&amp;gt;&lt;br /&gt;        &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;File &lt;/span&gt;&lt;span style="color: red"&gt;Url&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;our_custom_app.master&lt;/span&gt;&amp;quot;&lt;br /&gt;              &lt;span style="color: red"&gt;Type&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;GhostableInLibrary&lt;/span&gt;&amp;quot; &lt;span style="color: red"&gt;IgnoreIfAlreadyExists&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;FALSE&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;&amp;gt;&lt;br /&gt;            &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;Property &lt;/span&gt;&lt;span style="color: red"&gt;Name&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;ContentType&lt;/span&gt;&amp;quot;&lt;br /&gt;                      &lt;span style="color: red"&gt;Value&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;$Resources:cmscore,contenttype_-9masterpage_name;&lt;/span&gt;&amp;quot; &lt;span style="color: blue"&gt;/&amp;gt;&lt;br /&gt;            &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;Property &lt;/span&gt;&lt;span style="color: red"&gt;Name&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;PublishingPreviewImage&lt;/span&gt;&amp;quot;&lt;br /&gt;                      &lt;span style="color: red"&gt;Value&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&amp;quot; &lt;span style="color: blue"&gt;/&amp;gt;&lt;br /&gt;            &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;Property &lt;/span&gt;&lt;span style="color: red"&gt;Name&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;Description&lt;/span&gt;&amp;quot;&lt;br /&gt;                      &lt;span style="color: red"&gt;Value&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;Custom Application Master Page&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;/&amp;gt;&lt;br /&gt;        &amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;File&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;            &lt;br /&gt;    &amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;Module&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;br /&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;Elements&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;p align="justify"&gt;See the Feature Receiver assembly which will add the web.config entries so the HttpModule will work without manually modifying the web configuration file&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="code"&gt;&lt;span style="color: blue"&gt;using &lt;/span&gt;System;&lt;br /&gt;&lt;span style="color: blue"&gt;using &lt;/span&gt;System.Collections.Generic;&lt;br /&gt;&lt;span style="color: blue"&gt;using &lt;/span&gt;System.Text;&lt;br /&gt;&lt;span style="color: blue"&gt;using &lt;/span&gt;Microsoft.SharePoint;&lt;br /&gt;&lt;span style="color: blue"&gt;using &lt;/span&gt;Microsoft.SharePoint.Administration;&lt;br /&gt;&lt;span style="color: blue"&gt;using &lt;/span&gt;System.Globalization;&lt;br /&gt;&lt;span style="color: blue"&gt;using &lt;/span&gt;System.Diagnostics;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: blue"&gt;namespace &lt;/span&gt;Company.UIUpdates&lt;br /&gt;{    &lt;br /&gt;    &lt;span style="color: gray"&gt;/// &amp;lt;summary&amp;gt;&lt;br /&gt;    /// &lt;/span&gt;&lt;span style="color: green"&gt;On Feature Activation =&amp;gt; Add HttpModule Entry in Web.Config file&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: gray"&gt;/// &lt;/span&gt;&lt;span style="color: green"&gt;On Feature DeActivation =&amp;gt; Remove the HttpModule Entry from Web.Config file&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: gray"&gt;/// &amp;lt;/summary&amp;gt;&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: blue"&gt;class &lt;/span&gt;&lt;span style="color: #2b91af"&gt;CustomAppMasterPage &lt;/span&gt;: &lt;span style="color: #2b91af"&gt;SPFeatureReceiver&lt;br /&gt;    &lt;/span&gt;{&lt;br /&gt;        &lt;span style="color: blue"&gt;static &lt;/span&gt;&lt;span style="color: #2b91af"&gt;SPWebConfigModification &lt;/span&gt;CreateModification(&lt;span style="color: blue"&gt;string &lt;/span&gt;Name, &lt;span style="color: blue"&gt;string &lt;/span&gt;XPath, &lt;span style="color: blue"&gt;string &lt;/span&gt;Value)&lt;br /&gt;        {&lt;br /&gt;            &lt;span style="color: #2b91af"&gt;SPWebConfigModification &lt;/span&gt;modification = &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;SPWebConfigModification&lt;/span&gt;(Name, XPath);&lt;br /&gt;            modification.Owner = &lt;span style="color: #a31515"&gt;&amp;quot;Custom Application Master Page.wsp&amp;quot;&lt;/span&gt;;&lt;br /&gt;            modification.Sequence = 0;&lt;br /&gt;            modification.Type = &lt;span style="color: #2b91af"&gt;SPWebConfigModification&lt;/span&gt;.&lt;span style="color: #2b91af"&gt;SPWebConfigModificationType&lt;/span&gt;.EnsureChildNode;&lt;br /&gt;            modification.Value = Value;&lt;br /&gt;            &lt;span style="color: blue"&gt;return &lt;/span&gt;modification; &lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        &lt;span style="color: blue"&gt;public override void &lt;/span&gt;FeatureActivated(&lt;span style="color: #2b91af"&gt;SPFeatureReceiverProperties &lt;/span&gt;properties)&lt;br /&gt;        {            &lt;br /&gt;            &lt;span style="color: blue"&gt;try&lt;br /&gt;            &lt;/span&gt;{                &lt;br /&gt;                &lt;span style="color: blue"&gt;using &lt;/span&gt;(&lt;span style="color: #2b91af"&gt;SPSite &lt;/span&gt;site = properties.Feature.Parent &lt;span style="color: blue"&gt;as &lt;/span&gt;&lt;span style="color: #2b91af"&gt;SPSite&lt;/span&gt;)&lt;br /&gt;                {&lt;br /&gt;                    &lt;span style="color: #2b91af"&gt;SPWebApplication &lt;/span&gt;webApp = site.WebApplication;&lt;br /&gt;                    &lt;span style="color: blue"&gt;string &lt;/span&gt;name = &lt;span style="color: #a31515"&gt;&amp;quot;add[@name='ApplicationMasterModule']&amp;quot;&lt;/span&gt;;&lt;br /&gt;                    &lt;span style="color: blue"&gt;string &lt;/span&gt;path = &lt;span style="color: #a31515"&gt;&amp;quot;configuration/system.web/httpModules&amp;quot;&lt;/span&gt;;&lt;br /&gt;                    &lt;span style="color: blue"&gt;string &lt;/span&gt;value = &lt;span style="color: #a31515"&gt;@&amp;quot;&amp;lt;add name=&amp;quot;&amp;quot;ApplicationMasterModule&amp;quot;&amp;quot; type=&amp;quot;&amp;quot;Company.HttpModules.ApplicationMasterModule,Company.HttpModules, Version=1.0.0.0, Culture=neutral, PublicKeyToken=f2391931b556f037&amp;quot;&amp;quot; /&amp;gt;&amp;quot;&lt;/span&gt;;&lt;br /&gt;                    &lt;span style="color: blue"&gt;if &lt;/span&gt;(webApp != &lt;span style="color: blue"&gt;null&lt;/span&gt;)&lt;br /&gt;                    {&lt;br /&gt;                        &lt;span style="color: #2b91af"&gt;SPWebConfigModification &lt;/span&gt;modification = CreateModification(name, path, value);&lt;br /&gt;                        webApp.WebConfigModifications.Add(modification);&lt;br /&gt;                        webApp.Update();&lt;br /&gt;                        &lt;span style="color: #2b91af"&gt;SPWebService&lt;/span&gt;.ContentService.ApplyWebConfigModifications();&lt;br /&gt;                        &lt;span style="color: #2b91af"&gt;SPWebService&lt;/span&gt;.ContentService.WebApplications[webApp.Id].Update();&lt;br /&gt;                        &lt;span style="color: green"&gt;//Applies the web config settings in all the web application in the farm&lt;br /&gt;                        &lt;/span&gt;&lt;span style="color: #2b91af"&gt;SPWebService&lt;/span&gt;.ContentService.WebApplications[webApp.Id].WebService.ApplyWebConfigModifications();&lt;br /&gt;                    }&lt;br /&gt;                }&lt;br /&gt;            }&lt;br /&gt;            &lt;span style="color: blue"&gt;catch &lt;/span&gt;(&lt;span style="color: #2b91af"&gt;Exception &lt;/span&gt;ex)&lt;br /&gt;            {&lt;br /&gt;                WriteMessageToEventLog(ex.ToString());&lt;br /&gt;            }        &lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        &lt;span style="color: blue"&gt;static private void &lt;/span&gt;WriteMessageToEventLog(&lt;span style="color: blue"&gt;string &lt;/span&gt;message)&lt;br /&gt;        {&lt;br /&gt;            &lt;span style="color: blue"&gt;string &lt;/span&gt;EVENT_SOURCE = &lt;span style="color: #a31515"&gt;&amp;quot;CustomAppMasterPage Feature Receiver&amp;quot;&lt;/span&gt;;&lt;br /&gt;            &lt;span style="color: #2b91af"&gt;SPSecurity&lt;/span&gt;.RunWithElevatedPrivileges(&lt;span style="color: blue"&gt;delegate&lt;/span&gt;()&lt;br /&gt;            {&lt;br /&gt;                &lt;span style="color: blue"&gt;if &lt;/span&gt;(!&lt;span style="color: #2b91af"&gt;EventLog&lt;/span&gt;.SourceExists(EVENT_SOURCE))&lt;br /&gt;                {&lt;br /&gt;                    &lt;span style="color: #2b91af"&gt;EventLog&lt;/span&gt;.CreateEventSource(EVENT_SOURCE, &lt;span style="color: #a31515"&gt;&amp;quot;Application&amp;quot;&lt;/span&gt;);&lt;br /&gt;                }&lt;br /&gt;&lt;br /&gt;                &lt;span style="color: #2b91af"&gt;EventLog&lt;/span&gt;.WriteEntry(EVENT_SOURCE, message);&lt;br /&gt;            });&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        &lt;span style="color: blue"&gt;public override void &lt;/span&gt;FeatureDeactivating(&lt;span style="color: #2b91af"&gt;SPFeatureReceiverProperties &lt;/span&gt;properties)&lt;br /&gt;        {&lt;br /&gt;            &lt;span style="color: blue"&gt;try&lt;br /&gt;            &lt;/span&gt;{&lt;br /&gt;                &lt;span style="color: blue"&gt;using &lt;/span&gt;(&lt;span style="color: #2b91af"&gt;SPSite &lt;/span&gt;site = properties.Feature.Parent &lt;span style="color: blue"&gt;as &lt;/span&gt;&lt;span style="color: #2b91af"&gt;SPSite&lt;/span&gt;)&lt;br /&gt;                {&lt;br /&gt;                    &lt;span style="color: #2b91af"&gt;SPWebApplication &lt;/span&gt;webApp = site.WebApplication;&lt;br /&gt;                    &lt;span style="color: blue"&gt;string &lt;/span&gt;name = &lt;span style="color: #a31515"&gt;&amp;quot;add[@name='ApplicationMasterModule']&amp;quot;&lt;/span&gt;;&lt;br /&gt;                    &lt;span style="color: blue"&gt;string &lt;/span&gt;path = &lt;span style="color: #a31515"&gt;&amp;quot;configuration/system.web/httpModules&amp;quot;&lt;/span&gt;;&lt;br /&gt;                    &lt;span style="color: blue"&gt;string &lt;/span&gt;value = &lt;span style="color: #a31515"&gt;@&amp;quot;&amp;lt;add name=&amp;quot;&amp;quot;ApplicationMasterModule&amp;quot;&amp;quot; type=&amp;quot;&amp;quot;Company.HttpModules.ApplicationMasterModule,Company.HttpModules, Version=1.0.0.0, Culture=neutral, PublicKeyToken=f2391931b556f037&amp;quot;&amp;quot; /&amp;gt;&amp;quot;&lt;/span&gt;;&lt;br /&gt;                    &lt;span style="color: blue"&gt;if &lt;/span&gt;(webApp != &lt;span style="color: blue"&gt;null&lt;/span&gt;)&lt;br /&gt;                    {&lt;br /&gt;                        &lt;span style="color: #2b91af"&gt;SPWebConfigModification &lt;/span&gt;modification = CreateModification(name, path, value);&lt;br /&gt;                        webApp.WebConfigModifications.Remove(modification);&lt;br /&gt;                        webApp.Update();&lt;br /&gt;                        &lt;span style="color: #2b91af"&gt;SPWebService&lt;/span&gt;.ContentService.ApplyWebConfigModifications();&lt;br /&gt;                        &lt;span style="color: #2b91af"&gt;SPWebService&lt;/span&gt;.ContentService.WebApplications[webApp.Id].Update();&lt;br /&gt;                        &lt;span style="color: green"&gt;//Applies the web config settings in all the web application in the farm&lt;br /&gt;                        &lt;/span&gt;&lt;span style="color: #2b91af"&gt;SPWebService&lt;/span&gt;.ContentService.WebApplications[webApp.Id].WebService.ApplyWebConfigModifications();&lt;br /&gt;                    }                    &lt;br /&gt;                }&lt;br /&gt;            }&lt;br /&gt;            &lt;span style="color: blue"&gt;catch &lt;/span&gt;(&lt;span style="color: #2b91af"&gt;Exception &lt;/span&gt;ex)&lt;br /&gt;            {&lt;br /&gt;                WriteMessageToEventLog(ex.ToString());&lt;br /&gt;            } &lt;br /&gt;        }        &lt;br /&gt;&lt;br /&gt;        &lt;span style="color: blue"&gt;public override void &lt;/span&gt;FeatureInstalled(&lt;span style="color: #2b91af"&gt;SPFeatureReceiverProperties &lt;/span&gt;properties)&lt;br /&gt;        {&lt;br /&gt;            &lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        &lt;span style="color: blue"&gt;public override void &lt;/span&gt;FeatureUninstalling(&lt;span style="color: #2b91af"&gt;SPFeatureReceiverProperties &lt;/span&gt;properties)&lt;br /&gt;        {&lt;br /&gt;            &lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;As part of the WSP, we included the following&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;1. Custom Master Page&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;2. Http Module dll which will go into GAC&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;3. Feature Receiver&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Hope this helps. Feel free to contact me if you have any queries.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9164837514531450619-7454790770667380496?l=lamahashim.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lamahashim.blogspot.com/feeds/7454790770667380496/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9164837514531450619&amp;postID=7454790770667380496' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/7454790770667380496'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/7454790770667380496'/><link rel='alternate' type='text/html' href='http://lamahashim.blogspot.com/2010/08/custom-application-masterpage.html' title='Custom Application MasterPage | Sharepoint 2007'/><author><name>A.m.a.L Hashim</name><uri>http://www.blogger.com/profile/04600206670507170118</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_bxrn2DJZgfo/S28F2fGQN9I/AAAAAAAAAPE/b3GLUwQjrFc/S220/Photo341.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9164837514531450619.post-8786038005208463932</id><published>2010-08-19T23:12:00.001-07:00</published><updated>2010-08-19T23:12:42.791-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Sync Framework'/><category scheme='http://www.blogger.com/atom/ns#' term='Azure'/><title type='text'>Microsoft Sync Framework 2.1 Software Development Kit (SDK) Released</title><content type='html'>&lt;p align="justify"&gt;Microsoft Sync Framework is a comprehensive synchronization platform that enables collaboration and offline scenarios for applications, services, and devices. Using Microsoft Sync Framework, developers can build applications that synchronize data from any source using any protocol over any network.&lt;/p&gt;  &lt;p align="justify"&gt;Sync Framework 2.1 introduces new features that let you synchronize a SQL Server or SQL Server Compact database on your computer with a SQL Azure database. This release also introduces parameter-based filtering, the ability to remove synchronization scopes and templates from a database, and performance enhancements to make synchronization faster and easier. &lt;/p&gt;  &lt;p&gt;&lt;b&gt;SQL Azure Synchronization &lt;/b&gt;&lt;/p&gt; &lt;strong&gt;&lt;/strong&gt;  &lt;p align="justify"&gt;   &lt;br /&gt;With Sync Framework 2.1, you can extend the reach of your data to the web by leveraging the Windows Azure Platform and SQL Azure Database. By synchronizing a SQL Server database on your business premises to SQL Azure, you make some or all of your data available on the web without the need to provide your customers with a connection to your on premises SQL Server database. After you configure your SQL Azure database for synchronization, users can take the data offline and store it in a client database, such as SQL Server Compact or SQL Server Express, so that your applications operate while disconnected and your customers can stay productive without the need for a reliable network connection. Changes made to data in the field can be synchronized back to the SQL Azure database and ultimately back to the on premises SQL Server database. Sync Framework 2.1 also includes features to interact well with the shared environment of Windows Azure and SQL Azure. These features include performance enhancements, the ability to define the maximum size of a transaction to avoid throttling, and automatic retries of a transaction if it is throttled by Windows Azure. Sync Framework gives you flexibility in the way you structure your synchronization community, but two typical ways are to use a 2-tier architecture or an N-tier architecture. &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;div align="justify"&gt;2-tier architecture: Sync Framework runs on the local computer and uses a SqlSyncProvider object to connect directly to the SQL Azure database without going through a middle tier or a web server, such as Internet Information Services (IIS). &lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;N-tier architecture: A Sync Framework database provider runs in a Windows Azure hosted service and communicates with a proxy provider that runs on the local computer.&lt;/div&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;b&gt;Bulk Application of Changes &lt;/b&gt;&lt;/p&gt; &lt;strong&gt;&lt;/strong&gt;  &lt;p align="justify"&gt;   &lt;br /&gt;Sync Framework 2.1 takes advantage of the table-valued parameter feature of SQL Server 2008 and SQL Azure to apply multiple inserts, updates, and deletes by using a single stored procedure call, instead of requiring a stored procedure call to apply each change. This greatly increases performance of these operations and reduces the number of round trips between client and server during change application. Bulk procedures are created by default when a SQL Server 2008 or SQL Azure database is provisioned. &lt;/p&gt;  &lt;p align="justify"&gt;   &lt;br /&gt;&lt;b&gt;Parameter-based Filtering &lt;/b&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;strong&gt;&lt;/strong&gt;    &lt;br /&gt;ync Framework 2.1 enables you to create parameter-based filters that control what data is synchronized. Parameter-based filters are particularly useful when users want to filter data based on a field that can have many different values, such as user ID or region, or a combination of two or more fields. Parameter-based filters are created in two steps. First, filter and scope templates are defined. Then, a filtered scope is created that has specific values for the filter parameters. This two-step process has the following advantages: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;div align="justify"&gt;Easy to set up. A filter template is defined one time. Creating a filter template is the only action that requires permission to create stored procedures in the database server. This step is typically performed by a database administrator.&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;Easy to subscribe. Clients specify parameter values to create and subscribe to filtered scopes on an as-needed basis. This step requires only permission to insert rows in synchronization tables in the database server. This step can be performed by a user.&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;Easy to maintain. Even when several parameters are combined and lots of filtered scopes are created, maintenance is simple because a single, parameter-based procedure is used to enumerate changes.&lt;/div&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;   &lt;br /&gt;&lt;b&gt;Removing Scopes and Templates &lt;/b&gt;&lt;/p&gt; &lt;strong&gt;&lt;/strong&gt;  &lt;p align="justify"&gt;   &lt;br /&gt;Sync Framework 2.1 adds the SqlSyncScopeDeprovisioning and SqlCeSyncScopeDeprovisioning classes to enable you to easily remove synchronization elements from databases that have been provisioned for synchronization. By using these classes you can remove scopes, filter templates, and the associated metadata tables, triggers, and stored procedures from your databases. &lt;/p&gt;  &lt;p align="justify"&gt;   &lt;br /&gt;&lt;b&gt;Upgrading the Metadata Format &lt;/b&gt;&lt;/p&gt; &lt;strong&gt;&lt;/strong&gt;  &lt;p align="justify"&gt;   &lt;br /&gt;The metadata format for the database providers changed in Sync Framework 2.1. The new metadata format is incompatible with previous versions of the database providers. The upgrade to the new metadata format cannot be undone, and when you try to use an earlier version of the database providers to synchronize a database that is in the 2.1 format, Sync Framework throws an exception. However, the SqlSyncProvider class in Sync Framework 2.1 detects whether the metadata is in the 2.0 or 2.1 format, and operates in a backward compatibility mode to synchronize a database that contains metadata in the 2.0 format. Sync Framework can synchronize a database in the 2.0 format with a database in either the 2.0 or the 2.1 format. Therefore, it is not necessary to upgrade all of the databases in your synchronization community at the same time. For example, in an N-tier architecture you can upgrade the server Sync Framework components and database metadata format and continue to synchronize with clients that use Sync Framework 2.0. Clients can then upgrade when it is convenient for them to do so. &lt;/p&gt;  &lt;p align="justify"&gt;   &lt;br /&gt;&lt;b&gt;SQL Server Compact 3.5 SP2 Compatibility &lt;/b&gt;&lt;/p&gt; &lt;strong&gt;&lt;/strong&gt;  &lt;p align="justify"&gt;   &lt;br /&gt;The Sync Framework 2.1 SqlCeSyncProvider database provider object uses SQL Server Compact 3.5 SP2. Existing SQL Server Compact databases are automatically upgraded when Sync Framework connects to them. Among other new features, SQL Server Compact 3.5 SP2 makes available a change tracking API that provides the ability to configure, enable, and disable change tracking on a table, and to access the change tracking data for the table. SQL Server Compact 3.5 SP2 can be downloaded &lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=e497988a-c93a-404c-b161-3a0b323dce24"&gt;here&lt;/a&gt;. &lt;/p&gt;  &lt;p align="justify"&gt;   &lt;br /&gt;&lt;b&gt;Sync Framework 2.1 Redistributable Package&lt;/b&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;strong&gt;&lt;/strong&gt;    &lt;br /&gt;To download the Microsoft Sync Framework 2.1 redistributables, rather than the SDK package, click on the link: &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=c3b2f32b-12a9-40b8-9e83-c452ac546c49"&gt;Microsoft Sync Framework 2.1 Redistributable Package&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9164837514531450619-8786038005208463932?l=lamahashim.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lamahashim.blogspot.com/feeds/8786038005208463932/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9164837514531450619&amp;postID=8786038005208463932' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/8786038005208463932'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/8786038005208463932'/><link rel='alternate' type='text/html' href='http://lamahashim.blogspot.com/2010/08/microsoft-sync-framework-21-software.html' title='Microsoft Sync Framework 2.1 Software Development Kit (SDK) Released'/><author><name>A.m.a.L Hashim</name><uri>http://www.blogger.com/profile/04600206670507170118</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_bxrn2DJZgfo/S28F2fGQN9I/AAAAAAAAAPE/b3GLUwQjrFc/S220/Photo341.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9164837514531450619.post-5223840572099014094</id><published>2010-08-12T03:28:00.001-07:00</published><updated>2010-08-12T04:51:23.231-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MOSS 2007'/><title type='text'>Sharepoint 2007 Deploying Styles as Feature</title><content type='html'>Assuming you have WSP Builder installed.  &lt;br /&gt;Open Visual Studio, From File –&amp;gt; New Project  &lt;br /&gt;&lt;a href="http://lh3.ggpht.com/_bxrn2DJZgfo/TGPMGxZMR4I/AAAAAAAAAZ4/SXWpS-6bwEE/s1600-h/image%5B3%5D.png"&gt;&lt;img title="image" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="415" alt="image" src="http://lh5.ggpht.com/_bxrn2DJZgfo/TGPMJwUCtNI/AAAAAAAAAZ8/5CXuR0nOSyc/image_thumb%5B1%5D.png?imgmax=800" width="687" border="0" /&gt;&lt;/a&gt;  &lt;br /&gt;Clicking OK will create a solution with the following folder structure  &lt;br /&gt;&lt;a href="http://lh6.ggpht.com/_bxrn2DJZgfo/TGPMM4PX2wI/AAAAAAAAAaA/C2xD6ACfCTw/s1600-h/image%5B7%5D.png"&gt;&lt;img title="image" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="229" alt="image" src="http://lh3.ggpht.com/_bxrn2DJZgfo/TGPMQZUeQhI/AAAAAAAAAaE/HeKgGoj-FRc/image_thumb%5B3%5D.png?imgmax=800" width="370" border="0" /&gt;&lt;/a&gt;   &lt;br /&gt;Now right click the Project “Test_Style” –&amp;gt; Add –&amp;gt; New Item  &lt;br /&gt;&lt;a href="http://lh4.ggpht.com/_bxrn2DJZgfo/TGPMUOswNzI/AAAAAAAAAaI/RW290X0Dss0/s1600-h/image%5B11%5D.png"&gt;&lt;img title="image" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="447" alt="image" src="http://lh4.ggpht.com/_bxrn2DJZgfo/TGPMXekHsTI/AAAAAAAAAaM/TEv5oOck12s/image_thumb%5B5%5D.png?imgmax=800" width="399" border="0" /&gt;&lt;/a&gt;   &lt;br /&gt;From the Add New Item dialog Select WSPBuilder –&amp;gt; Blank Feature  &lt;br /&gt;&lt;a href="http://lh6.ggpht.com/_bxrn2DJZgfo/TGPMZDY63aI/AAAAAAAAAaQ/VhaFFAAzH9E/s1600-h/image%5B15%5D.png"&gt;&lt;img title="image" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="418" alt="image" src="http://lh6.ggpht.com/_bxrn2DJZgfo/TGPMcCYCh2I/AAAAAAAAAaU/mZ2FOTq9FDM/image_thumb%5B7%5D.png?imgmax=800" width="688" border="0" /&gt;&lt;/a&gt;   &lt;br /&gt;Clicking Add will bring up the following dialog  &lt;br /&gt;&lt;a href="http://lh3.ggpht.com/_bxrn2DJZgfo/TGPMeSQytlI/AAAAAAAAAaY/iLuR6UGWOF0/s1600-h/image%5B19%5D.png"&gt;&lt;img title="image" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="194" alt="image" src="http://lh4.ggpht.com/_bxrn2DJZgfo/TGPMhqZKaoI/AAAAAAAAAac/fhIZ72q7pgg/image_thumb%5B9%5D.png?imgmax=800" width="347" border="0" /&gt;&lt;/a&gt;   &lt;br /&gt;If you want the style to be applied on Site Collection level, then select the scope as Site, and Click OK will add feature/element files as shown below  &lt;br /&gt;&lt;a href="http://lh5.ggpht.com/_bxrn2DJZgfo/TGPMkJzZ6KI/AAAAAAAAAag/3l5if5up26A/s1600-h/image%5B23%5D.png"&gt;&lt;img title="image" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="289" alt="image" src="http://lh3.ggpht.com/_bxrn2DJZgfo/TGPMnXzGTMI/AAAAAAAAAak/igMr2cfDipU/image_thumb%5B11%5D.png?imgmax=800" width="290" border="0" /&gt;&lt;/a&gt;   &lt;br /&gt;Now add your style file under the folder TestStyle as shown below  &lt;br /&gt;&lt;a href="http://lh4.ggpht.com/_bxrn2DJZgfo/TGPMq3e1wgI/AAAAAAAAAao/XdRKjTcNG4Q/s1600-h/image%5B27%5D.png"&gt;&lt;img title="image" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="289" alt="image" src="http://lh6.ggpht.com/_bxrn2DJZgfo/TGPMuFHKysI/AAAAAAAAAas/nwSiUvOlbAE/image_thumb%5B13%5D.png?imgmax=800" width="273" border="0" /&gt;&lt;/a&gt;   &lt;br /&gt;Open feature.xml file and copy paste the following replacing the existing ElementManifests tag  &lt;br /&gt;&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;ElementManifests&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;ElementManifest &lt;/span&gt;&lt;span style="color: red"&gt;Location&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;elements.xml&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;/&amp;gt;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;ElementFile &lt;/span&gt;&lt;span style="color: red"&gt;Location&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;MyStyle.css&lt;/span&gt;&amp;quot; &lt;span style="color: blue"&gt;/&amp;gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;ElementManifests&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;    &lt;br /&gt;&lt;/span&gt;  &lt;br /&gt;Open elements.xml file and copy paste the following replacing existing contents  &lt;br /&gt;  &lt;pre class="code"&gt;&lt;span style="color: blue"&gt;&amp;lt;?&lt;/span&gt;&lt;span style="color: #a31515"&gt;xml &lt;/span&gt;&lt;span style="color: red"&gt;version&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;1.0&lt;/span&gt;&amp;quot; &lt;span style="color: red"&gt;encoding&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;utf-8&lt;/span&gt;&amp;quot; &lt;span style="color: blue"&gt;?&amp;gt;&lt;br /&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;Elements &lt;/span&gt;&lt;span style="color: red"&gt;xmlns&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;http://schemas.microsoft.com/sharepoint/&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;&amp;gt;&lt;br /&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;Module &lt;/span&gt;&lt;span style="color: red"&gt;Name&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;New Style&lt;/span&gt;&amp;quot; &lt;span style="color: red"&gt;Url&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;Style Library&lt;/span&gt;&amp;quot; &lt;span style="color: red"&gt;Path&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&amp;quot; &lt;span style="color: red"&gt;RootWebOnly&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;TRUE&lt;/span&gt;&amp;quot; &lt;span style="color: blue"&gt;&amp;gt;&lt;br /&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;File &lt;/span&gt;&lt;span style="color: red"&gt;Url&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;MyStyle.css&lt;/span&gt;&amp;quot; &lt;span style="color: red"&gt;Type&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;GhostableInLibrary&lt;/span&gt;&amp;quot; &lt;span style="color: red"&gt;IgnoreIfAlreadyExists&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;TRUE&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;File&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;br /&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;Module&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;Elements&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Now build the WSP by Right Clicking the project from Solution Explorer&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://lh3.ggpht.com/_bxrn2DJZgfo/TGPMwuX1mvI/AAAAAAAAAaw/xYhP07OFbFw/s1600-h/image%5B31%5D.png"&gt;&lt;img title="image" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="414" alt="image" src="http://lh6.ggpht.com/_bxrn2DJZgfo/TGPM0fJZfII/AAAAAAAAAa0/z-M4YkL4ifE/image_thumb%5B15%5D.png?imgmax=800" width="460" border="0" /&gt;&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Add the solution, and activate the feature.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Now, if you notice the feature was suppose to overwrite the file if it exists. But, if the file exists its not overwriting, even if we provide “IgnoreIfAlreadyExists” flag in elements.xml file. As a solution for this, we need to handle the FeatureActivated event and manually checkout the file and overwrite it and checkin the file. To achieve this we need to build a class library, which should go to GAC.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="code"&gt;&lt;span style="color: blue"&gt;using &lt;/span&gt;System;&lt;br /&gt;&lt;span style="color: blue"&gt;using &lt;/span&gt;System.Collections.Generic;&lt;br /&gt;&lt;span style="color: blue"&gt;using &lt;/span&gt;System.Text;&lt;br /&gt;&lt;span style="color: blue"&gt;using &lt;/span&gt;Microsoft.SharePoint;&lt;br /&gt;&lt;span style="color: blue"&gt;using &lt;/span&gt;System.IO;&lt;br /&gt;&lt;span style="color: blue"&gt;using &lt;/span&gt;System.Diagnostics;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="code"&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: blue"&gt;namespace &lt;/span&gt;UpdateStyleReceiver&lt;br /&gt;{&lt;br /&gt;&lt;span style="color: blue"&gt;class &lt;/span&gt;&lt;span style="color: #2b91af"&gt;UpdateStyle &lt;/span&gt;: &lt;span style="color: #2b91af"&gt;SPFeatureReceiver&lt;br /&gt;&lt;/span&gt;{&lt;br /&gt;&lt;span style="color: #2b91af"&gt;SPWeb &lt;/span&gt;web = &lt;span style="color: blue"&gt;null&lt;/span&gt;;&lt;br /&gt;&lt;span style="color: blue"&gt;string &lt;/span&gt;directoryPath = &lt;span style="color: blue"&gt;null&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: green"&gt;// copy to location&lt;br /&gt;&lt;/span&gt;&lt;span style="color: blue"&gt;string &lt;/span&gt;url = &lt;span style="color: blue"&gt;null&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: blue"&gt;public override void &lt;/span&gt;FeatureInstalled(&lt;span style="color: #2b91af"&gt;SPFeatureReceiverProperties &lt;/span&gt;properties) { }&lt;br /&gt;&lt;br /&gt;&lt;span style="color: blue"&gt;public override void &lt;/span&gt;FeatureUninstalling(&lt;span style="color: #2b91af"&gt;SPFeatureReceiverProperties &lt;/span&gt;properties) { }&lt;br /&gt;&lt;br /&gt;&lt;span style="color: blue"&gt;public override void &lt;/span&gt;FeatureActivated(&lt;span style="color: #2b91af"&gt;SPFeatureReceiverProperties &lt;/span&gt;properties)&lt;br /&gt;{&lt;br /&gt;WriteMessageToEventLog(&lt;span style="color: #a31515"&gt;&amp;quot;Feature Activated&amp;quot;&lt;/span&gt;);&lt;br /&gt;&lt;br /&gt;&lt;span style="color: blue"&gt;try&lt;br /&gt;&lt;/span&gt;{&lt;br /&gt;web = ((&lt;span style="color: #2b91af"&gt;SPSite&lt;/span&gt;)properties.Feature.Parent).RootWeb;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: green"&gt;// set the directory path on the file system where the feature was activated&lt;br /&gt;&lt;/span&gt;directoryPath = properties.Definition.RootDirectory;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: green"&gt;// run with elevated permissions so we can overwrite the file&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #2b91af"&gt;SPSecurity&lt;/span&gt;.RunWithElevatedPrivileges(OverwriteFile);&lt;br /&gt;}&lt;br /&gt;&lt;span style="color: blue"&gt;catch &lt;/span&gt;(&lt;span style="color: #2b91af"&gt;Exception &lt;/span&gt;ex)&lt;br /&gt;{&lt;br /&gt;WriteMessageToEventLog(ex.ToString());&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="color: blue"&gt;public void &lt;/span&gt;OverwriteFile()&lt;br /&gt;{&lt;br /&gt;&lt;span style="color: green"&gt;// create a new site object so that elevation works properly&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #2b91af"&gt;SPSite &lt;/span&gt;site = &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;SPSite&lt;/span&gt;(web.Site.ID);&lt;br /&gt;&lt;br /&gt;&lt;span style="color: green"&gt;// copy to location&lt;br /&gt;&lt;/span&gt;&lt;span style="color: blue"&gt;string &lt;/span&gt;url = &lt;span style="color: blue"&gt;null&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: green"&gt;// get the url to the local file&lt;br /&gt;&lt;/span&gt;&lt;span style="color: blue"&gt;string&lt;/span&gt;[] localFile = System.IO.&lt;span style="color: #2b91af"&gt;Directory&lt;/span&gt;.GetFiles(directoryPath, &lt;span style="color: #a31515"&gt;&amp;quot;*.css&amp;quot;&lt;/span&gt;, System.IO.&lt;span style="color: #2b91af"&gt;SearchOption&lt;/span&gt;.TopDirectoryOnly);&lt;br /&gt;&lt;br /&gt;&lt;span style="color: green"&gt;// define a fstream object so we can read the contents of the file into a byte array&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #2b91af"&gt;FileStream &lt;/span&gt;fstream = &lt;span style="color: #2b91af"&gt;File&lt;/span&gt;.OpenRead(localFile[0]);&lt;br /&gt;&lt;br /&gt;&lt;span style="color: blue"&gt;byte&lt;/span&gt;[] contents = &lt;span style="color: blue"&gt;new byte&lt;/span&gt;[fstream.Length];&lt;br /&gt;fstream.Read(contents, 0, (&lt;span style="color: blue"&gt;int&lt;/span&gt;)fstream.Length);&lt;br /&gt;fstream.Close();&lt;br /&gt;&lt;br /&gt;&lt;span style="color: green"&gt;// get a handle to the master page gallery&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #2b91af"&gt;SPList &lt;/span&gt;styleLibrary = site.OpenWeb().Lists[&lt;span style="color: #a31515"&gt;&amp;quot;Style Library&amp;quot;&lt;/span&gt;];&lt;br /&gt;&lt;br /&gt;&lt;span style="color: green"&gt;// get a handle to the folder we want to upload the file to&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #2b91af"&gt;SPFolder &lt;/span&gt;editingMenuFolder = styleLibrary.RootFolder;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #2b91af"&gt;SPFile &lt;/span&gt;customQuickAccessFile = editingMenuFolder.Files[&lt;span style="color: #a31515"&gt;&amp;quot;MyStyle.css&amp;quot;&lt;/span&gt;];&lt;br /&gt;&lt;br /&gt;&lt;span style="color: green"&gt;// build the destination copy url&lt;br /&gt;&lt;/span&gt;url = site.Url + &lt;span style="color: #a31515"&gt;&amp;quot;/&amp;quot; &lt;/span&gt;+ editingMenuFolder.Url + &lt;span style="color: #a31515"&gt;&amp;quot;/&amp;quot;&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: green"&gt;// check out the file, replace it with the modified one, and check it back in, publish and approve&lt;br /&gt;&lt;/span&gt;customQuickAccessFile.CheckOut();&lt;br /&gt;customQuickAccessFile.CopyTo(url + &lt;span style="color: #a31515"&gt;&amp;quot;MyStyle_Original.css&amp;quot;&lt;/span&gt;, &lt;span style="color: blue"&gt;true&lt;/span&gt;);&lt;br /&gt;&lt;br /&gt;WriteMessageToEventLog(editingMenuFolder.ServerRelativeUrl);&lt;br /&gt;WriteMessageToEventLog(editingMenuFolder.Url);&lt;br /&gt;&lt;br /&gt;&lt;span style="color: green"&gt;// check in new file&lt;br /&gt;&lt;/span&gt;customQuickAccessFile = editingMenuFolder.Files.Add(url + &lt;span style="color: #a31515"&gt;&amp;quot;MyStyle.css&amp;quot;&lt;/span&gt;, contents, &lt;span style="color: blue"&gt;true&lt;/span&gt;);&lt;br /&gt;customQuickAccessFile.CheckIn(&lt;span style="color: #a31515"&gt;&amp;quot;File over-written by activiating the Published Page View Feature&amp;quot;&lt;/span&gt;);&lt;br /&gt;customQuickAccessFile.Publish(&lt;span style="color: #a31515"&gt;&amp;quot;File published by activating the Published Page View Feature&amp;quot;&lt;/span&gt;);&lt;br /&gt;customQuickAccessFile.Approve(&lt;span style="color: #a31515"&gt;&amp;quot;Approved by Published Page View Feature&amp;quot;&lt;/span&gt;);&lt;br /&gt;&lt;br /&gt;site.Close();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="color: blue"&gt;public void &lt;/span&gt;DeleteFile()&lt;br /&gt;{&lt;br /&gt;&lt;span style="color: green"&gt;// create a new site object so that elevation works properly&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #2b91af"&gt;SPSite &lt;/span&gt;site = &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;SPSite&lt;/span&gt;(web.Site.ID);&lt;br /&gt;&lt;br /&gt;&lt;span style="color: green"&gt;// get a handle to the master page gallery&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #2b91af"&gt;SPList &lt;/span&gt;styleLibrary = site.OpenWeb().Lists[&lt;span style="color: #a31515"&gt;&amp;quot;Style Library&amp;quot;&lt;/span&gt;];&lt;br /&gt;&lt;br /&gt;&lt;span style="color: green"&gt;// get a handle to the folder we want to upload the file to&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #2b91af"&gt;SPFolder &lt;/span&gt;editingMenuFolder = styleLibrary.RootFolder;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #2b91af"&gt;SPFile &lt;/span&gt;customQuickAccessFile = editingMenuFolder.Files[&lt;span style="color: #a31515"&gt;&amp;quot;MyStyle_Original.css&amp;quot;&lt;/span&gt;];&lt;br /&gt;&lt;br /&gt;&lt;span style="color: green"&gt;// build the destination copy url&lt;br /&gt;&lt;/span&gt;url = site.Url + &lt;span style="color: #a31515"&gt;&amp;quot;/&amp;quot; &lt;/span&gt;+ editingMenuFolder.Url + &lt;span style="color: #a31515"&gt;&amp;quot;/&amp;quot;&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;customQuickAccessFile.MoveTo(url + &lt;span style="color: #a31515"&gt;&amp;quot;MyStyle.css&amp;quot;&lt;/span&gt;, &lt;span style="color: blue"&gt;true&lt;/span&gt;);&lt;br /&gt;&lt;br /&gt;customQuickAccessFile.Publish(&lt;span style="color: #a31515"&gt;&amp;quot;File published by activating the Published Page View Feature&amp;quot;&lt;/span&gt;);&lt;br /&gt;customQuickAccessFile.Approve(&lt;span style="color: #a31515"&gt;&amp;quot;Approved by Published Page View Feature&amp;quot;&lt;/span&gt;);&lt;br /&gt;&lt;br /&gt;site.Close();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="color: blue"&gt;public override void &lt;/span&gt;FeatureDeactivating(&lt;span style="color: #2b91af"&gt;SPFeatureReceiverProperties &lt;/span&gt;properties) &lt;br /&gt;{&lt;br /&gt;WriteMessageToEventLog(&lt;span style="color: #a31515"&gt;&amp;quot;Deactiviating Feature&amp;quot;&lt;/span&gt;);&lt;br /&gt;&lt;br /&gt;&lt;span style="color: blue"&gt;try&lt;br /&gt;&lt;/span&gt;{&lt;br /&gt;web = ((&lt;span style="color: #2b91af"&gt;SPSite&lt;/span&gt;)properties.Feature.Parent).RootWeb;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: green"&gt;// run with elevated permissions so we can overwrite the file&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #2b91af"&gt;SPSecurity&lt;/span&gt;.RunWithElevatedPrivileges(DeleteFile);&lt;br /&gt;}&lt;br /&gt;&lt;span style="color: blue"&gt;catch &lt;/span&gt;(&lt;span style="color: #2b91af"&gt;Exception &lt;/span&gt;ex)&lt;br /&gt;{&lt;br /&gt;WriteMessageToEventLog(ex.ToString());&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="color: blue"&gt;private void &lt;/span&gt;WriteMessageToEventLog(&lt;span style="color: blue"&gt;string &lt;/span&gt;message)&lt;br /&gt;{&lt;br /&gt;&lt;span style="color: #2b91af"&gt;SPSecurity&lt;/span&gt;.RunWithElevatedPrivileges(&lt;span style="color: blue"&gt;delegate&lt;/span&gt;()&lt;br /&gt;{&lt;br /&gt;&lt;span style="color: #2b91af"&gt;EventLog&lt;/span&gt;.WriteEntry(&lt;span style="color: #a31515"&gt;&amp;quot;Copy Feature Receiver&amp;quot;&lt;/span&gt;, message);&lt;br /&gt;});&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Modify the feature.xml as follows&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="code"&gt;&lt;span style="color: blue"&gt;&amp;lt;?&lt;/span&gt;&lt;span style="color: #a31515"&gt;xml &lt;/span&gt;&lt;span style="color: red"&gt;version&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;1.0&lt;/span&gt;&amp;quot; &lt;span style="color: red"&gt;encoding&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;utf-8&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;?&amp;gt;&lt;br /&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;Feature  &lt;/span&gt;&lt;span style="color: red"&gt;Id&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;20402429-a875-482d-a4c8-e8449f48d04c&lt;/span&gt;&amp;quot;&lt;br /&gt;&lt;span style="color: red"&gt;Title&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;Update Style&lt;/span&gt;&amp;quot;&lt;br /&gt;&lt;span style="color: red"&gt;Description&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;Description for Update Style&lt;/span&gt;&amp;quot;&lt;br /&gt;&lt;span style="color: red"&gt;Version&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;12.0.0.0&lt;/span&gt;&amp;quot;&lt;br /&gt;&lt;span style="color: red"&gt;Hidden&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;FALSE&lt;/span&gt;&amp;quot;&lt;br /&gt;&lt;span style="color: red"&gt;Scope&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;Site&lt;/span&gt;&amp;quot;&lt;br /&gt;&lt;span style="color: red"&gt;DefaultResourceFile&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;core&lt;/span&gt;&amp;quot;&lt;br /&gt;&lt;span style="color: red"&gt;ReceiverAssembly&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;UpdateStyleReceiver, Version=1.0.0.0, Culture=neutral, PublicKeyToken=7701372303d9a778&lt;/span&gt;&amp;quot;&lt;br /&gt;&lt;span style="color: red"&gt;ReceiverClass&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;&lt;span style="color: blue"&gt;UpdateStyleReceiver&lt;/span&gt;.UpdateStyle&lt;/span&gt;&amp;quot;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: red"&gt;xmlns&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;http://schemas.microsoft.com/sharepoint/&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;&amp;gt;&lt;br /&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;ElementManifests&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;br /&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;ElementManifest &lt;/span&gt;&lt;span style="color: red"&gt;Location&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;elements.xml&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;/&amp;gt;&lt;br /&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;ElementFile &lt;/span&gt;&lt;span style="color: red"&gt;Location&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;MyStyle.css&lt;/span&gt;&amp;quot; &lt;span style="color: blue"&gt;/&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: blue"&gt;  &amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;ElementManifests&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;br /&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;Feature&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9164837514531450619-5223840572099014094?l=lamahashim.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lamahashim.blogspot.com/feeds/5223840572099014094/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9164837514531450619&amp;postID=5223840572099014094' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/5223840572099014094'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/5223840572099014094'/><link rel='alternate' type='text/html' href='http://lamahashim.blogspot.com/2010/08/sharepoint-2007-deploying-styles-as.html' title='Sharepoint 2007 Deploying Styles as Feature'/><author><name>A.m.a.L Hashim</name><uri>http://www.blogger.com/profile/04600206670507170118</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_bxrn2DJZgfo/S28F2fGQN9I/AAAAAAAAAPE/b3GLUwQjrFc/S220/Photo341.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/_bxrn2DJZgfo/TGPMJwUCtNI/AAAAAAAAAZ8/5CXuR0nOSyc/s72-c/image_thumb%5B1%5D.png?imgmax=800' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9164837514531450619.post-6506303949101369334</id><published>2010-05-12T23:14:00.001-07:00</published><updated>2010-05-12T23:20:46.802-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dotfuscator'/><title type='text'>Obfuscation with Dotfuscator</title><content type='html'>From &lt;a href="http://en.wikipedia.org/wiki/Obfuscated_code" target="_blank"&gt;wiki&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;Obfuscated code&lt;/b&gt; is &lt;a href="http://en.wikipedia.org/wiki/Source_code"&gt;source&lt;/a&gt; or &lt;a href="http://en.wikipedia.org/wiki/Machine_code"&gt;machine code&lt;/a&gt; that has been made difficult to understand. Programmers may deliberately obfuscate code to conceal its purpose or its logic to prevent tampering, deter reverse engineering or as a &lt;a href="http://en.wikipedia.org/wiki/Puzzle"&gt;puzzle&lt;/a&gt; or recreational challenge for readers. It is a form of &lt;b&gt;&lt;a href="http://en.wikipedia.org/wiki/Security_through_obscurity"&gt;security through obscurity&lt;/a&gt;&lt;/b&gt;. Programs known as &lt;i&gt;obfuscators&lt;/i&gt; transform readable code into obfuscated code using various techniques that might induce anti-debugging, anti-decompilation and anti-disassembly mechanism.&lt;/div&gt;&lt;div align="left"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Managed code compilers (C#, VB.NET, etc) generate IL, not native assembly code. This IL tends to be consistently structured and fairly easy to reverse engineer. Most optimization happens when the IL is JIT-compiled into native code, not during compilation. This means it's pretty easy to take a compiled assembly and de-compile it into source code, using a tool such as &lt;a href="http://www.aisto.com/roeder/dotnet/"&gt;Reflector&lt;/a&gt;. While this is a non-issue for web scenarios where all the code resides on the server, it's a big issue for some client scenarios, especially ISV applications. These client applications may contain trade secrets or sensitive information in their algorithms, data structures, or data. This is where obfuscation tools come in. Visual Studio ships with the community edition of &lt;a href="http://preemptive.com/products/dotfuscator/index.html"&gt;Dotfuscator&lt;/a&gt;, a popular obfuscation package.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;b&gt;&lt;u&gt;How To&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;From Visual Studio 2010 Tools menu, click Dotfuscator Software Services as shown in the figure below.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://lh5.ggpht.com/_bxrn2DJZgfo/S-uYnnKnfMI/AAAAAAAAAYc/JJ55mHXA2ik/s1600-h/image%5B3%5D.png"&gt;&lt;img alt="image" border="0" height="484" src="http://lh6.ggpht.com/_bxrn2DJZgfo/S-uYoo34bXI/AAAAAAAAAYg/EAm4AwFSpKQ/image_thumb%5B1%5D.png?imgmax=800" style="border-width: 0px; display: inline;" title="image" width="389" /&gt;&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;This will start the obfuscation service. Once you start building the application/library the following form will come up.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://lh4.ggpht.com/_bxrn2DJZgfo/S-uYplOO-2I/AAAAAAAAAYk/3TXU006kkY4/s1600-h/image%5B15%5D.png"&gt;&lt;img alt="image" border="0" height="463" src="http://lh4.ggpht.com/_bxrn2DJZgfo/S-uYqVxDu7I/AAAAAAAAAYo/eDa5nZSoEuA/image_thumb%5B7%5D.png?imgmax=800" style="border: 0px none; display: inline;" title="image" width="644" /&gt;&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;Right click Dotfuscator1 tree node and select “Add Assemblies”&lt;br /&gt;&lt;br /&gt;&lt;a href="http://lh4.ggpht.com/_bxrn2DJZgfo/S-uYrUBT6oI/AAAAAAAAAYs/cO12JOOM1_8/s1600-h/image%5B18%5D.png"&gt;&lt;img alt="image" border="0" height="61" src="http://lh3.ggpht.com/_bxrn2DJZgfo/S-uYsKmXiVI/AAAAAAAAAYw/1S68KAeeKsM/image_thumb%5B8%5D.png?imgmax=800" style="border: 0px none; display: inline;" title="image" width="210" /&gt;&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;Browse the assembly you want to obfuscate.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://lh4.ggpht.com/_bxrn2DJZgfo/S-uYs1xJG8I/AAAAAAAAAY0/Aqq-wc92zmQ/s1600-h/image%5B22%5D.png"&gt;&lt;img alt="image" border="0" height="480" src="http://lh3.ggpht.com/_bxrn2DJZgfo/S-uYt1PgAcI/AAAAAAAAAY4/MQlFZpZbu3o/image_thumb%5B10%5D.png?imgmax=800" style="border: 0px none; display: inline;" title="image" width="644" /&gt;&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;Once you have selected the assemblies, build it using the Build Menu. If there is no error, then the new output will be obfuscated.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9164837514531450619-6506303949101369334?l=lamahashim.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lamahashim.blogspot.com/feeds/6506303949101369334/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9164837514531450619&amp;postID=6506303949101369334' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/6506303949101369334'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/6506303949101369334'/><link rel='alternate' type='text/html' href='http://lamahashim.blogspot.com/2010/05/obfuscation-with-dotfuscator.html' title='Obfuscation with Dotfuscator'/><author><name>A.m.a.L Hashim</name><uri>http://www.blogger.com/profile/04600206670507170118</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_bxrn2DJZgfo/S28F2fGQN9I/AAAAAAAAAPE/b3GLUwQjrFc/S220/Photo341.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/_bxrn2DJZgfo/S-uYoo34bXI/AAAAAAAAAYg/EAm4AwFSpKQ/s72-c/image_thumb%5B1%5D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9164837514531450619.post-2021708539973787590</id><published>2010-05-06T04:27:00.000-07:00</published><updated>2010-05-06T04:28:12.387-07:00</updated><title type='text'>Microsoft Dektop Player</title><content type='html'>&lt;object id="silverlightControl" data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="100%" height="100%"&gt;&lt;param name="source" value="http://www.microsoft.com/click/desktopplayer/ClientBin/DesktopPlayer.xap" /&gt;&lt;param name="enableHtmlAccess" value="true" /&gt;&lt;param name="onError" value="onSilverlightError"/&gt;&lt;param name="background" value="#0b1016"/&gt;&lt;param name="minRuntimeVersion"value="3.0.40818.0"/&gt;&lt;param name="autoUpgrade" value="true" /&gt;&lt;param name="initParams" value="IPAddress=1.1 BLRSNRFWL01"/&gt;&lt;div id="slTeaser"&gt;&lt;div id="teaserText"&gt;&lt;p id="slTxtHeader"&gt;This site has been built with Microsoft Silverlight. Microsoft Silverlight delivers a new generation of high-quality audio and video, engaging media experiences, and interactive applications for the Web.&lt;/p&gt;&lt;p id="slTxtClick"&gt;&lt;a href="http://go.microsoft.com/fwlink/?LinkID=149156&amp;v=3.0.40818.0"&gt;Click to install now!&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p id="slTxtSmall"&gt;By clicking "Click to install now!" you accept the &lt;a href="http://www.microsoft.com/silverlight/get-started/install/license.aspx" style="text-decoration: underline" target="_blank"&gt;Silverlight License Agreement.&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9164837514531450619-2021708539973787590?l=lamahashim.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lamahashim.blogspot.com/feeds/2021708539973787590/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9164837514531450619&amp;postID=2021708539973787590' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/2021708539973787590'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/2021708539973787590'/><link rel='alternate' type='text/html' href='http://lamahashim.blogspot.com/2010/05/microsoft-dektop-player.html' title='Microsoft Dektop Player'/><author><name>A.m.a.L Hashim</name><uri>http://www.blogger.com/profile/04600206670507170118</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_bxrn2DJZgfo/S28F2fGQN9I/AAAAAAAAAPE/b3GLUwQjrFc/S220/Photo341.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9164837514531450619.post-924270459403513402</id><published>2010-05-06T04:23:00.001-07:00</published><updated>2010-05-06T04:23:42.343-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Announcement'/><category scheme='http://www.blogger.com/atom/ns#' term='IE 9'/><title type='text'>Internet Explorer 9: Test Drive</title><content type='html'>&lt;p align="justify"&gt;Microsoft has released the second platform preview edition of their upcoming web browser edition Internet Explorer 9. The second release is pretty much similar to the first one with no major changes in user interface. All the updates are in the engine powering the browser. Microsoft stated that they are working on improving the performance of various engines powering the browser (JavaScript and so on). &lt;/p&gt;  &lt;p align="justify"&gt;&lt;a title="http://ie.microsoft.com/testdrive/" href="http://ie.microsoft.com/testdrive/"&gt;http://ie.microsoft.com/testdrive/&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9164837514531450619-924270459403513402?l=lamahashim.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lamahashim.blogspot.com/feeds/924270459403513402/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9164837514531450619&amp;postID=924270459403513402' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/924270459403513402'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/924270459403513402'/><link rel='alternate' type='text/html' href='http://lamahashim.blogspot.com/2010/05/internet-explorer-9-test-drive.html' title='Internet Explorer 9: Test Drive'/><author><name>A.m.a.L Hashim</name><uri>http://www.blogger.com/profile/04600206670507170118</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_bxrn2DJZgfo/S28F2fGQN9I/AAAAAAAAAPE/b3GLUwQjrFc/S220/Photo341.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9164837514531450619.post-7297147496153247505</id><published>2010-04-14T22:10:00.000-07:00</published><updated>2010-04-14T22:10:01.626-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MVP'/><category scheme='http://www.blogger.com/atom/ns#' term='Announcement'/><title type='text'>Let's become an MVP</title><content type='html'>Here is your chance to prove the world how worthy you are. Lets showcase the efforts you have put to help communities.&lt;br /&gt;&lt;br /&gt;&lt;a href="https://profile.microsoft.com/RegSysProfileCenter/wizard.aspx?wizid=b8b0dc5c-37e3-48e3-af75-e509830c8163&amp;lcid=1033"&gt;&lt;img src="http://img151.imageshack.us/img151/2098/69432785.png"/&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9164837514531450619-7297147496153247505?l=lamahashim.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lamahashim.blogspot.com/feeds/7297147496153247505/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9164837514531450619&amp;postID=7297147496153247505' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/7297147496153247505'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/7297147496153247505'/><link rel='alternate' type='text/html' href='http://lamahashim.blogspot.com/2010/04/lets-become-mvp.html' title='Let&apos;s become an MVP'/><author><name>A.m.a.L Hashim</name><uri>http://www.blogger.com/profile/04600206670507170118</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_bxrn2DJZgfo/S28F2fGQN9I/AAAAAAAAAPE/b3GLUwQjrFc/S220/Photo341.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9164837514531450619.post-2633196231405960206</id><published>2010-04-11T01:34:00.001-07:00</published><updated>2010-04-20T19:30:46.486-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='LINQ'/><category scheme='http://www.blogger.com/atom/ns#' term='Performance'/><title type='text'>LINQ Performance Benchmark</title><content type='html'>&lt;p&gt;Yesterday I was reading “LINQ To Objects Using C# 4.0” by Troy Magennis and find a good LINQ usage example. I got curious about how the LINQ implementation will perform and thought of writing this article.&lt;/p&gt;&lt;p&gt;The example is related to an entity having 3 fields State, LastName and FirstName. The aim is to Group the objects by state and sort by LastName. For calculating the execution time I am using Stopwatch class in System.Diagnosis namespace.&lt;/p&gt;&lt;pre class="code"&gt;&lt;span style="color: blue"&gt;using &lt;/span&gt;System;&lt;br /&gt;&lt;span style="color: blue"&gt;using &lt;/span&gt;System.Collections.Generic;&lt;br /&gt;&lt;span style="color: blue"&gt;using &lt;/span&gt;System.Diagnostics;&lt;br /&gt;&lt;span style="color: blue"&gt;using &lt;/span&gt;System.Linq;&lt;br /&gt;&lt;span style="color: blue"&gt;using &lt;/span&gt;System.IO;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: blue"&gt;namespace &lt;/span&gt;ConsoleApplication2&lt;br /&gt;{&lt;br /&gt;&lt;span style="color: blue"&gt;public class &lt;/span&gt;&lt;span style="color: #2b91af"&gt;Customer&lt;br /&gt;&lt;/span&gt;{&lt;br /&gt;&lt;span style="color: blue"&gt;public string &lt;/span&gt;State { &lt;span style="color: blue"&gt;get&lt;/span&gt;; &lt;span style="color: blue"&gt;set&lt;/span&gt;; }&lt;br /&gt;&lt;span style="color: blue"&gt;public string &lt;/span&gt;LastName { &lt;span style="color: blue"&gt;get&lt;/span&gt;; &lt;span style="color: blue"&gt;set&lt;/span&gt;; }&lt;br /&gt;&lt;span style="color: blue"&gt;public string &lt;/span&gt;FirstName { &lt;span style="color: blue"&gt;get&lt;/span&gt;; &lt;span style="color: blue"&gt;set&lt;/span&gt;; }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="color: blue"&gt;class &lt;/span&gt;&lt;span style="color: #2b91af"&gt;Program&lt;br /&gt;&lt;/span&gt;{&lt;br /&gt;&lt;span style="color: blue"&gt;static void &lt;/span&gt;Main(&lt;span style="color: blue"&gt;string&lt;/span&gt;[] args)&lt;br /&gt;{&lt;br /&gt;&lt;span style="color: #2b91af"&gt;List&lt;/span&gt;&amp;lt;&lt;span style="color: #2b91af"&gt;Customer&lt;/span&gt;&amp;gt; custList = FillListAndGetList();&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #2b91af"&gt;Stopwatch &lt;/span&gt;sw = &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;Stopwatch&lt;/span&gt;();&lt;br /&gt;sw.Start();&lt;br /&gt;&lt;span style="color: blue"&gt;#region &lt;/span&gt;C# 2.0 Approach&lt;br /&gt;&lt;br /&gt;&lt;span style="color: gray"&gt;///&lt;/span&gt;&lt;span style="color: green"&gt;Sorting by LastName&lt;br /&gt;&lt;/span&gt;custList.Sort(&lt;br /&gt;&lt;span style="color: blue"&gt;delegate&lt;/span&gt;(&lt;span style="color: #2b91af"&gt;Customer &lt;/span&gt;c1, &lt;span style="color: #2b91af"&gt;Customer &lt;/span&gt;c2)&lt;br /&gt;{&lt;br /&gt;&lt;span style="color: blue"&gt;if &lt;/span&gt;(c1 != &lt;span style="color: blue"&gt;null &lt;/span&gt;&amp;amp;&amp;amp; c2 != &lt;span style="color: blue"&gt;null&lt;/span&gt;)&lt;br /&gt;&lt;span style="color: blue"&gt;return string&lt;/span&gt;.Compare(c1.LastName, c2.FirstName);&lt;br /&gt;&lt;span style="color: blue"&gt;return &lt;/span&gt;0;&lt;br /&gt;});&lt;br /&gt;&lt;br /&gt;&lt;span style="color: gray"&gt;///&lt;/span&gt;&lt;span style="color: green"&gt;Sort and Groupby State [SortedDictionary]&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #2b91af"&gt;SortedDictionary&lt;/span&gt;&amp;lt;&lt;span style="color: blue"&gt;string&lt;/span&gt;, &lt;span style="color: #2b91af"&gt;List&lt;/span&gt;&amp;lt;&lt;span style="color: #2b91af"&gt;Customer&lt;/span&gt;&amp;gt;&amp;gt;&lt;br /&gt;sortedCust = &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;SortedDictionary&lt;/span&gt;&amp;lt;&lt;span style="color: blue"&gt;string&lt;/span&gt;, &lt;span style="color: #2b91af"&gt;List&lt;/span&gt;&amp;lt;&lt;span style="color: #2b91af"&gt;Customer&lt;/span&gt;&amp;gt;&amp;gt;();&lt;br /&gt;&lt;br /&gt;&lt;span style="color: blue"&gt;foreach &lt;/span&gt;(&lt;span style="color: #2b91af"&gt;Customer &lt;/span&gt;c &lt;span style="color: blue"&gt;in &lt;/span&gt;custList)&lt;br /&gt;{&lt;br /&gt;&lt;span style="color: blue"&gt;if &lt;/span&gt;(!sortedCust.ContainsKey(c.State))&lt;br /&gt;sortedCust.Add(c.State, &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;List&lt;/span&gt;&amp;lt;&lt;span style="color: #2b91af"&gt;Customer&lt;/span&gt;&amp;gt;());&lt;br /&gt;&lt;br /&gt;sortedCust[c.State].Add(c);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="color: blue"&gt;foreach &lt;/span&gt;(&lt;span style="color: #2b91af"&gt;KeyValuePair&lt;/span&gt;&amp;lt;&lt;span style="color: blue"&gt;string&lt;/span&gt;, &lt;span style="color: #2b91af"&gt;List&lt;/span&gt;&amp;lt;&lt;span style="color: #2b91af"&gt;Customer&lt;/span&gt;&amp;gt;&amp;gt;&lt;br /&gt;pair &lt;span style="color: blue"&gt;in &lt;/span&gt;sortedCust)&lt;br /&gt;{&lt;br /&gt;&lt;span style="color: #2b91af"&gt;Console&lt;/span&gt;.WriteLine(&lt;span style="color: #a31515"&gt;&amp;quot;State : &amp;quot; &lt;/span&gt;+ pair.Key);&lt;br /&gt;&lt;br /&gt;&lt;span style="color: blue"&gt;foreach &lt;/span&gt;(&lt;span style="color: #2b91af"&gt;Customer &lt;/span&gt;c &lt;span style="color: blue"&gt;in &lt;/span&gt;pair.Value)&lt;br /&gt;&lt;span style="color: #2b91af"&gt;Console&lt;/span&gt;.WriteLine(&lt;span style="color: #a31515"&gt;&amp;quot;Last Name : {0}&amp;quot; &lt;/span&gt;+&lt;br /&gt;&lt;span style="color: #a31515"&gt;&amp;quot;FirstName : {1} &amp;quot;&lt;/span&gt;, c.LastName,&lt;br /&gt;c.FirstName);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="color: blue"&gt;#endregion&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;sw.Stop();&lt;br /&gt;&lt;span style="color: #2b91af"&gt;File&lt;/span&gt;.WriteAllLines(&lt;span style="color: #a31515"&gt;&amp;quot;C20&amp;quot;&lt;/span&gt;, &lt;span style="color: blue"&gt;new string&lt;/span&gt;[] { sw.ElapsedTicks.ToString() });&lt;br /&gt;&lt;br /&gt;custList = FillListAndGetList();&lt;br /&gt;sw.Reset();&lt;br /&gt;sw.Start();&lt;br /&gt;&lt;br /&gt;&lt;span style="color: blue"&gt;#region &lt;/span&gt;LINQ Approach&lt;br /&gt;&lt;br /&gt;&lt;span style="color: blue"&gt;var &lt;/span&gt;query = &lt;span style="color: blue"&gt;from &lt;/span&gt;c &lt;span style="color: blue"&gt;in &lt;/span&gt;custList&lt;br /&gt;&lt;span style="color: blue"&gt;orderby &lt;/span&gt;c.State, c.LastName&lt;br /&gt;&lt;span style="color: blue"&gt;group &lt;/span&gt;c &lt;span style="color: blue"&gt;by &lt;/span&gt;c.State;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: blue"&gt;foreach &lt;/span&gt;(&lt;span style="color: blue"&gt;var &lt;/span&gt;group &lt;span style="color: blue"&gt;in &lt;/span&gt;query)&lt;br /&gt;{&lt;br /&gt;&lt;span style="color: #2b91af"&gt;Console&lt;/span&gt;.WriteLine(&lt;span style="color: #a31515"&gt;&amp;quot;State : &amp;quot; &lt;/span&gt;+ group.Key);&lt;br /&gt;&lt;br /&gt;&lt;span style="color: blue"&gt;foreach &lt;/span&gt;(&lt;span style="color: #2b91af"&gt;Customer &lt;/span&gt;c &lt;span style="color: blue"&gt;in &lt;/span&gt;group)&lt;br /&gt;&lt;span style="color: #2b91af"&gt;Console&lt;/span&gt;.WriteLine(&lt;span style="color: #a31515"&gt;&amp;quot;Last Name : {0}&amp;quot; &lt;/span&gt;+&lt;br /&gt;&lt;span style="color: #a31515"&gt;&amp;quot;FirstName : {1} &amp;quot;&lt;/span&gt;, c.LastName,&lt;br /&gt;c.FirstName);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="color: blue"&gt;#endregion&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;sw.Stop();&lt;br /&gt;&lt;span style="color: #2b91af"&gt;File&lt;/span&gt;.WriteAllLines(&lt;span style="color: #a31515"&gt;&amp;quot;C20&amp;quot;&lt;/span&gt;, &lt;span style="color: blue"&gt;new string&lt;/span&gt;[] { sw.ElapsedTicks.ToString() });&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="color: blue"&gt;private static &lt;/span&gt;&lt;span style="color: #2b91af"&gt;List&lt;/span&gt;&amp;lt;&lt;span style="color: #2b91af"&gt;Customer&lt;/span&gt;&amp;gt; FillListAndGetList()&lt;br /&gt;{&lt;br /&gt;&lt;span style="color: #2b91af"&gt;List&lt;/span&gt;&amp;lt;&lt;span style="color: #2b91af"&gt;Customer&lt;/span&gt;&amp;gt; custList = &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;List&lt;/span&gt;&amp;lt;&lt;span style="color: #2b91af"&gt;Customer&lt;/span&gt;&amp;gt;();&lt;br /&gt;&lt;span style="color: blue"&gt;for &lt;/span&gt;(&lt;span style="color: blue"&gt;int &lt;/span&gt;i = 0; i &amp;lt; 1000000; i++)&lt;br /&gt;{&lt;br /&gt;&lt;span style="color: #2b91af"&gt;Customer &lt;/span&gt;c = &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;Customer&lt;/span&gt;();&lt;br /&gt;&lt;span style="color: blue"&gt;if &lt;/span&gt;(i % 2 == 0)&lt;br /&gt;{&lt;br /&gt;c.State = &lt;span style="color: #a31515"&gt;&amp;quot;State2&amp;quot;&lt;/span&gt;;&lt;br /&gt;c. FirstName = &lt;span style="color: #a31515"&gt;&amp;quot;FirstName2&amp;quot; &lt;/span&gt;+ i.ToString();&lt;br /&gt;c.LastName = &lt;span style="color: #a31515"&gt;&amp;quot;LastName2&amp;quot; &lt;/span&gt;+ i.ToString();&lt;br /&gt;}&lt;br /&gt;&lt;span style="color: blue"&gt;else if &lt;/span&gt;(i % 3 == 0)&lt;br /&gt;{&lt;br /&gt;c.State = &lt;span style="color: #a31515"&gt;&amp;quot;State3&amp;quot;&lt;/span&gt;;&lt;br /&gt;c.FirstName = &lt;span style="color: #a31515"&gt;&amp;quot;FirstName3&amp;quot; &lt;/span&gt;+ i.ToString();&lt;br /&gt;c.LastName = &lt;span style="color: #a31515"&gt;&amp;quot;LastName3&amp;quot; &lt;/span&gt;+ i.ToString();&lt;br /&gt;}&lt;br /&gt;&lt;span style="color: blue"&gt;else if&lt;/span&gt;(i % 7 == 0)&lt;br /&gt;{&lt;br /&gt;c.State = &lt;span style="color: #a31515"&gt;&amp;quot;State7&amp;quot;&lt;/span&gt;;&lt;br /&gt;c.FirstName = &lt;span style="color: #a31515"&gt;&amp;quot;FirstName7&amp;quot; &lt;/span&gt;+ i.ToString();&lt;br /&gt;c.LastName = &lt;span style="color: #a31515"&gt;&amp;quot;LastName7&amp;quot; &lt;/span&gt;+ i.ToString();&lt;br /&gt;}&lt;br /&gt;&lt;span style="color: blue"&gt;else if &lt;/span&gt;(i % 11 == 0)&lt;br /&gt;{&lt;br /&gt;c.State = &lt;span style="color: #a31515"&gt;&amp;quot;State11&amp;quot;&lt;/span&gt;;&lt;br /&gt;c.FirstName = &lt;span style="color: #a31515"&gt;&amp;quot;FirstName11&amp;quot; &lt;/span&gt;+ i.ToString();&lt;br /&gt;c.LastName = &lt;span style="color: #a31515"&gt;&amp;quot;LastName11&amp;quot; &lt;/span&gt;+ i.ToString();&lt;br /&gt;}&lt;br /&gt;&lt;span style="color: blue"&gt;else&lt;br /&gt;&lt;/span&gt;{&lt;br /&gt;c.State = &lt;span style="color: #a31515"&gt;&amp;quot;OtherState&amp;quot;&lt;/span&gt;;&lt;br /&gt;c.FirstName = &lt;span style="color: #a31515"&gt;&amp;quot;FirstName&amp;quot; &lt;/span&gt;+ i.ToString();&lt;br /&gt;c.LastName = &lt;span style="color: #a31515"&gt;&amp;quot;LastName&amp;quot; &lt;/span&gt;+ i.ToString();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;custList.Add(c);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="color: blue"&gt;return &lt;/span&gt;custList;&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;Once I ran the application, I got the following result.&lt;br /&gt;&lt;b&gt;C# 2.0 version : 627373008&lt;/b&gt;&lt;br /&gt;&lt;b&gt;LINQ version : 692116906&lt;/b&gt;&lt;br /&gt;LINQ version has a slight performance problem, but compared to the chunk of code that has gone in 2.0 I think LINQ is far better.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9164837514531450619-2633196231405960206?l=lamahashim.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lamahashim.blogspot.com/feeds/2633196231405960206/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9164837514531450619&amp;postID=2633196231405960206' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/2633196231405960206'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/2633196231405960206'/><link rel='alternate' type='text/html' href='http://lamahashim.blogspot.com/2010/04/linq-performance-benchmark.html' title='LINQ Performance Benchmark'/><author><name>A.m.a.L Hashim</name><uri>http://www.blogger.com/profile/04600206670507170118</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_bxrn2DJZgfo/S28F2fGQN9I/AAAAAAAAAPE/b3GLUwQjrFc/S220/Photo341.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9164837514531450619.post-8813968097555203794</id><published>2010-04-06T07:03:00.001-07:00</published><updated>2010-04-06T07:03:51.576-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SqlDataReader'/><category scheme='http://www.blogger.com/atom/ns#' term='Insert'/><category scheme='http://www.blogger.com/atom/ns#' term='SqlConnection'/><category scheme='http://www.blogger.com/atom/ns#' term='SqlCommand'/><category scheme='http://www.blogger.com/atom/ns#' term='ConnectionString'/><category scheme='http://www.blogger.com/atom/ns#' term='Delete'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='Update'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><category scheme='http://www.blogger.com/atom/ns#' term='Read'/><title type='text'>C# – Read, Insert, Update, Delete From SQL Database</title><content type='html'>&lt;p&gt;Code snippets for reading, inserting, updating and deleting from SQL database.&lt;/p&gt;  &lt;pre class="code"&gt;&lt;span style="color: blue"&gt;static void &lt;/span&gt;Read()&lt;br /&gt;{&lt;br /&gt;    &lt;span style="color: blue"&gt;try&lt;br /&gt;    &lt;/span&gt;{&lt;br /&gt;        &lt;span style="color: blue"&gt;string &lt;/span&gt;connectionString =&lt;br /&gt;            &lt;span style="color: #a31515"&gt;&amp;quot;server=.;&amp;quot; &lt;/span&gt;+&lt;br /&gt;            &lt;span style="color: #a31515"&gt;&amp;quot;initial catalog=employee;&amp;quot; &lt;/span&gt;+&lt;br /&gt;            &lt;span style="color: #a31515"&gt;&amp;quot;user id=sa;&amp;quot; &lt;/span&gt;+&lt;br /&gt;            &lt;span style="color: #a31515"&gt;&amp;quot;password=sa123&amp;quot;&lt;/span&gt;;&lt;br /&gt;        &lt;span style="color: blue"&gt;using &lt;/span&gt;(&lt;span style="color: #2b91af"&gt;SqlConnection &lt;/span&gt;conn =&lt;br /&gt;            &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;SqlConnection&lt;/span&gt;(connectionString))&lt;br /&gt;        {&lt;br /&gt;            conn.Open();&lt;br /&gt;            &lt;span style="color: blue"&gt;using &lt;/span&gt;(&lt;span style="color: #2b91af"&gt;SqlCommand &lt;/span&gt;cmd =&lt;br /&gt;                &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;SqlCommand&lt;/span&gt;(&lt;span style="color: #a31515"&gt;&amp;quot;SELECT * FROM EmployeeDetails&amp;quot;&lt;/span&gt;, conn))&lt;br /&gt;            {&lt;br /&gt;                &lt;span style="color: #2b91af"&gt;SqlDataReader &lt;/span&gt;reader = cmd.ExecuteReader();&lt;br /&gt;&lt;br /&gt;                &lt;span style="color: blue"&gt;if &lt;/span&gt;(reader.HasRows)&lt;br /&gt;                {&lt;br /&gt;                    &lt;span style="color: blue"&gt;while &lt;/span&gt;(reader.Read())&lt;br /&gt;                    {&lt;br /&gt;                        &lt;span style="color: #2b91af"&gt;Console&lt;/span&gt;.WriteLine(&lt;span style="color: #a31515"&gt;&amp;quot;Id = &amp;quot;&lt;/span&gt;, reader[&lt;span style="color: #a31515"&gt;&amp;quot;Id&amp;quot;&lt;/span&gt;]);&lt;br /&gt;                        &lt;span style="color: #2b91af"&gt;Console&lt;/span&gt;.WriteLine(&lt;span style="color: #a31515"&gt;&amp;quot;Name = &amp;quot;&lt;/span&gt;, reader[&lt;span style="color: #a31515"&gt;&amp;quot;Name&amp;quot;&lt;/span&gt;]);&lt;br /&gt;                        &lt;span style="color: #2b91af"&gt;Console&lt;/span&gt;.WriteLine(&lt;span style="color: #a31515"&gt;&amp;quot;Address = &amp;quot;&lt;/span&gt;, reader[&lt;span style="color: #a31515"&gt;&amp;quot;Address&amp;quot;&lt;/span&gt;]);&lt;br /&gt;                    }&lt;br /&gt;                }&lt;br /&gt;&lt;br /&gt;                reader.Close();&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;    &lt;span style="color: blue"&gt;catch &lt;/span&gt;(&lt;span style="color: #2b91af"&gt;SqlException &lt;/span&gt;ex)&lt;br /&gt;    {&lt;br /&gt;        &lt;span style="color: green"&gt;//Log exception&lt;br /&gt;        //Display Error message&lt;br /&gt;    &lt;/span&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="color: blue"&gt;static void &lt;/span&gt;Insert()&lt;br /&gt;{&lt;br /&gt;    &lt;span style="color: blue"&gt;try&lt;br /&gt;    &lt;/span&gt;{&lt;br /&gt;        &lt;span style="color: blue"&gt;string &lt;/span&gt;connectionString =&lt;br /&gt;            &lt;span style="color: #a31515"&gt;&amp;quot;server=.;&amp;quot; &lt;/span&gt;+&lt;br /&gt;            &lt;span style="color: #a31515"&gt;&amp;quot;initial catalog=employee;&amp;quot; &lt;/span&gt;+&lt;br /&gt;            &lt;span style="color: #a31515"&gt;&amp;quot;user id=sa;&amp;quot; &lt;/span&gt;+&lt;br /&gt;            &lt;span style="color: #a31515"&gt;&amp;quot;password=sa123&amp;quot;&lt;/span&gt;;&lt;br /&gt;        &lt;span style="color: blue"&gt;using &lt;/span&gt;(&lt;span style="color: #2b91af"&gt;SqlConnection &lt;/span&gt;conn =&lt;br /&gt;            &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;SqlConnection&lt;/span&gt;(connectionString))&lt;br /&gt;        {&lt;br /&gt;            conn.Open();&lt;br /&gt;            &lt;span style="color: blue"&gt;using &lt;/span&gt;(&lt;span style="color: #2b91af"&gt;SqlCommand &lt;/span&gt;cmd =&lt;br /&gt;                &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;SqlCommand&lt;/span&gt;(&lt;span style="color: #a31515"&gt;&amp;quot;INSERT INTO EmployeeDetails VALUES(&amp;quot; &lt;/span&gt;+&lt;br /&gt;                    &lt;span style="color: #a31515"&gt;&amp;quot;@Id, @Name, @Address)&amp;quot;&lt;/span&gt;, conn))&lt;br /&gt;            {&lt;br /&gt;                cmd.Parameters.AddWithValue(&lt;span style="color: #a31515"&gt;&amp;quot;@Id&amp;quot;&lt;/span&gt;, 1);&lt;br /&gt;                cmd.Parameters.AddWithValue(&lt;span style="color: #a31515"&gt;&amp;quot;@Name&amp;quot;&lt;/span&gt;, &lt;span style="color: #a31515"&gt;&amp;quot;Amal Hashim&amp;quot;&lt;/span&gt;);&lt;br /&gt;                cmd.Parameters.AddWithValue(&lt;span style="color: #a31515"&gt;&amp;quot;@Address&amp;quot;&lt;/span&gt;, &lt;span style="color: #a31515"&gt;&amp;quot;Bangalore&amp;quot;&lt;/span&gt;);&lt;br /&gt;&lt;br /&gt;                &lt;span style="color: blue"&gt;int &lt;/span&gt;rows = cmd.ExecuteNonQuery();&lt;br /&gt;&lt;br /&gt;                &lt;span style="color: green"&gt;//rows number of record got inserted&lt;br /&gt;            &lt;/span&gt;}&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;    &lt;span style="color: blue"&gt;catch &lt;/span&gt;(&lt;span style="color: #2b91af"&gt;SqlException &lt;/span&gt;ex)&lt;br /&gt;    {&lt;br /&gt;        &lt;span style="color: green"&gt;//Log exception&lt;br /&gt;        //Display Error message&lt;br /&gt;    &lt;/span&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="color: blue"&gt;static void &lt;/span&gt;Update()&lt;br /&gt;{&lt;br /&gt;    &lt;span style="color: blue"&gt;try&lt;br /&gt;    &lt;/span&gt;{&lt;br /&gt;        &lt;span style="color: blue"&gt;string &lt;/span&gt;connectionString =&lt;br /&gt;            &lt;span style="color: #a31515"&gt;&amp;quot;server=.;&amp;quot; &lt;/span&gt;+&lt;br /&gt;            &lt;span style="color: #a31515"&gt;&amp;quot;initial catalog=employee;&amp;quot; &lt;/span&gt;+&lt;br /&gt;            &lt;span style="color: #a31515"&gt;&amp;quot;user id=sa;&amp;quot; &lt;/span&gt;+&lt;br /&gt;            &lt;span style="color: #a31515"&gt;&amp;quot;password=sa123&amp;quot;&lt;/span&gt;;&lt;br /&gt;        &lt;span style="color: blue"&gt;using &lt;/span&gt;(&lt;span style="color: #2b91af"&gt;SqlConnection &lt;/span&gt;conn =&lt;br /&gt;            &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;SqlConnection&lt;/span&gt;(connectionString))&lt;br /&gt;        {&lt;br /&gt;            conn.Open();&lt;br /&gt;            &lt;span style="color: blue"&gt;using &lt;/span&gt;(&lt;span style="color: #2b91af"&gt;SqlCommand &lt;/span&gt;cmd =&lt;br /&gt;                &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;SqlCommand&lt;/span&gt;(&lt;span style="color: #a31515"&gt;&amp;quot;UPDATE EmployeeDetails SET Name=@NewName, Address=@NewAddress&amp;quot; &lt;/span&gt;+&lt;br /&gt;                    &lt;span style="color: #a31515"&gt;&amp;quot; WHERE Id=@Id&amp;quot;&lt;/span&gt;, conn))&lt;br /&gt;            {&lt;br /&gt;                cmd.Parameters.AddWithValue(&lt;span style="color: #a31515"&gt;&amp;quot;@Id&amp;quot;&lt;/span&gt;, 1);&lt;br /&gt;                cmd.Parameters.AddWithValue(&lt;span style="color: #a31515"&gt;&amp;quot;@Name&amp;quot;&lt;/span&gt;, &lt;span style="color: #a31515"&gt;&amp;quot;Munna Hussain&amp;quot;&lt;/span&gt;);&lt;br /&gt;                cmd.Parameters.AddWithValue(&lt;span style="color: #a31515"&gt;&amp;quot;@Address&amp;quot;&lt;/span&gt;, &lt;span style="color: #a31515"&gt;&amp;quot;Kerala&amp;quot;&lt;/span&gt;);&lt;br /&gt;&lt;br /&gt;                &lt;span style="color: blue"&gt;int &lt;/span&gt;rows = cmd.ExecuteNonQuery();&lt;br /&gt;&lt;br /&gt;                &lt;span style="color: green"&gt;//rows number of record got updated&lt;br /&gt;            &lt;/span&gt;}&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;    &lt;span style="color: blue"&gt;catch &lt;/span&gt;(&lt;span style="color: #2b91af"&gt;SqlException &lt;/span&gt;ex)&lt;br /&gt;    {&lt;br /&gt;        &lt;span style="color: green"&gt;//Log exception&lt;br /&gt;        //Display Error message&lt;br /&gt;    &lt;/span&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="color: blue"&gt;static void &lt;/span&gt;Delete()&lt;br /&gt;{&lt;br /&gt;    &lt;span style="color: blue"&gt;try&lt;br /&gt;    &lt;/span&gt;{&lt;br /&gt;        &lt;span style="color: blue"&gt;string &lt;/span&gt;connectionString =&lt;br /&gt;            &lt;span style="color: #a31515"&gt;&amp;quot;server=.;&amp;quot; &lt;/span&gt;+&lt;br /&gt;            &lt;span style="color: #a31515"&gt;&amp;quot;initial catalog=employee;&amp;quot; &lt;/span&gt;+&lt;br /&gt;            &lt;span style="color: #a31515"&gt;&amp;quot;user id=sa;&amp;quot; &lt;/span&gt;+&lt;br /&gt;            &lt;span style="color: #a31515"&gt;&amp;quot;password=sa123&amp;quot;&lt;/span&gt;;&lt;br /&gt;        &lt;span style="color: blue"&gt;using &lt;/span&gt;(&lt;span style="color: #2b91af"&gt;SqlConnection &lt;/span&gt;conn =&lt;br /&gt;            &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;SqlConnection&lt;/span&gt;(connectionString))&lt;br /&gt;        {&lt;br /&gt;            conn.Open();&lt;br /&gt;            &lt;span style="color: blue"&gt;using &lt;/span&gt;(&lt;span style="color: #2b91af"&gt;SqlCommand &lt;/span&gt;cmd =&lt;br /&gt;                &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;SqlCommand&lt;/span&gt;(&lt;span style="color: #a31515"&gt;&amp;quot;DELETE FROM EmployeeDetails &amp;quot; &lt;/span&gt;+&lt;br /&gt;                    &lt;span style="color: #a31515"&gt;&amp;quot;WHERE Id=@Id&amp;quot;&lt;/span&gt;, conn))&lt;br /&gt;            {&lt;br /&gt;                cmd.Parameters.AddWithValue(&lt;span style="color: #a31515"&gt;&amp;quot;@Id&amp;quot;&lt;/span&gt;, 1);&lt;br /&gt;                &lt;br /&gt;                &lt;span style="color: blue"&gt;int &lt;/span&gt;rows = cmd.ExecuteNonQuery();&lt;br /&gt;&lt;br /&gt;                &lt;span style="color: green"&gt;//rows number of record got deleted&lt;br /&gt;            &lt;/span&gt;}&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;    &lt;span style="color: blue"&gt;catch &lt;/span&gt;(&lt;span style="color: #2b91af"&gt;SqlException &lt;/span&gt;ex)&lt;br /&gt;    {&lt;br /&gt;        &lt;span style="color: green"&gt;//Log exception&lt;br /&gt;        //Display Error message&lt;br /&gt;    &lt;/span&gt;}&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9164837514531450619-8813968097555203794?l=lamahashim.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lamahashim.blogspot.com/feeds/8813968097555203794/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9164837514531450619&amp;postID=8813968097555203794' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/8813968097555203794'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/8813968097555203794'/><link rel='alternate' type='text/html' href='http://lamahashim.blogspot.com/2010/04/c-read-insert-update-delete-from-sql.html' title='C# – Read, Insert, Update, Delete From SQL Database'/><author><name>A.m.a.L Hashim</name><uri>http://www.blogger.com/profile/04600206670507170118</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_bxrn2DJZgfo/S28F2fGQN9I/AAAAAAAAAPE/b3GLUwQjrFc/S220/Photo341.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9164837514531450619.post-4756965928286798073</id><published>2010-04-04T11:05:00.001-07:00</published><updated>2010-04-04T11:07:53.866-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='DAL'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><category scheme='http://www.blogger.com/atom/ns#' term='3 Tier'/><title type='text'>C# | 3 Tier Architecture</title><content type='html'>&lt;p&gt;In this article I am going to explain how easily we can build up a 3 layered application using .net framework and c#. I have an Employee database. For demonstration I have cut the scope by talking only to one table, EmployeeDetails.&lt;/p&gt;  &lt;p&gt;In 3 tier, we are dealing with &lt;/p&gt; &lt;p&gt;1. Data Access Layer&lt;/p&gt; &lt;p&gt;2. Business Layer&lt;/p&gt; &lt;p&gt;3. Presentation Layer&lt;/p&gt; Here is the code of my Data Access Layer &lt;pre class="code"&gt;&lt;span style="color: blue"&gt;static class &lt;/span&gt;&lt;span style="color: #2b91af"&gt;DAL&lt;br /&gt;&lt;/span&gt;{&lt;br /&gt;    &lt;span style="color: blue"&gt;const string &lt;/span&gt;ConnectionString = &lt;span style="color: #a31515"&gt;&amp;quot;server=.;initial catalog=Employee;user id=sa;password=sa123&amp;quot;&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;    &lt;span style="color: blue"&gt;public static int &lt;/span&gt;ExecuteNonQuery(&lt;span style="color: blue"&gt;string &lt;/span&gt;commandText, &lt;span style="color: #2b91af"&gt;SqlParameter&lt;/span&gt;[] parameters)&lt;br /&gt;    {&lt;br /&gt;        &lt;span style="color: blue"&gt;try&lt;br /&gt;        &lt;/span&gt;{&lt;br /&gt;            &lt;span style="color: blue"&gt;using &lt;/span&gt;(&lt;span style="color: #2b91af"&gt;SqlConnection &lt;/span&gt;conn = &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;SqlConnection&lt;/span&gt;(ConnectionString))&lt;br /&gt;            {&lt;br /&gt;                conn.Open();&lt;br /&gt;                &lt;span style="color: blue"&gt;using &lt;/span&gt;(&lt;span style="color: #2b91af"&gt;SqlCommand &lt;/span&gt;cmd = &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;SqlCommand&lt;/span&gt;(commandText, conn))&lt;br /&gt;                {&lt;br /&gt;                    &lt;span style="color: blue"&gt;foreach &lt;/span&gt;(&lt;span style="color: #2b91af"&gt;SqlParameter &lt;/span&gt;param &lt;span style="color: blue"&gt;in &lt;/span&gt;parameters)&lt;br /&gt;                        cmd.Parameters.Add(param);&lt;br /&gt;&lt;br /&gt;                    &lt;span style="color: blue"&gt;int &lt;/span&gt;rowsAffected = cmd.ExecuteNonQuery();&lt;br /&gt;&lt;br /&gt;                    &lt;span style="color: blue"&gt;return &lt;/span&gt;rowsAffected;&lt;br /&gt;                }&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;        &lt;span style="color: blue"&gt;catch&lt;br /&gt;        &lt;/span&gt;{&lt;br /&gt;            &lt;span style="color: blue"&gt;throw&lt;/span&gt;;&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    &lt;span style="color: blue"&gt;public static &lt;/span&gt;&lt;span style="color: #2b91af"&gt;SqlDataReader &lt;/span&gt;GetReader(&lt;span style="color: blue"&gt;string &lt;/span&gt;commandText, &lt;span style="color: #2b91af"&gt;SqlParameter&lt;/span&gt;[] parameters)&lt;br /&gt;    {&lt;br /&gt;        &lt;span style="color: blue"&gt;try&lt;br /&gt;        &lt;/span&gt;{&lt;br /&gt;            &lt;span style="color: blue"&gt;using &lt;/span&gt;(&lt;span style="color: #2b91af"&gt;SqlConnection &lt;/span&gt;conn = &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;SqlConnection&lt;/span&gt;(ConnectionString))&lt;br /&gt;            {&lt;br /&gt;                conn.Open();&lt;br /&gt;                &lt;span style="color: blue"&gt;using &lt;/span&gt;(&lt;span style="color: #2b91af"&gt;SqlCommand &lt;/span&gt;cmd = &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;SqlCommand&lt;/span&gt;(commandText, conn))&lt;br /&gt;                {&lt;br /&gt;                    &lt;span style="color: blue"&gt;foreach &lt;/span&gt;(&lt;span style="color: #2b91af"&gt;SqlParameter &lt;/span&gt;param &lt;span style="color: blue"&gt;in &lt;/span&gt;parameters)&lt;br /&gt;                        cmd.Parameters.Add(param);&lt;br /&gt;&lt;br /&gt;                    &lt;span style="color: #2b91af"&gt;SqlDataReader &lt;/span&gt;reader = cmd.ExecuteReader();&lt;br /&gt;&lt;br /&gt;                    &lt;span style="color: blue"&gt;return &lt;/span&gt;reader;&lt;br /&gt;                }&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;        &lt;span style="color: blue"&gt;catch&lt;br /&gt;        &lt;/span&gt;{&lt;br /&gt;            &lt;span style="color: blue"&gt;throw&lt;/span&gt;;&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;To resemble the table EmployeeDetails I have created the following entity class&lt;br /&gt;&lt;pre class="code"&gt;&lt;span style="color: blue"&gt;class &lt;/span&gt;&lt;span style="color: #2b91af"&gt;EmployeeEntity&lt;br /&gt;&lt;/span&gt;{&lt;br /&gt;    &lt;span style="color: blue"&gt;public int &lt;/span&gt;Id { &lt;span style="color: blue"&gt;get&lt;/span&gt;; &lt;span style="color: blue"&gt;set&lt;/span&gt;; }&lt;br /&gt;    &lt;span style="color: blue"&gt;public string &lt;/span&gt;Name { &lt;span style="color: blue"&gt;get&lt;/span&gt;; &lt;span style="color: blue"&gt;set&lt;/span&gt;; }&lt;br /&gt;    &lt;span style="color: blue"&gt;public string &lt;/span&gt;Address { &lt;span style="color: blue"&gt;get&lt;/span&gt;; &lt;span style="color: blue"&gt;set&lt;/span&gt;; }&lt;br /&gt;&lt;br /&gt;    &lt;span style="color: blue"&gt;public override string &lt;/span&gt;ToString()&lt;br /&gt;    {&lt;br /&gt;        &lt;span style="color: #2b91af"&gt;StringBuilder &lt;/span&gt;sb = &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;StringBuilder&lt;/span&gt;();&lt;br /&gt;        sb.Append(&lt;span style="color: #a31515"&gt;&amp;quot;Employee Name = &amp;quot;&lt;/span&gt;).Append(&lt;span style="color: blue"&gt;this&lt;/span&gt;.Name);&lt;br /&gt;        sb.Append(&lt;span style="color: #a31515"&gt;&amp;quot; Have Id = &amp;quot;&lt;/span&gt;).Append(&lt;span style="color: blue"&gt;this&lt;/span&gt;.Id);&lt;br /&gt;        sb.Append(&lt;span style="color: #a31515"&gt;&amp;quot; Lives In = &amp;quot;&lt;/span&gt;).Append(&lt;span style="color: blue"&gt;this&lt;/span&gt;.Address);&lt;br /&gt;&lt;br /&gt;        &lt;span style="color: blue"&gt;return &lt;/span&gt;sb.ToString();&lt;br /&gt;    }&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;&lt;p&gt;Now comes the business layer&lt;/p&gt;&lt;br /&gt;&lt;pre class="code"&gt;&lt;span style="color: blue"&gt;static class &lt;/span&gt;&lt;span style="color: #2b91af"&gt;Employee&lt;br /&gt;&lt;/span&gt;{&lt;br /&gt;    &lt;span style="color: blue"&gt;public static int &lt;/span&gt;AddEmployee(&lt;span style="color: #2b91af"&gt;EmployeeEntity &lt;/span&gt;e)&lt;br /&gt;    {&lt;br /&gt;        &lt;span style="color: #2b91af"&gt;SqlParameter&lt;/span&gt;[] param = &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;SqlParameter&lt;/span&gt;[3];&lt;br /&gt;        param[0] = &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;SqlParameter&lt;/span&gt;(&lt;span style="color: #a31515"&gt;&amp;quot;@Id&amp;quot;&lt;/span&gt;, e.Id);&lt;br /&gt;        param[1] = &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;SqlParameter&lt;/span&gt;(&lt;span style="color: #a31515"&gt;&amp;quot;@Name&amp;quot;&lt;/span&gt;, e.Name);&lt;br /&gt;        param[2] = &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;SqlParameter&lt;/span&gt;(&lt;span style="color: #a31515"&gt;&amp;quot;@Address&amp;quot;&lt;/span&gt;, e.Address);&lt;br /&gt;&lt;br /&gt;        &lt;span style="color: blue"&gt;return &lt;/span&gt;&lt;span style="color: #2b91af"&gt;DAL&lt;/span&gt;.ExecuteNonQuery(&lt;span style="color: #a31515"&gt;&amp;quot;INSERT INTO EmployeeDetails VALUES(@Id, @Name, @Address)&amp;quot;&lt;/span&gt;, param);&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    &lt;span style="color: blue"&gt;public static &lt;/span&gt;&lt;span style="color: #2b91af"&gt;EmployeeEntity &lt;/span&gt;GetEmployee(&lt;span style="color: blue"&gt;int &lt;/span&gt;id)&lt;br /&gt;    {&lt;br /&gt;        &lt;span style="color: #2b91af"&gt;SqlParameter&lt;/span&gt;[] param = &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;SqlParameter&lt;/span&gt;[1];&lt;br /&gt;        param[0] = &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;SqlParameter&lt;/span&gt;(&lt;span style="color: #a31515"&gt;&amp;quot;@Id&amp;quot;&lt;/span&gt;, id);&lt;br /&gt;&lt;br /&gt;        &lt;span style="color: #2b91af"&gt;SqlDataReader &lt;/span&gt;reader = &lt;span style="color: #2b91af"&gt;DAL&lt;/span&gt;.GetReader(&lt;span style="color: #a31515"&gt;&amp;quot;SELECT * FROM EmployeeDetails WHERE Id = @Id&amp;quot;&lt;/span&gt;, param);&lt;br /&gt;&lt;br /&gt;        &lt;span style="color: blue"&gt;if &lt;/span&gt;(reader.HasRows)&lt;br /&gt;        {&lt;br /&gt;            &lt;span style="color: #2b91af"&gt;EmployeeEntity &lt;/span&gt;emp = &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;EmployeeEntity&lt;/span&gt;();&lt;br /&gt;            &lt;span style="color: blue"&gt;while &lt;/span&gt;(reader.Read())&lt;br /&gt;            {&lt;br /&gt;                &lt;span style="color: blue"&gt;int &lt;/span&gt;temp = 0;&lt;br /&gt;                &lt;span style="color: blue"&gt;int&lt;/span&gt;.TryParse(reader[&lt;span style="color: #a31515"&gt;&amp;quot;Id&amp;quot;&lt;/span&gt;].ToString(), &lt;span style="color: blue"&gt;out &lt;/span&gt;temp);&lt;br /&gt;                emp.Id = temp;&lt;br /&gt;                emp.Name = reader[&lt;span style="color: #a31515"&gt;&amp;quot;Name&amp;quot;&lt;/span&gt;].ToString();&lt;br /&gt;                emp.Address = reader[&lt;span style="color: #a31515"&gt;&amp;quot;Address&amp;quot;&lt;/span&gt;].ToString();&lt;br /&gt;&lt;br /&gt;                &lt;span style="color: blue"&gt;break&lt;/span&gt;;&lt;br /&gt;            }&lt;br /&gt;            &lt;span style="color: blue"&gt;return &lt;/span&gt;emp;&lt;br /&gt;&lt;br /&gt;        }&lt;br /&gt;        &lt;span style="color: blue"&gt;else&lt;br /&gt;            return null&lt;/span&gt;;&lt;br /&gt;    }&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;Finally my presentation&lt;br /&gt;&lt;pre class="code"&gt;&lt;span style="color: blue"&gt;class &lt;/span&gt;&lt;span style="color: #2b91af"&gt;Program&lt;br /&gt;&lt;/span&gt;{&lt;br /&gt;    &lt;span style="color: blue"&gt;static void &lt;/span&gt;Main(&lt;span style="color: blue"&gt;string&lt;/span&gt;[] args)&lt;br /&gt;    {&lt;br /&gt;        &lt;span style="color: #2b91af"&gt;Employee&lt;/span&gt;.AddEmployee(&lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;EmployeeEntity&lt;/span&gt;() { Id = 1, Name = &lt;span style="color: #a31515"&gt;&amp;quot;Amal&amp;quot;&lt;/span&gt;, Address = &lt;span style="color: #a31515"&gt;&amp;quot;MyAddress&amp;quot; &lt;/span&gt;});&lt;br /&gt;        &lt;span style="color: #2b91af"&gt;Employee&lt;/span&gt;.AddEmployee(&lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;EmployeeEntity&lt;/span&gt;() { Id = 2, Name = &lt;span style="color: #a31515"&gt;&amp;quot;Hashim&amp;quot;&lt;/span&gt;, Address = &lt;span style="color: #a31515"&gt;&amp;quot;Hashim Address&amp;quot; &lt;/span&gt;});&lt;br /&gt;        &lt;span style="color: #2b91af"&gt;Employee&lt;/span&gt;.AddEmployee(&lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;EmployeeEntity&lt;/span&gt;() { Id = 3, Name = &lt;span style="color: #a31515"&gt;&amp;quot;Rooney&amp;quot;&lt;/span&gt;, Address = &lt;span style="color: #a31515"&gt;&amp;quot;Manchester&amp;quot; &lt;/span&gt;});&lt;br /&gt;&lt;br /&gt;        &lt;span style="color: #2b91af"&gt;EmployeeEntity &lt;/span&gt;emp = &lt;span style="color: #2b91af"&gt;Employee&lt;/span&gt;.GetEmployee(1);&lt;br /&gt;&lt;br /&gt;        &lt;span style="color: #2b91af"&gt;Console&lt;/span&gt;.WriteLine(emp);&lt;br /&gt;    }&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;For better demonstration, you can think the presentation layer as a windows form application. With a 3 textboxes and one button. You can enter Id, Name and Address and use the button event for adding the data.  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9164837514531450619-4756965928286798073?l=lamahashim.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lamahashim.blogspot.com/feeds/4756965928286798073/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9164837514531450619&amp;postID=4756965928286798073' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/4756965928286798073'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/4756965928286798073'/><link rel='alternate' type='text/html' href='http://lamahashim.blogspot.com/2010/04/c-3-tier-architecture.html' title='C# | 3 Tier Architecture'/><author><name>A.m.a.L Hashim</name><uri>http://www.blogger.com/profile/04600206670507170118</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_bxrn2DJZgfo/S28F2fGQN9I/AAAAAAAAAPE/b3GLUwQjrFc/S220/Photo341.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9164837514531450619.post-7821637581430257977</id><published>2010-04-04T08:00:00.001-07:00</published><updated>2010-04-05T06:54:06.968-07:00</updated><title type='text'>Sql | Parameterized Queries</title><content type='html'>&lt;p&gt;In msdn forums, a common question is regarding database retrieval and updation. To help such users I thought of bringing up this article. I want to give a concrete example, which will demonstrate the usage. To start with, I have a Employee database with a table named EmployeeDetails witht the following structure.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_bxrn2DJZgfo/S7ipisvERGI/AAAAAAAAAXo/j_Fs_FHcKw0/s1600-h/image%5B2%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_bxrn2DJZgfo/S7ipkHGrkdI/AAAAAAAAAXs/d3rs7UHAzeg/image_thumb.png?imgmax=800" width="215" height="155" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;In the below code sample, I will show how to insert a record and get it back. To avoid the problems that can cause from SQL Injection, .Net framework has introduced Parameterized queries. Another way to get around this situation is using stored procedures.&lt;/p&gt;  &lt;pre class="code"&gt;&lt;span style="color: blue"&gt;using &lt;/span&gt;System;&lt;br /&gt;&lt;span style="color: blue"&gt;using &lt;/span&gt;System.Data.SqlClient;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: blue"&gt;namespace &lt;/span&gt;ConsoleApplication2&lt;br /&gt;{    &lt;br /&gt;    &lt;span style="color: blue"&gt;class &lt;/span&gt;&lt;span style="color: #2b91af"&gt;Program&lt;br /&gt;    &lt;/span&gt;{&lt;br /&gt;        &lt;span style="color: blue"&gt;public static void &lt;/span&gt;Main(&lt;span style="color: blue"&gt;string&lt;/span&gt;[] args)&lt;br /&gt;        {&lt;br /&gt;            &lt;span style="color: blue"&gt;string &lt;/span&gt;connectionString = &lt;span style="color: #a31515"&gt;&amp;quot;server=.;initial catalog=employee;user id=sa;password=sa123&amp;quot;&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;            &lt;span style="color: blue"&gt;using &lt;/span&gt;(&lt;span style="color: #2b91af"&gt;SqlConnection &lt;/span&gt;conn = &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;SqlConnection&lt;/span&gt;(connectionString))&lt;br /&gt;            {&lt;br /&gt;                conn.Open();&lt;br /&gt;                &lt;span style="color: blue"&gt;using &lt;/span&gt;(&lt;span style="color: #2b91af"&gt;SqlCommand &lt;/span&gt;cmd = &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;SqlCommand&lt;/span&gt;(&lt;span style="color: #a31515"&gt;&amp;quot;INSERT INTO&amp;quot; &lt;/span&gt;&lt;span style="color: #a31515"&gt;+ &amp;quot;EmployeeDetails Values(@Id, @Name, @Address)&amp;quot;&lt;/span&gt;, conn))&lt;br /&gt;                {&lt;br /&gt;                    cmd.Parameters.Add(&lt;span style="color: #a31515"&gt;&amp;quot;@Id&amp;quot;&lt;/span&gt;, System.Data.&lt;span style="color: #2b91af"&gt;SqlDbType&lt;/span&gt;.Int);&lt;br /&gt;                    cmd.Parameters.Add(&lt;span style="color: #a31515"&gt;&amp;quot;@Name&amp;quot;&lt;/span&gt;, System.Data.&lt;span style="color: #2b91af"&gt;SqlDbType&lt;/span&gt;.VarChar);&lt;br /&gt;                    cmd.Parameters.Add(&lt;span style="color: #a31515"&gt;&amp;quot;@Address&amp;quot;&lt;/span&gt;, System.Data.&lt;span style="color: #2b91af"&gt;SqlDbType&lt;/span&gt;.VarChar);&lt;br /&gt;&lt;br /&gt;                    cmd.Parameters[&lt;span style="color: #a31515"&gt;&amp;quot;@Id&amp;quot;&lt;/span&gt;].Value = 4;&lt;br /&gt;                    cmd.Parameters[&lt;span style="color: #a31515"&gt;&amp;quot;@Name&amp;quot;&lt;/span&gt;].Value = &lt;span style="color: #a31515"&gt;&amp;quot;Rooney&amp;quot;&lt;/span&gt;;&lt;br /&gt;                    cmd.Parameters[&lt;span style="color: #a31515"&gt;&amp;quot;@Address&amp;quot;&lt;/span&gt;].Value = &lt;span style="color: #a31515"&gt;&amp;quot;Manchester United&amp;quot;&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;                    &lt;span style="color: blue"&gt;int &lt;/span&gt;rowsInserted = cmd.ExecuteNonQuery();&lt;br /&gt;&lt;br /&gt;                    &lt;span style="color: #2b91af"&gt;Console&lt;/span&gt;.WriteLine(&lt;span style="color: #a31515"&gt;&amp;quot;Rows inserted = &amp;quot; &lt;/span&gt;+ rowsInserted);&lt;br /&gt;                }&lt;br /&gt;&lt;br /&gt;                &lt;span style="color: blue"&gt;using &lt;/span&gt;(&lt;span style="color: #2b91af"&gt;SqlCommand &lt;/span&gt;cmd = &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;SqlCommand&lt;/span&gt;(&lt;span style="color: #a31515"&gt;&amp;quot;SELECT * FROM EmployeeDetails&amp;quot;&lt;/span&gt;, conn))&lt;br /&gt;                {&lt;br /&gt;                    &lt;span style="color: #2b91af"&gt;SqlDataReader &lt;/span&gt;reader = cmd.ExecuteReader();&lt;br /&gt;                    &lt;span style="color: blue"&gt;if &lt;/span&gt;(reader.HasRows)&lt;br /&gt;                    {&lt;br /&gt;                        &lt;span style="color: blue"&gt;while &lt;/span&gt;(reader.Read())&lt;br /&gt;                        {&lt;br /&gt;                            &lt;span style="color: #2b91af"&gt;Console&lt;/span&gt;.WriteLine(reader[&lt;span style="color: #a31515"&gt;&amp;quot;Id&amp;quot;&lt;/span&gt;].ToString() + &lt;span style="color: #a31515"&gt;&amp;quot; &amp;quot; &lt;/span&gt;+ reader[&lt;span style="color: #a31515"&gt;&amp;quot;Name&amp;quot;&lt;/span&gt;].ToString() + &lt;span style="color: #a31515"&gt;&amp;quot; &amp;quot; &lt;/span&gt;+ reader[&lt;span style="color: #a31515"&gt;&amp;quot;Address&amp;quot;&lt;/span&gt;].ToString());&lt;br /&gt;                        }&lt;br /&gt;                    }&lt;br /&gt;                    &lt;span style="color: blue"&gt;else&lt;br /&gt;                    &lt;/span&gt;{&lt;br /&gt;                        &lt;span style="color: #2b91af"&gt;Console&lt;/span&gt;.WriteLine(&lt;span style="color: #a31515"&gt;&amp;quot;No Rows&amp;quot;&lt;/span&gt;);&lt;br /&gt;                    }&lt;br /&gt;                }&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;Hope this was helpful.&lt;br /&gt;&lt;br /&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9164837514531450619-7821637581430257977?l=lamahashim.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lamahashim.blogspot.com/feeds/7821637581430257977/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9164837514531450619&amp;postID=7821637581430257977' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/7821637581430257977'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/7821637581430257977'/><link rel='alternate' type='text/html' href='http://lamahashim.blogspot.com/2010/04/sql-parameterized-queries.html' title='Sql | Parameterized Queries'/><author><name>A.m.a.L Hashim</name><uri>http://www.blogger.com/profile/04600206670507170118</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_bxrn2DJZgfo/S28F2fGQN9I/AAAAAAAAAPE/b3GLUwQjrFc/S220/Photo341.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_bxrn2DJZgfo/S7ipkHGrkdI/AAAAAAAAAXs/d3rs7UHAzeg/s72-c/image_thumb.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9164837514531450619.post-6336687225606756232</id><published>2010-04-04T01:04:00.001-07:00</published><updated>2010-04-04T01:09:17.530-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Struct'/><category scheme='http://www.blogger.com/atom/ns#' term='Value Types'/><category scheme='http://www.blogger.com/atom/ns#' term='Enum'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='Nullable Types'/><title type='text'>.Net Framework | Value Types</title><content type='html'>&lt;p&gt;Value type holds data in the variable. They are stored in “Stack”. Because of this the performance is good and causes minimal overhead. Mainly there are three value types&lt;/p&gt; &lt;p&gt;1. In built&lt;/p&gt; &lt;p&gt;2. User defined(structs)&lt;/p&gt; &lt;p&gt;3. Enums&lt;/p&gt;  &lt;p&gt;All the above are derived from System.Value&lt;/p&gt;  &lt;table border="1" cellspacing="0" cellpadding="2" width="100%"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="133"&gt;Type&lt;/td&gt;        &lt;td valign="top" width="133"&gt;Bytes Occupied&lt;/td&gt;        &lt;td valign="top" width="133"&gt;Range&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="133"&gt;System.SByte&lt;/td&gt;        &lt;td valign="top" width="133"&gt;1&lt;/td&gt;        &lt;td valign="top" width="133"&gt;-128 to 127&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="133"&gt;System.Byte&lt;/td&gt;        &lt;td valign="top" width="133"&gt;1&lt;/td&gt;        &lt;td valign="top" width="133"&gt;0 to 255&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="133"&gt;System.Int16&lt;/td&gt;        &lt;td valign="top" width="133"&gt;2&lt;/td&gt;        &lt;td valign="top" width="133"&gt;-32768 to 32767&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="133"&gt;System.Int32&lt;/td&gt;        &lt;td valign="top" width="133"&gt;4&lt;/td&gt;        &lt;td valign="top" width="133"&gt;-2147483648 to 2147483647&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="133"&gt;System.UInt32&lt;/td&gt;        &lt;td valign="top" width="133"&gt;4&lt;/td&gt;        &lt;td valign="top" width="133"&gt;0 to 4294967295&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="133"&gt;System.Int64&lt;/td&gt;        &lt;td valign="top" width="133"&gt;8&lt;/td&gt;        &lt;td valign="top" width="133"&gt;-9223372036854775808 to 9223372036854775807&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="133"&gt;System.Single&lt;/td&gt;        &lt;td valign="top" width="133"&gt;4&lt;/td&gt;        &lt;td valign="top" width="133"&gt;–3.402823E+38 to 3.402823E+38&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="133"&gt;System.Double&lt;/td&gt;        &lt;td valign="top" width="133"&gt;8&lt;/td&gt;        &lt;td valign="top" width="133"&gt;-1.79769319486232E+308 to 1.79769319486232E+308&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="133"&gt;System.Decimal&lt;/td&gt;        &lt;td valign="top" width="133"&gt;16&lt;/td&gt;        &lt;td valign="top" width="133"&gt;-79228162514264337593543950335 to 79228162514264337593543950335 &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="133"&gt;System.Char&lt;/td&gt;        &lt;td valign="top" width="133"&gt;2&lt;/td&gt;        &lt;td valign="top" width="133"&gt;&amp;#160;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="133"&gt;System.Boolean&lt;/td&gt;        &lt;td valign="top" width="133"&gt;4&lt;/td&gt;        &lt;td valign="top" width="133"&gt;&amp;#160;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="133"&gt;System.DateTime&lt;/td&gt;        &lt;td valign="top" width="133"&gt;8&lt;/td&gt;        &lt;td valign="top" width="133"&gt;1/1/0001 12:00:00 AM to 12/31/9999 11:59:59 PM &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="133"&gt;System.Boolean&lt;/td&gt;        &lt;td valign="top" width="133"&gt;4&lt;/td&gt;        &lt;td valign="top" width="133"&gt;True/False&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="133"&gt;System.IntPtr&lt;/td&gt;        &lt;td valign="top" width="133"&gt;Platform Dependent&lt;/td&gt;        &lt;td valign="top" width="133"&gt;&amp;#160;&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;Nullable Types&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;In some scenarios we might need to store the value null in the basic types. For doing that we can make the type nullable as shown below&lt;/p&gt; &lt;pre class="code"&gt;&lt;span style="color: blue"&gt;bool&lt;/span&gt;? isValid = &lt;span style="color: blue"&gt;null&lt;/span&gt;;&lt;br /&gt;            &lt;span style="color: green"&gt;//or&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #2b91af"&gt;Nullable&lt;/span&gt;&amp;lt;&lt;span style="color: blue"&gt;bool&lt;/span&gt;&amp;gt; isSelected = &lt;span style="color: blue"&gt;null&lt;/span&gt;;&lt;/pre&gt;&lt;br /&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;u&gt;Structures or User Defined Types&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Struct as mentioned is also a value type and is stored on the stack. Struct resembles class, but have several differences. Structures are composite types. They form a meaningful&amp;#160; data. The most common example give for structures is the Point type available in System.Drawing namespace. Each point can be represented using x and y coordinate and hence a structure can be formed as&lt;/p&gt;&lt;br /&gt;&lt;pre class="code"&gt;&lt;span style="color: blue"&gt;struct &lt;/span&gt;&lt;span style="color: #2b91af"&gt;Point&lt;br /&gt;&lt;/span&gt;{&lt;br /&gt;    &lt;span style="color: blue"&gt;public &lt;/span&gt;&lt;span style="color: #2b91af"&gt;UInt32 &lt;/span&gt;X;&lt;br /&gt;    &lt;span style="color: blue"&gt;public &lt;/span&gt;&lt;span style="color: #2b91af"&gt;UInt32 &lt;/span&gt;Y;&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;I have enhanced the Point structure as shown below&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="code"&gt;&lt;span style="color: blue"&gt;using &lt;/span&gt;System;&lt;br /&gt;&lt;span style="color: blue"&gt;using &lt;/span&gt;System.Text;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: blue"&gt;namespace &lt;/span&gt;ConsoleApplication2&lt;br /&gt;{&lt;br /&gt;    &lt;span style="color: blue"&gt;struct &lt;/span&gt;&lt;span style="color: #2b91af"&gt;Point&lt;br /&gt;    &lt;/span&gt;{&lt;br /&gt;        &lt;span style="color: blue"&gt;public &lt;/span&gt;&lt;span style="color: #2b91af"&gt;UInt32 &lt;/span&gt;X;&lt;br /&gt;        &lt;span style="color: blue"&gt;public &lt;/span&gt;&lt;span style="color: #2b91af"&gt;UInt32 &lt;/span&gt;Y;&lt;br /&gt;&lt;br /&gt;        &lt;span style="color: blue"&gt;public &lt;/span&gt;Point(&lt;span style="color: blue"&gt;uint &lt;/span&gt;x, &lt;span style="color: blue"&gt;uint &lt;/span&gt;y)&lt;br /&gt;        {&lt;br /&gt;            &lt;span style="color: blue"&gt;this&lt;/span&gt;.X = x;&lt;br /&gt;            &lt;span style="color: blue"&gt;this&lt;/span&gt;.Y = y;&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        &lt;span style="color: blue"&gt;public static &lt;/span&gt;&lt;span style="color: #2b91af"&gt;Point &lt;/span&gt;&lt;span style="color: blue"&gt;operator &lt;/span&gt;+(&lt;span style="color: #2b91af"&gt;Point &lt;/span&gt;p1, &lt;span style="color: #2b91af"&gt;Point &lt;/span&gt;p2)&lt;br /&gt;        {&lt;br /&gt;            &lt;span style="color: #2b91af"&gt;Point &lt;/span&gt;newPoint = &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;Point&lt;/span&gt;(p1.X + p2.X, p1.Y + p2.Y);&lt;br /&gt;&lt;br /&gt;            &lt;span style="color: blue"&gt;return &lt;/span&gt;newPoint;&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        &lt;span style="color: blue"&gt;public static &lt;/span&gt;&lt;span style="color: #2b91af"&gt;Point &lt;/span&gt;&lt;span style="color: blue"&gt;operator &lt;/span&gt;-(&lt;span style="color: #2b91af"&gt;Point &lt;/span&gt;p1, &lt;span style="color: #2b91af"&gt;Point &lt;/span&gt;p2)&lt;br /&gt;        {&lt;br /&gt;            &lt;span style="color: #2b91af"&gt;Point &lt;/span&gt;newPoint = &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;Point&lt;/span&gt;(p1.X + p2.X, p1.Y + p2.Y);&lt;br /&gt;&lt;br /&gt;            &lt;span style="color: blue"&gt;return &lt;/span&gt;newPoint;&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        &lt;span style="color: blue"&gt;public override string &lt;/span&gt;ToString()&lt;br /&gt;        {&lt;br /&gt;            &lt;span style="color: #2b91af"&gt;StringBuilder &lt;/span&gt;sb = &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;StringBuilder&lt;/span&gt;();&lt;br /&gt;            sb.Append(&lt;span style="color: #a31515"&gt;&amp;quot;The current point has X = &amp;quot;&lt;/span&gt;).Append(&lt;span style="color: blue"&gt;this&lt;/span&gt;.X.ToString())&lt;br /&gt;                .Append(&lt;span style="color: #a31515"&gt;&amp;quot; and Y = &amp;quot;&lt;/span&gt;).Append(&lt;span style="color: blue"&gt;this&lt;/span&gt;.Y.ToString());&lt;br /&gt;            &lt;span style="color: blue"&gt;return &lt;/span&gt;sb.ToString();&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;    &lt;br /&gt;    &lt;span style="color: blue"&gt;class &lt;/span&gt;&lt;span style="color: #2b91af"&gt;Program&lt;br /&gt;    &lt;/span&gt;{&lt;br /&gt;        &lt;span style="color: blue"&gt;static void &lt;/span&gt;Main(&lt;span style="color: blue"&gt;string&lt;/span&gt;[] args)&lt;br /&gt;        {&lt;br /&gt;            &lt;span style="color: #2b91af"&gt;Point &lt;/span&gt;p1 = &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;Point&lt;/span&gt;(10, 20);&lt;br /&gt;            &lt;span style="color: #2b91af"&gt;Point &lt;/span&gt;p2 = &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;Point&lt;/span&gt;(20, 30);&lt;br /&gt;&lt;br /&gt;            p1 += p2;&lt;br /&gt;&lt;br /&gt;            &lt;span style="color: #2b91af"&gt;Console&lt;/span&gt;.WriteLine(p1);&lt;br /&gt;            &lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;    }&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;&lt;p&gt;As you can see the structure has a parameterized constructor and can have methods. It also has overloaded operators. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;u&gt;Note: We can’t use default constructors in Structure. Default constructor is used by the framework to initialize the fields in structure.&lt;/u&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;u&gt;Note: Always make use of a structure only if the entire data in it constitute less than 16 bytes.&lt;/u&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;u&gt;Enumerations or Enum&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Enums are grouped constants. They are introduced mainly to make the code readable.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Lets extend the above application by adding an Enum Direction. Based on the direction the point will be moved.&lt;/p&gt;&lt;br /&gt;&lt;pre class="code"&gt;&lt;span style="color: blue"&gt;using &lt;/span&gt;System;&lt;br /&gt;&lt;span style="color: blue"&gt;using &lt;/span&gt;System.Text;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: blue"&gt;namespace &lt;/span&gt;ConsoleApplication2&lt;br /&gt;{&lt;br /&gt;    &lt;span style="color: blue"&gt;struct &lt;/span&gt;&lt;span style="color: #2b91af"&gt;Point&lt;br /&gt;    &lt;/span&gt;{&lt;br /&gt;        &lt;span style="color: blue"&gt;public &lt;/span&gt;&lt;span style="color: #2b91af"&gt;UInt32 &lt;/span&gt;X;&lt;br /&gt;        &lt;span style="color: blue"&gt;public &lt;/span&gt;&lt;span style="color: #2b91af"&gt;UInt32 &lt;/span&gt;Y;&lt;br /&gt;&lt;br /&gt;        &lt;span style="color: blue"&gt;public &lt;/span&gt;Point(&lt;span style="color: blue"&gt;uint &lt;/span&gt;x, &lt;span style="color: blue"&gt;uint &lt;/span&gt;y)&lt;br /&gt;        {&lt;br /&gt;            &lt;span style="color: blue"&gt;this&lt;/span&gt;.X = x;&lt;br /&gt;            &lt;span style="color: blue"&gt;this&lt;/span&gt;.Y = y;&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        &lt;span style="color: blue"&gt;public static &lt;/span&gt;&lt;span style="color: #2b91af"&gt;Point &lt;/span&gt;&lt;span style="color: blue"&gt;operator &lt;/span&gt;+(&lt;span style="color: #2b91af"&gt;Point &lt;/span&gt;p1, &lt;span style="color: #2b91af"&gt;Point &lt;/span&gt;p2)&lt;br /&gt;        {&lt;br /&gt;            &lt;span style="color: #2b91af"&gt;Point &lt;/span&gt;newPoint = &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;Point&lt;/span&gt;(p1.X + p2.X, p1.Y + p2.Y);&lt;br /&gt;&lt;br /&gt;            &lt;span style="color: blue"&gt;return &lt;/span&gt;newPoint;&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        &lt;span style="color: blue"&gt;public static &lt;/span&gt;&lt;span style="color: #2b91af"&gt;Point &lt;/span&gt;&lt;span style="color: blue"&gt;operator &lt;/span&gt;-(&lt;span style="color: #2b91af"&gt;Point &lt;/span&gt;p1, &lt;span style="color: #2b91af"&gt;Point &lt;/span&gt;p2)&lt;br /&gt;        {&lt;br /&gt;            &lt;span style="color: #2b91af"&gt;Point &lt;/span&gt;newPoint = &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;Point&lt;/span&gt;(p1.X + p2.X, p1.Y + p2.Y);&lt;br /&gt;&lt;br /&gt;            &lt;span style="color: blue"&gt;return &lt;/span&gt;newPoint;&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        &lt;span style="color: blue"&gt;public override string &lt;/span&gt;ToString()&lt;br /&gt;        {&lt;br /&gt;            &lt;span style="color: #2b91af"&gt;StringBuilder &lt;/span&gt;sb = &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;StringBuilder&lt;/span&gt;();&lt;br /&gt;            sb.Append(&lt;span style="color: #a31515"&gt;&amp;quot;The current point has X = &amp;quot;&lt;/span&gt;).Append(&lt;span style="color: blue"&gt;this&lt;/span&gt;.X.ToString())&lt;br /&gt;                .Append(&lt;span style="color: #a31515"&gt;&amp;quot; and Y = &amp;quot;&lt;/span&gt;).Append(&lt;span style="color: blue"&gt;this&lt;/span&gt;.Y.ToString());&lt;br /&gt;            &lt;span style="color: blue"&gt;return &lt;/span&gt;sb.ToString();&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        &lt;span style="color: blue"&gt;public void &lt;/span&gt;Move(&lt;span style="color: #2b91af"&gt;Direction &lt;/span&gt;d)&lt;br /&gt;        {&lt;br /&gt;            &lt;span style="color: blue"&gt;switch &lt;/span&gt;(d)&lt;br /&gt;            {&lt;br /&gt;                &lt;span style="color: blue"&gt;case &lt;/span&gt;&lt;span style="color: #2b91af"&gt;Direction&lt;/span&gt;.Up:&lt;br /&gt;                    &lt;span style="color: blue"&gt;if &lt;/span&gt;(&lt;span style="color: blue"&gt;this&lt;/span&gt;.X &amp;gt; 0)&lt;br /&gt;                        &lt;span style="color: blue"&gt;this&lt;/span&gt;.X--;&lt;br /&gt;                    &lt;span style="color: blue"&gt;break&lt;/span&gt;;&lt;br /&gt;                &lt;span style="color: blue"&gt;case &lt;/span&gt;&lt;span style="color: #2b91af"&gt;Direction&lt;/span&gt;.Down:&lt;br /&gt;                    &lt;span style="color: blue"&gt;if &lt;/span&gt;(&lt;span style="color: blue"&gt;this&lt;/span&gt;.X &amp;lt; 1000)&lt;br /&gt;                        &lt;span style="color: blue"&gt;this&lt;/span&gt;.X++;&lt;br /&gt;                    &lt;span style="color: blue"&gt;break&lt;/span&gt;;&lt;br /&gt;                &lt;span style="color: blue"&gt;case &lt;/span&gt;&lt;span style="color: #2b91af"&gt;Direction&lt;/span&gt;.Left:&lt;br /&gt;                    &lt;span style="color: blue"&gt;if &lt;/span&gt;(&lt;span style="color: blue"&gt;this&lt;/span&gt;.Y &amp;gt; 0)&lt;br /&gt;                        &lt;span style="color: blue"&gt;this&lt;/span&gt;.Y--;&lt;br /&gt;                    &lt;span style="color: blue"&gt;break&lt;/span&gt;;&lt;br /&gt;                &lt;span style="color: blue"&gt;case &lt;/span&gt;&lt;span style="color: #2b91af"&gt;Direction&lt;/span&gt;.Right:&lt;br /&gt;                    &lt;span style="color: blue"&gt;if &lt;/span&gt;(&lt;span style="color: blue"&gt;this&lt;/span&gt;.Y &amp;lt; 1000)&lt;br /&gt;                        &lt;span style="color: blue"&gt;this&lt;/span&gt;.Y++;&lt;br /&gt;                    &lt;span style="color: blue"&gt;break&lt;/span&gt;;&lt;br /&gt;                &lt;span style="color: blue"&gt;default&lt;/span&gt;:&lt;br /&gt;                    &lt;span style="color: blue"&gt;break&lt;/span&gt;;&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    &lt;span style="color: blue"&gt;enum &lt;/span&gt;&lt;span style="color: #2b91af"&gt;Direction&lt;br /&gt;    &lt;/span&gt;{&lt;br /&gt;        Up,&lt;br /&gt;        Down,&lt;br /&gt;        Left,&lt;br /&gt;        Right&lt;br /&gt;    }&lt;br /&gt;    &lt;br /&gt;    &lt;span style="color: blue"&gt;class &lt;/span&gt;&lt;span style="color: #2b91af"&gt;Program&lt;br /&gt;    &lt;/span&gt;{&lt;br /&gt;        &lt;span style="color: blue"&gt;static void &lt;/span&gt;Main(&lt;span style="color: blue"&gt;string&lt;/span&gt;[] args)&lt;br /&gt;        {&lt;br /&gt;            &lt;span style="color: #2b91af"&gt;Point &lt;/span&gt;p1 = &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;Point&lt;/span&gt;(0, 0);&lt;br /&gt;            &lt;span style="color: #2b91af"&gt;Console&lt;/span&gt;.WriteLine(p1);&lt;br /&gt;            p1.Move(&lt;span style="color: #2b91af"&gt;Direction&lt;/span&gt;.Left);&lt;br /&gt;            &lt;span style="color: #2b91af"&gt;Console&lt;/span&gt;.WriteLine(p1);&lt;br /&gt;            p1.Move(&lt;span style="color: #2b91af"&gt;Direction&lt;/span&gt;.Down);&lt;br /&gt;            &lt;span style="color: #2b91af"&gt;Console&lt;/span&gt;.WriteLine(p1);&lt;br /&gt;            p1.Move(&lt;span style="color: #2b91af"&gt;Direction&lt;/span&gt;.Left);&lt;br /&gt;            &lt;span style="color: #2b91af"&gt;Console&lt;/span&gt;.WriteLine(p1);&lt;br /&gt;            p1.Move(&lt;span style="color: #2b91af"&gt;Direction&lt;/span&gt;.Right);&lt;br /&gt;            &lt;span style="color: #2b91af"&gt;Console&lt;/span&gt;.WriteLine(p1);            &lt;br /&gt;        }&lt;br /&gt;&lt;br /&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/9164837514531450619-6336687225606756232?l=lamahashim.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lamahashim.blogspot.com/feeds/6336687225606756232/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9164837514531450619&amp;postID=6336687225606756232' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/6336687225606756232'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/6336687225606756232'/><link rel='alternate' type='text/html' href='http://lamahashim.blogspot.com/2010/04/net-framework-value-types.html' title='.Net Framework | Value Types'/><author><name>A.m.a.L Hashim</name><uri>http://www.blogger.com/profile/04600206670507170118</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_bxrn2DJZgfo/S28F2fGQN9I/AAAAAAAAAPE/b3GLUwQjrFc/S220/Photo341.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9164837514531450619.post-9085350592463086732</id><published>2010-04-02T06:10:00.001-07:00</published><updated>2010-04-02T06:13:26.252-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MVP'/><title type='text'>MVP – Visual C# – 2010</title><content type='html'>&lt;img src="http://adminframework.mvpaward.com/images/MVPLogo.jpg" /&gt; &lt;br /&gt;&lt;br /&gt;Dear Amal Hashim,&lt;br/&gt;&lt;br/&gt;&lt;br /&gt;Congratulations! We are pleased to present you with the 2010 Microsoft® MVP Award! This award is given to exceptional technical community leaders who actively share their high quality, real world expertise with others. We appreciate your outstanding contributions in Visual C# technical communities during the past year.&lt;br/&gt;&lt;br/&gt;&lt;br /&gt;The Microsoft MVP Award provides us the unique opportunity to celebrate and honor your significant contributions and say "Thank you for your technical leadership."&lt;br /&gt;&lt;br/&gt;&lt;br /&gt;Toby Richards&lt;br /&gt;General Manager&lt;br /&gt;Community &amp;amp; Online Support&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9164837514531450619-9085350592463086732?l=lamahashim.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lamahashim.blogspot.com/feeds/9085350592463086732/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9164837514531450619&amp;postID=9085350592463086732' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/9085350592463086732'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/9085350592463086732'/><link rel='alternate' type='text/html' href='http://lamahashim.blogspot.com/2010/04/mvp-visual-c.html' title='MVP – Visual C# – 2010'/><author><name>A.m.a.L Hashim</name><uri>http://www.blogger.com/profile/04600206670507170118</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_bxrn2DJZgfo/S28F2fGQN9I/AAAAAAAAAPE/b3GLUwQjrFc/S220/Photo341.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9164837514531450619.post-492648990291346723</id><published>2010-03-29T09:57:00.001-07:00</published><updated>2010-03-29T10:00:12.733-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Truncate'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><category scheme='http://www.blogger.com/atom/ns#' term='Identity'/><title type='text'>SQL Server | Resetting Identity Column</title><content type='html'>&lt;div align="justify"&gt;Identity column’s are used when you want to have a serial number for each row that get inserted into the table. In other word, it will create a numeric sequence. We can make a column identity while creating the table. Check this simple query which will create an Employee table.&lt;/div&gt;&lt;div align="justify"&gt;&lt;br /&gt;&lt;/div&gt;&lt;pre class="code"&gt;&lt;span style="color: blue;"&gt;CREATE TABLE &lt;/span&gt;&lt;span style="color: teal;"&gt;EMPLOYEE&lt;/span&gt;&lt;span style="color: grey;"&gt;(&lt;/span&gt;&lt;span style="color: teal;"&gt;EmpID &lt;/span&gt;&lt;span style="color: blue;"&gt;int identity&lt;/span&gt;&lt;span style="color: grey;"&gt;(&lt;/span&gt;1&lt;span style="color: grey;"&gt;, &lt;/span&gt;1&lt;span style="color: grey;"&gt;), &lt;/span&gt;&lt;span style="color: teal;"&gt;EmpName &lt;/span&gt;&lt;span style="color: blue;"&gt;varchar&lt;/span&gt;&lt;span style="color: grey;"&gt;(&lt;/span&gt;20&lt;span style="color: grey;"&gt;))&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;div align="justify"&gt;The above statement will create a table named EMPLOYEE with two columns, EmpID and EmpName. EmpID is an identity column, the 1st record will have the EmpID as 1 and all subsequent records will have a value incremented by 1. So if you give identity(1,2), each record will have the EmpID as an increment of 2&lt;/div&gt;&lt;br /&gt;&lt;div align="justify"&gt;At some instant we might require the identity value of the insert statement.&lt;/div&gt;&lt;br /&gt;&lt;div align="justify"&gt;&lt;span style="color: blue;"&gt;SELECT &lt;/span&gt;&lt;span style="color: magenta;"&gt;@@IDENTITY&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;If you want to insert a value into an identity column you can use the SET IDENTITY_INSERT statement.&lt;br /&gt;&lt;div align="justify"&gt;Once you delete all the data from the table, the identity column won’t get reset to the initial value. For doing this we must use the following statement.&lt;/div&gt;&lt;pre class="code"&gt;&lt;span style="color: blue;"&gt;DBCC &lt;/span&gt;&lt;span style="color: teal;"&gt;CHECKIDENT&lt;/span&gt;&lt;span style="color: grey;"&gt;(&lt;/span&gt;&lt;span style="color: red;"&gt;'Employee'&lt;/span&gt;&lt;span style="color: grey;"&gt;, &lt;/span&gt;&lt;span style="color: teal;"&gt;RESEED&lt;/span&gt;&lt;span style="color: grey;"&gt;, &lt;/span&gt;0&lt;span style="color: grey;"&gt;)&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span style="color: magenta;"&gt;&lt;span style="color: #333333;"&gt;Another approach is to Truncate. This will delete all data as well as reset the Identity column.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="code"&gt;&lt;span style="color: blue;"&gt;TRUNCATE TABLE &lt;/span&gt;&lt;span style="color: teal;"&gt;Employee&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9164837514531450619-492648990291346723?l=lamahashim.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lamahashim.blogspot.com/feeds/492648990291346723/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9164837514531450619&amp;postID=492648990291346723' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/492648990291346723'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/492648990291346723'/><link rel='alternate' type='text/html' href='http://lamahashim.blogspot.com/2010/03/sql-server-resetting-identity-column.html' title='SQL Server | Resetting Identity Column'/><author><name>A.m.a.L Hashim</name><uri>http://www.blogger.com/profile/04600206670507170118</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_bxrn2DJZgfo/S28F2fGQN9I/AAAAAAAAAPE/b3GLUwQjrFc/S220/Photo341.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9164837514531450619.post-7458222563824729375</id><published>2010-03-29T04:58:00.001-07:00</published><updated>2010-03-29T04:59:22.860-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='export'/><category scheme='http://www.blogger.com/atom/ns#' term='site export'/><category scheme='http://www.blogger.com/atom/ns#' term='import'/><category scheme='http://www.blogger.com/atom/ns#' term='site import'/><category scheme='http://www.blogger.com/atom/ns#' term='stsadm'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS 2007'/><title type='text'>MOSS Site Export Import</title><content type='html'>&lt;p&gt;MOSS comes with a handy utility named “&lt;a href="http://technet.microsoft.com/en-us/library/cc261956.aspx" target="_blank"&gt;stsdam&lt;/a&gt;”. The utility is present in the following folder by default.&lt;/p&gt;  &lt;p&gt;C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\BIN&lt;/p&gt;  &lt;p&gt;For exporting a site use the following command&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_bxrn2DJZgfo/S7CV1ENfHJI/AAAAAAAAAW8/l7ofsa6f7CQ/s1600-h/image%5B4%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_bxrn2DJZgfo/S7CV1-xj1mI/AAAAAAAAAXA/pTyErZmbG_E/image_thumb%5B2%5D.png?imgmax=800" width="644" height="321" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;Either move to the BIN folder or SET path to BIN folder. The complete command is&lt;/p&gt;  &lt;p&gt;stsadm –o export –url http://sites/site –filename filename.cab –overwrite&lt;/p&gt;  &lt;p&gt;Replace http://sites/site with your site name and filename with the required filename you want. The switch overwrite will overwrite the file if the name you specified already exist. For getting the complete help of export, try the following command&lt;/p&gt;  &lt;p&gt;stsadm –help export&lt;/p&gt;  &lt;p&gt;If the exporting runs without error, you will get the following message&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_bxrn2DJZgfo/S7CV244XR_I/AAAAAAAAAXE/pVhdMwxnCxc/s1600-h/image%5B9%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_bxrn2DJZgfo/S7CV3y0oQ4I/AAAAAAAAAXI/sk0MnjY9Z9Q/image_thumb%5B5%5D.png?imgmax=800" width="644" height="321" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;For importing you can use the import statement with stsadm. &lt;/p&gt;  &lt;p&gt;stsadm –o import –url http://newsites/site –filename filename.cab&lt;/p&gt;  &lt;p&gt;On success you will get a similar screen with the message “Operation completed successfully” at the end.&lt;/p&gt;  &lt;p&gt;For more help on import use &lt;/p&gt;  &lt;p&gt;stsadm –help import&lt;/p&gt;  &lt;p&gt;Hope this helps!!!&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9164837514531450619-7458222563824729375?l=lamahashim.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lamahashim.blogspot.com/feeds/7458222563824729375/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9164837514531450619&amp;postID=7458222563824729375' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/7458222563824729375'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/7458222563824729375'/><link rel='alternate' type='text/html' href='http://lamahashim.blogspot.com/2010/03/moss-site-export-import.html' title='MOSS Site Export Import'/><author><name>A.m.a.L Hashim</name><uri>http://www.blogger.com/profile/04600206670507170118</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_bxrn2DJZgfo/S28F2fGQN9I/AAAAAAAAAPE/b3GLUwQjrFc/S220/Photo341.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/_bxrn2DJZgfo/S7CV1-xj1mI/AAAAAAAAAXA/pTyErZmbG_E/s72-c/image_thumb%5B2%5D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9164837514531450619.post-7396802333838672412</id><published>2010-03-10T06:23:00.001-08:00</published><updated>2010-03-10T06:23:39.077-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><category scheme='http://www.blogger.com/atom/ns#' term='Cookie Expire'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.Net'/><category scheme='http://www.blogger.com/atom/ns#' term='EraseCookie'/><category scheme='http://www.blogger.com/atom/ns#' term='SetCookie'/><category scheme='http://www.blogger.com/atom/ns#' term='HTML'/><category scheme='http://www.blogger.com/atom/ns#' term='Cookie'/><title type='text'>Cookie manipulation through JavaScript</title><content type='html'>&lt;pre class="code"&gt;&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;script &lt;/span&gt;&lt;span style="color: red"&gt;type&lt;/span&gt;&lt;span style="color: blue"&gt;=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;    &lt;/span&gt;currentuser = &lt;span style="color: #a31515"&gt;&amp;quot;amal&amp;quot;&lt;br /&gt;    &lt;/span&gt;window.onload=&lt;span style="color: blue"&gt;function&lt;/span&gt;() {&lt;br /&gt;        &lt;span style="color: blue"&gt;if &lt;/span&gt;(navigator.cookieEnabled) {&lt;br /&gt;            &lt;span style="color: blue"&gt;var &lt;/span&gt;username = readCookie(&lt;span style="color: #a31515"&gt;&amp;quot;username&amp;quot;&lt;/span&gt;);&lt;br /&gt;            &lt;span style="color: blue"&gt;if &lt;/span&gt;(username) {                &lt;br /&gt;                alert(&lt;span style="color: #a31515"&gt;&amp;quot;cookie name = &amp;quot; &lt;/span&gt;+ username);&lt;br /&gt;                &lt;span style="color: blue"&gt;if &lt;/span&gt;(username != currentuser) {&lt;br /&gt;                    eraseCookie(username);&lt;br /&gt;                } &lt;span style="color: blue"&gt;else &lt;/span&gt;{&lt;br /&gt;                    setCookie(&lt;span style="color: #a31515"&gt;&amp;quot;username&amp;quot;&lt;/span&gt;,username);&lt;br /&gt;                }&lt;br /&gt;            } &lt;span style="color: blue"&gt;else &lt;/span&gt;{&lt;br /&gt;                alert(&lt;span style="color: #a31515"&gt;&amp;quot;setting cookie&amp;quot;&lt;/span&gt;);&lt;br /&gt;                setCookie(&lt;span style="color: #a31515"&gt;&amp;quot;username&amp;quot;&lt;/span&gt;, currentuser);&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;    &lt;br /&gt;    &lt;span style="color: green"&gt;// set cookie expiration date in year 2010&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: blue"&gt;function &lt;/span&gt;setCookie(key,value) {&lt;br /&gt;        &lt;span style="color: blue"&gt;var &lt;/span&gt;cookieDate = &lt;span style="color: blue"&gt;new &lt;/span&gt;Date(2010,11,10,19,30,30);&lt;br /&gt;        document.cookie=key + &lt;span style="color: #a31515"&gt;&amp;quot;=&amp;quot; &lt;/span&gt;+ encodeURI(value) + &lt;span style="color: #a31515"&gt;&amp;quot;; expires=&amp;quot; &lt;/span&gt;+ &lt;br /&gt;        cookieDate.toGMTString() + &lt;span style="color: #a31515"&gt;&amp;quot;; path=/&amp;quot;&lt;/span&gt;;&lt;br /&gt;    }&lt;br /&gt;    &lt;br /&gt;    &lt;span style="color: green"&gt;// each cookie separated by semicolon;&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: blue"&gt;function &lt;/span&gt;readCookie(key) {&lt;br /&gt;        &lt;span style="color: blue"&gt;var &lt;/span&gt;cookie = document.cookie;&lt;br /&gt;        &lt;span style="color: blue"&gt;var &lt;/span&gt;first = cookie.indexOf(key+&lt;span style="color: #a31515"&gt;&amp;quot;=&amp;quot;&lt;/span&gt;);&lt;br /&gt;&lt;br /&gt;        &lt;span style="color: green"&gt;// cookie exists&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: blue"&gt;if &lt;/span&gt;(first &amp;gt;= 0) {&lt;br /&gt;            &lt;span style="color: blue"&gt;var &lt;/span&gt;str = cookie.substring(first,cookie.length);&lt;br /&gt;            &lt;span style="color: blue"&gt;var &lt;/span&gt;last = str.indexOf(&lt;span style="color: #a31515"&gt;&amp;quot;;&amp;quot;&lt;/span&gt;);&lt;br /&gt;&lt;br /&gt;            &lt;span style="color: green"&gt;// if last cookie&lt;br /&gt;            &lt;/span&gt;&lt;span style="color: blue"&gt;if &lt;/span&gt;(last &amp;lt; 0) last = str.length;&lt;br /&gt;&lt;br /&gt;            &lt;span style="color: green"&gt;// get cookie value&lt;br /&gt;            &lt;/span&gt;str = str.substring(0,last).split(&lt;span style="color: #a31515"&gt;&amp;quot;=&amp;quot;&lt;/span&gt;);&lt;br /&gt;            &lt;span style="color: blue"&gt;return &lt;/span&gt;decodeURI(str[1]);&lt;br /&gt;        } &lt;span style="color: blue"&gt;else &lt;/span&gt;{&lt;br /&gt;            &lt;span style="color: blue"&gt;return null&lt;/span&gt;;&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;    &lt;br /&gt;    &lt;span style="color: green"&gt;// set cookie date to the past to erase&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: blue"&gt;function &lt;/span&gt;eraseCookie (key) {&lt;br /&gt;        &lt;span style="color: blue"&gt;var &lt;/span&gt;cookieDate = &lt;span style="color: blue"&gt;new &lt;/span&gt;Date(2000,11,10,19,30,30);&lt;br /&gt;        document.cookie=key + &lt;span style="color: #a31515"&gt;&amp;quot;= ; expires=&amp;quot;&lt;/span&gt;+cookieDate.toGMTString()+&lt;span style="color: #a31515"&gt;&amp;quot;; path=/&amp;quot;&lt;/span&gt;;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;&lt;span style="color: blue"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;script&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9164837514531450619-7396802333838672412?l=lamahashim.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lamahashim.blogspot.com/feeds/7396802333838672412/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9164837514531450619&amp;postID=7396802333838672412' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/7396802333838672412'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/7396802333838672412'/><link rel='alternate' type='text/html' href='http://lamahashim.blogspot.com/2010/03/cookie-manipulation-through-javascript.html' title='Cookie manipulation through JavaScript'/><author><name>A.m.a.L Hashim</name><uri>http://www.blogger.com/profile/04600206670507170118</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_bxrn2DJZgfo/S28F2fGQN9I/AAAAAAAAAPE/b3GLUwQjrFc/S220/Photo341.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9164837514531450619.post-3556058759820953145</id><published>2010-03-10T01:50:00.001-08:00</published><updated>2010-03-10T01:53:08.836-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Webservice'/><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><category scheme='http://www.blogger.com/atom/ns#' term='Call Serverside code from Javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='AJAX'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.Net'/><category scheme='http://www.blogger.com/atom/ns#' term='HTML'/><title type='text'>Accessing an ASP.Net WebMethod From JavaScript</title><content type='html'>&lt;p&gt;Lets start by creating a sample webservice. &lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Create a new Web Service application project from Visual Studio      &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_bxrn2DJZgfo/S5dradSkUOI/AAAAAAAAAVQ/t70nmcOLlmY/s1600-h/image%5B5%5D.png"&gt;&lt;img style="border-width: 0px; display: block; float: none; margin-left: auto; margin-right: auto;" title="image" alt="image" src="http://lh5.ggpht.com/_bxrn2DJZgfo/S5drazniDeI/AAAAAAAAAVU/xQhxVpPYedE/image_thumb%5B1%5D.png?imgmax=800" width="244" border="0" height="161" /&gt;&lt;/a&gt; &lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;Click Ok &lt;/li&gt;    &lt;li&gt;For demonstration lets keep the webservice simple. The template automatically create a HelloWorld webmethod.      &lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;using &lt;/span&gt;System;&lt;br /&gt;&lt;span style="color:blue;"&gt;using &lt;/span&gt;System.Collections.Generic;&lt;br /&gt;&lt;span style="color:blue;"&gt;using &lt;/span&gt;System.Linq;&lt;br /&gt;&lt;span style="color:blue;"&gt;using &lt;/span&gt;System.Web;&lt;br /&gt;&lt;span style="color:blue;"&gt;using &lt;/span&gt;System.Web.Services;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;namespace &lt;/span&gt;TestWebService&lt;br /&gt;{&lt;br /&gt;   &lt;span style="color:gray;"&gt;/// &amp;lt;summary&amp;gt;&lt;br /&gt;   /// &lt;/span&gt;&lt;span style="color:green;"&gt;Summary description for Service1&lt;br /&gt;   &lt;/span&gt;&lt;span style="color:gray;"&gt;/// &amp;lt;/summary&amp;gt;&lt;br /&gt;   &lt;/span&gt;[&lt;span style="color: rgb(43, 145, 175);"&gt;WebService&lt;/span&gt;(Namespace = &lt;span style="color: rgb(163, 21, 21);"&gt;"http://tempuri.org/"&lt;/span&gt;)]&lt;br /&gt;   [&lt;span style="color: rgb(43, 145, 175);"&gt;WebServiceBinding&lt;/span&gt;(ConformsTo = &lt;span style="color: rgb(43, 145, 175);"&gt;WsiProfiles&lt;/span&gt;.BasicProfile1_1)]&lt;br /&gt;   [System.ComponentModel.&lt;span style="color: rgb(43, 145, 175);"&gt;ToolboxItem&lt;/span&gt;(&lt;span style="color:blue;"&gt;false&lt;/span&gt;)]&lt;br /&gt;   &lt;span style="color:green;"&gt;// To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line.&lt;br /&gt;   // [System.Web.Script.Services.ScriptService]&lt;br /&gt;   &lt;/span&gt;&lt;span style="color:blue;"&gt;public class &lt;/span&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;Service1 &lt;/span&gt;: System.Web.Services.&lt;span style="color: rgb(43, 145, 175);"&gt;WebService&lt;br /&gt;   &lt;/span&gt;{&lt;br /&gt;&lt;br /&gt;       [&lt;span style="color: rgb(43, 145, 175);"&gt;WebMethod&lt;/span&gt;]&lt;br /&gt;       &lt;span style="color:blue;"&gt;public string &lt;/span&gt;HelloWorld()&lt;br /&gt;       {&lt;br /&gt;           &lt;span style="color:blue;"&gt;return &lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;"Hello World"&lt;/span&gt;;&lt;br /&gt;       }&lt;br /&gt;   }&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;For demonstration lets keep the webservice simple. The template automatically create a HelloWorld webmethod. &lt;/li&gt;&lt;br /&gt; &lt;li&gt;Add a new website to the Project&lt;br /&gt;   &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_bxrn2DJZgfo/S5drbmA_FdI/AAAAAAAAAVY/lYesM4eo7Tg/s1600-h/image%5B8%5D.png"&gt;&lt;img style="border-width: 0px; display: block; float: none; margin-left: auto; margin-right: auto;" title="image" alt="image" src="http://lh4.ggpht.com/_bxrn2DJZgfo/S5drcYdDS5I/AAAAAAAAAVc/9eJvD31Xq9w/image_thumb%5B2%5D.png?imgmax=800" width="244" border="0" height="161" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt; &lt;/li&gt;&lt;li&gt;Now we need to add the TestWebService reference to our TestWebsite. For this, right click the TestWebsite reference and select Add Service Reference. &lt;a href="http://lh3.ggpht.com/_bxrn2DJZgfo/S5drdIX3s_I/AAAAAAAAAVg/YwW8Y7fWcZY/s1600-h/image%5B11%5D.png"&gt;&lt;img style="border-width: 0px; display: block; float: none; margin-left: auto; margin-right: auto;" title="image" alt="image" src="http://lh4.ggpht.com/_bxrn2DJZgfo/S5drd75xuzI/AAAAAAAAAVk/hZFJ5klZmOE/image_thumb%5B3%5D.png?imgmax=800" width="244" border="0" height="173" /&gt;&lt;/a&gt; &lt;/li&gt;&lt;br /&gt;&lt;li&gt;This will bring up the following window, hit the discover button and press OK &lt;a href="http://lh5.ggpht.com/_bxrn2DJZgfo/S5drel_Ll7I/AAAAAAAAAVo/sSu6M0fBv8c/s1600-h/image%5B17%5D.png"&gt;&lt;img style="border-width: 0px; display: block; float: none; margin-left: auto; margin-right: auto;" title="image" alt="image" src="http://lh3.ggpht.com/_bxrn2DJZgfo/S5drfE7rMrI/AAAAAAAAAVs/H83mBHlkgTQ/image_thumb%5B5%5D.png?imgmax=800" width="244" border="0" height="203" /&gt;&lt;/a&gt; &lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;Now onload of the webpage I am going to call the WebService method using JavaScript.&lt;br /&gt;&lt;br /&gt;&lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;script &lt;/span&gt;&lt;span style="color:red;"&gt;language&lt;/span&gt;&lt;span style="color:blue;"&gt;="javascript" &lt;/span&gt;&lt;span style="color:red;"&gt;type&lt;/span&gt;&lt;span style="color:blue;"&gt;="text/javascript"&amp;gt;&lt;br /&gt;   &lt;/span&gt;window.onload = CallWebService();&lt;br /&gt;   &lt;span style="color:blue;"&gt;var &lt;/span&gt;xmlHttp;&lt;br /&gt;   &lt;span style="color:blue;"&gt;function &lt;/span&gt;CallWebService() {&lt;br /&gt;       xmlHttp=&lt;span style="color:blue;"&gt;new &lt;/span&gt;ActiveXObject(&lt;span style="color: rgb(163, 21, 21);"&gt;"Microsoft.XMLHTTP"&lt;/span&gt;);&lt;br /&gt;       xmlHttp.open(&lt;span style="color: rgb(163, 21, 21);"&gt;"post"&lt;/span&gt;, &lt;span style="color: rgb(163, 21, 21);"&gt;"http://localhost:2700/Service1.asmx/HelloWorld"&lt;/span&gt;, &lt;span style="color:blue;"&gt;false&lt;/span&gt;);&lt;br /&gt;       xmlHttp.onreadystatechange=doUpdate;&lt;br /&gt;       xmlHttp.send();&lt;br /&gt;       &lt;span style="color:blue;"&gt;return false&lt;/span&gt;;&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;   &lt;span style="color:blue;"&gt;function &lt;/span&gt;doUpdate(){&lt;br /&gt;       &lt;span style="color:blue;"&gt;if &lt;/span&gt;(xmlHttp.readyState == 4) {&lt;br /&gt;           &lt;span style="color:blue;"&gt;var &lt;/span&gt;startTag = &lt;span style="color: rgb(163, 21, 21);"&gt;"&amp;lt;string xmlns=\"http://tempuri.org/\"&amp;gt;"&lt;/span&gt;;&lt;br /&gt;           &lt;span style="color:blue;"&gt;var &lt;/span&gt;endTag = &lt;span style="color: rgb(163, 21, 21);"&gt;"&amp;lt;/string&amp;gt;"&lt;/span&gt;;&lt;br /&gt;           &lt;span style="color:blue;"&gt;var &lt;/span&gt;exch;&lt;br /&gt;           &lt;span style="color:blue;"&gt;var &lt;/span&gt;valueStart = 0;&lt;br /&gt;           &lt;span style="color:blue;"&gt;var &lt;/span&gt;valueEnd = 0;&lt;br /&gt;           valueStart = xmlHttp.responseXML.xml.indexOf(startTag, valueEnd) + startTag.length;&lt;br /&gt;           valueEnd = xmlHttp.responseXml.xml.indexOf(endTag, valueEnd + 1);&lt;br /&gt;           exch = xmlHttp.responseXML.xml.substring(valueStart, valueEnd);&lt;br /&gt;           alert(exch);&lt;br /&gt;       }&lt;br /&gt;   }   &lt;br /&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;script&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;View the default.aspx in browser will bring the following alert window&lt;a href="http://lh4.ggpht.com/_bxrn2DJZgfo/S5drfhEm_vI/AAAAAAAAAVw/qV7CRpBV9_M/s1600-h/image%5B20%5D.png"&gt;&lt;img style="border-width: 0px; display: block; float: none; margin-left: auto; margin-right: auto;" title="image" alt="image" src="http://lh5.ggpht.com/_bxrn2DJZgfo/S5drgX5kVyI/AAAAAAAAAV0/-vOjVy6oebc/image_thumb%5B6%5D.png?imgmax=800" width="187" border="0" height="130" /&gt;&lt;/a&gt;&lt;p&gt; &lt;/p&gt;What we are doing is, registering a method CallWebService() to the window onload event. In this method we are creating an XMLHttp object. This is used for AJAX call. Once we have this object, we will use the Open method for posting the request to the webservice. The false argument makes the call synchronous. If you are looking for asynchronous, the simply pass true. We need to assign a callback method. This method will get executed once the request object got changed. XMLHttp object has a property called ReadyState which can hold the following value0- uninitialized&lt;br /&gt;1- loading&lt;br /&gt;2- loaded&lt;br /&gt;3-interactive&lt;br /&gt;4-complete&lt;br /&gt;&lt;br /&gt;We will check if ready state is complete, means our request was successful. Now we need to parse the returned xml string and get the value.&lt;br /&gt;&lt;br /&gt;Note: I will update this article and add some more details like passing parameters back and forth. Keep checking :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9164837514531450619-3556058759820953145?l=lamahashim.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lamahashim.blogspot.com/feeds/3556058759820953145/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9164837514531450619&amp;postID=3556058759820953145' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/3556058759820953145'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/3556058759820953145'/><link rel='alternate' type='text/html' href='http://lamahashim.blogspot.com/2010/03/accessing-aspnet-webmethod-from.html' title='Accessing an ASP.Net WebMethod From JavaScript'/><author><name>A.m.a.L Hashim</name><uri>http://www.blogger.com/profile/04600206670507170118</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_bxrn2DJZgfo/S28F2fGQN9I/AAAAAAAAAPE/b3GLUwQjrFc/S220/Photo341.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/_bxrn2DJZgfo/S5drazniDeI/AAAAAAAAAVU/xQhxVpPYedE/s72-c/image_thumb%5B1%5D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9164837514531450619.post-3170129425472803576</id><published>2010-03-09T22:33:00.001-08:00</published><updated>2010-03-09T22:37:34.435-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CSS'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.Net'/><category scheme='http://www.blogger.com/atom/ns#' term='HTML'/><title type='text'>ASP.Net Password Input Width Issue</title><content type='html'>&lt;p&gt;I came across a strange issue with Password input and IE browser. I have set the width property as same as that of the other controls. But while rendering it in IE, the width of Password field was coming as around 10 pixel less than the other control. The best way to get rid of this issue was using CSS.&lt;/p&gt;  &lt;p&gt;Before applying CSS I was using the below code&lt;/p&gt;  &lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;html &lt;/span&gt;&lt;span style="color:red;"&gt;xmlns&lt;/span&gt;&lt;span style="color:blue;"&gt;="http://www.w3.org/1999/xhtml" &amp;gt;&lt;br /&gt;   &amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;body&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;       &amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;form &lt;/span&gt;&lt;span style="color:red;"&gt;id&lt;/span&gt;&lt;span style="color:blue;"&gt;="form1" &lt;/span&gt;&lt;span style="color:red;"&gt;runat&lt;/span&gt;&lt;span style="color:blue;"&gt;="server"&amp;gt;&lt;br /&gt;           &amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;table &lt;/span&gt;&lt;span style="color:red;"&gt;width&lt;/span&gt;&lt;span style="color:blue;"&gt;="25%"&amp;gt;&lt;br /&gt;               &amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;tr&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;                   &amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;td &lt;/span&gt;&lt;span style="color:red;"&gt;style&lt;/span&gt;&lt;span style="color:blue;"&gt;="&lt;/span&gt;&lt;span style="color:red;"&gt;width&lt;/span&gt;:&lt;span style="color:blue;"&gt;100%&lt;/span&gt;; &lt;span style="color:red;"&gt;text-align&lt;/span&gt;:&lt;span style="color:blue;"&gt;left"&amp;gt;&lt;/span&gt;UserName: &lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;td&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;                  &lt;br /&gt;                   &amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;td &lt;/span&gt;&lt;span style="color:red;"&gt;style&lt;/span&gt;&lt;span style="color:blue;"&gt;="&lt;/span&gt;&lt;span style="color:red;"&gt;width&lt;/span&gt;:&lt;span style="color:blue;"&gt;100%&lt;/span&gt;; &lt;span style="color:red;"&gt;text-align&lt;/span&gt;:&lt;span style="color:blue;"&gt;left"&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;asp&lt;/span&gt;&lt;span style="color:blue;"&gt;:&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;TextBox &lt;/span&gt;&lt;span style="color:red;"&gt;ID&lt;/span&gt;&lt;span style="color:blue;"&gt;="txtUserName" &lt;/span&gt;&lt;span style="color:red;"&gt;runat&lt;/span&gt;&lt;span style="color:blue;"&gt;="server"&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;asp&lt;/span&gt;&lt;span style="color:blue;"&gt;:&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;TextBox&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;td&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;               &amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;tr&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;               &amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;tr&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;                   &amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;td &lt;/span&gt;&lt;span style="color:red;"&gt;style&lt;/span&gt;&lt;span style="color:blue;"&gt;="&lt;/span&gt;&lt;span style="color:red;"&gt;width&lt;/span&gt;:&lt;span style="color:blue;"&gt;100%&lt;/span&gt;; &lt;span style="color:red;"&gt;text-align&lt;/span&gt;:&lt;span style="color:blue;"&gt;left"&amp;gt;&lt;/span&gt;Password: &lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;td&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;                  &lt;br /&gt;                   &amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;td &lt;/span&gt;&lt;span style="color:red;"&gt;style&lt;/span&gt;&lt;span style="color:blue;"&gt;="&lt;/span&gt;&lt;span style="color:red;"&gt;width&lt;/span&gt;:&lt;span style="color:blue;"&gt;100%&lt;/span&gt;; &lt;span style="color:red;"&gt;text-align&lt;/span&gt;:&lt;span style="color:blue;"&gt;left"&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;asp&lt;/span&gt;&lt;span style="color:blue;"&gt;:&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;TextBox &lt;/span&gt;&lt;span style="color:red;"&gt;ID&lt;/span&gt;&lt;span style="color:blue;"&gt;="txtPassword" &lt;/span&gt;&lt;span style="color:red;"&gt;TextMode&lt;/span&gt;&lt;span style="color:blue;"&gt;="Password" &lt;/span&gt;&lt;span style="color:red;"&gt;runat&lt;/span&gt;&lt;span style="color:blue;"&gt;="server"&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;asp&lt;/span&gt;&lt;span style="color:blue;"&gt;:&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;TextBox&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;td&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;               &amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;tr&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;           &amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;table&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;       &amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;form&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;   &amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;body&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;html&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;And in IE it’s coming as&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://lh5.ggpht.com/_bxrn2DJZgfo/S5c9QzLiQ5I/AAAAAAAAAVA/581PPAHO-1U/s1600-h/image%5B2%5D.png"&gt;&lt;img style="border: 0px none; display: inline;" title="image" alt="image" src="http://lh5.ggpht.com/_bxrn2DJZgfo/S5c9RjA3NGI/AAAAAAAAAVE/cAQwU0-eOaY/image_thumb.png?imgmax=800" width="244" border="0" height="182" /&gt;&lt;/a&gt; &lt;/p&gt;Resolution, I have defined the following style&lt;br /&gt;&lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;style &lt;/span&gt;&lt;span style="color:red;"&gt;type&lt;/span&gt;&lt;span style="color:blue;"&gt;="text/css" &amp;gt;&lt;br /&gt;       &lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;.TextBox&lt;br /&gt;       &lt;/span&gt;{&lt;br /&gt;           &lt;span style="color:red;"&gt;font-family&lt;/span&gt;: &lt;span style="color:blue;"&gt;Arial, Tahoma, Verdana, Calibri&lt;/span&gt;;&lt;br /&gt;           &lt;span style="color:red;"&gt;font-size&lt;/span&gt;: &lt;span style="color:blue;"&gt;12px&lt;/span&gt;;&lt;br /&gt;           &lt;span style="color:red;"&gt;color&lt;/span&gt;: &lt;span style="color:blue;"&gt;Black&lt;/span&gt;;&lt;br /&gt;           &lt;span style="color:red;"&gt;height&lt;/span&gt;: &lt;span style="color:blue;"&gt;auto&lt;/span&gt;;&lt;br /&gt;           &lt;span style="color:red;"&gt;width&lt;/span&gt;: &lt;span style="color:blue;"&gt;auto&lt;/span&gt;;&lt;br /&gt;       }&lt;br /&gt;   &lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;style&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;p&gt;And modified the HTML as&lt;br /&gt;&lt;/p&gt;&lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;html &lt;/span&gt;&lt;span style="color:red;"&gt;xmlns&lt;/span&gt;&lt;span style="color:blue;"&gt;="http://www.w3.org/1999/xhtml" &amp;gt;&lt;br /&gt;   &amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;body&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;       &amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;form &lt;/span&gt;&lt;span style="color:red;"&gt;id&lt;/span&gt;&lt;span style="color:blue;"&gt;="form1" &lt;/span&gt;&lt;span style="color:red;"&gt;runat&lt;/span&gt;&lt;span style="color:blue;"&gt;="server"&amp;gt;&lt;br /&gt;           &amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;table &lt;/span&gt;&lt;span style="color:red;"&gt;width&lt;/span&gt;&lt;span style="color:blue;"&gt;="25%"&amp;gt;&lt;br /&gt;               &amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;tr&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;                   &amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;td &lt;/span&gt;&lt;span style="color:red;"&gt;style&lt;/span&gt;&lt;span style="color:blue;"&gt;="&lt;/span&gt;&lt;span style="color:red;"&gt;width&lt;/span&gt;:&lt;span style="color:blue;"&gt;100%&lt;/span&gt;; &lt;span style="color:red;"&gt;text-align&lt;/span&gt;:&lt;span style="color:blue;"&gt;left"&amp;gt;&lt;/span&gt;UserName: &lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;td&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;                  &lt;br /&gt;                   &amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;td &lt;/span&gt;&lt;span style="color:red;"&gt;style&lt;/span&gt;&lt;span style="color:blue;"&gt;="&lt;/span&gt;&lt;span style="color:red;"&gt;width&lt;/span&gt;:&lt;span style="color:blue;"&gt;100%&lt;/span&gt;; &lt;span style="color:red;"&gt;text-align&lt;/span&gt;:&lt;span style="color:blue;"&gt;left"&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;asp&lt;/span&gt;&lt;span style="color:blue;"&gt;:&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;TextBox &lt;/span&gt;&lt;span style="color:red;"&gt;CssClass&lt;/span&gt;&lt;span style="color:blue;"&gt;="TextBox" &lt;/span&gt;&lt;span style="color:red;"&gt;ID&lt;/span&gt;&lt;span style="color:blue;"&gt;="txtUserName" &lt;/span&gt;&lt;span style="color:red;"&gt;runat&lt;/span&gt;&lt;span style="color:blue;"&gt;="server"&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;asp&lt;/span&gt;&lt;span style="color:blue;"&gt;:&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;TextBox&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;td&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;               &amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;tr&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;               &amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;tr&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;                   &amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;td &lt;/span&gt;&lt;span style="color:red;"&gt;style&lt;/span&gt;&lt;span style="color:blue;"&gt;="&lt;/span&gt;&lt;span style="color:red;"&gt;width&lt;/span&gt;:&lt;span style="color:blue;"&gt;100%&lt;/span&gt;; &lt;span style="color:red;"&gt;text-align&lt;/span&gt;:&lt;span style="color:blue;"&gt;left"&amp;gt;&lt;/span&gt;Password: &lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;td&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;                  &lt;br /&gt;                   &amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;td &lt;/span&gt;&lt;span style="color:red;"&gt;style&lt;/span&gt;&lt;span style="color:blue;"&gt;="&lt;/span&gt;&lt;span style="color:red;"&gt;width&lt;/span&gt;:&lt;span style="color:blue;"&gt;100%&lt;/span&gt;; &lt;span style="color:red;"&gt;text-align&lt;/span&gt;:&lt;span style="color:blue;"&gt;left"&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;asp&lt;/span&gt;&lt;span style="color:blue;"&gt;:&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;TextBox  &lt;/span&gt;&lt;span style="color:red;"&gt;CssClass&lt;/span&gt;&lt;span style="color:blue;"&gt;="TextBox" &lt;/span&gt;&lt;span style="color:red;"&gt;ID&lt;/span&gt;&lt;span style="color:blue;"&gt;="txtPassword" &lt;/span&gt;&lt;span style="color:red;"&gt;TextMode&lt;/span&gt;&lt;span style="color:blue;"&gt;="Password" &lt;/span&gt;&lt;span style="color:red;"&gt;runat&lt;/span&gt;&lt;span style="color:blue;"&gt;="server"&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;asp&lt;/span&gt;&lt;span style="color:blue;"&gt;:&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;TextBox&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;td&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;               &amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;tr&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;           &amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;table&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;       &amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;form&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;   &amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;body&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;html&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;p&gt;Now in IE it’s coming as&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://lh5.ggpht.com/_bxrn2DJZgfo/S5c9SODlPDI/AAAAAAAAAVI/7oBsSwYkEO4/s1600-h/image%5B5%5D.png"&gt;&lt;img style="border: 0px none; display: inline;" title="image" alt="image" src="http://lh6.ggpht.com/_bxrn2DJZgfo/S5c9S3QDI6I/AAAAAAAAAVM/dRGspZf16i4/image_thumb%5B1%5D.png?imgmax=800" width="244" border="0" height="200" /&gt;&lt;/a&gt; &lt;/p&gt;Viola!!!!! issue resolved. Hope this helps.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9164837514531450619-3170129425472803576?l=lamahashim.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lamahashim.blogspot.com/feeds/3170129425472803576/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9164837514531450619&amp;postID=3170129425472803576' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/3170129425472803576'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/3170129425472803576'/><link rel='alternate' type='text/html' href='http://lamahashim.blogspot.com/2010/03/aspnet-password-input-width-issue.html' title='ASP.Net Password Input Width Issue'/><author><name>A.m.a.L Hashim</name><uri>http://www.blogger.com/profile/04600206670507170118</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_bxrn2DJZgfo/S28F2fGQN9I/AAAAAAAAAPE/b3GLUwQjrFc/S220/Photo341.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/_bxrn2DJZgfo/S5c9RjA3NGI/AAAAAAAAAVE/cAQwU0-eOaY/s72-c/image_thumb.png?imgmax=800' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9164837514531450619.post-9208834210924676960</id><published>2010-03-09T10:52:00.001-08:00</published><updated>2010-03-09T11:03:13.545-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><category scheme='http://www.blogger.com/atom/ns#' term='XPath'/><category scheme='http://www.blogger.com/atom/ns#' term='JQuery'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.Net'/><category scheme='http://www.blogger.com/atom/ns#' term='HTML'/><category scheme='http://www.blogger.com/atom/ns#' term='Selectors'/><title type='text'>jQuery A to Z – Part 2</title><content type='html'>As I promised in this part i am going to cover in depth of how to select/find elements from the DOM. One important thing I want to point out is about jQuery objects. We will use various methods for getting the DOM element. Once we get it, it will be in the form of jQuery object and this object is entirely different from the HTML element. And hence the properties and method will be different. &lt;br /&gt;&lt;br /&gt;Selectors start with $() function which basically removes the need for a loop to access the group of elements as the objects are automatically looped and added by jQuery. Some examples&lt;br /&gt;&lt;br /&gt;$(‘div’) – get all div elements in the document&lt;br /&gt;$(‘#elementid’) – get all elements in the document having the given id&lt;br /&gt;$(‘.classname’) – get all elements in the document having the class assigned to the given classname&lt;br /&gt;&lt;br /&gt;Lets start Part 2 example by creating a website as we discussed in Part 1. Replace the code in default.aspx with the one provided below&lt;br /&gt;&lt;br /&gt;&lt;pre class="code"&gt;&lt;span style="background: #ffee62;"&gt;&amp;lt;%&lt;/span&gt;&lt;span style="color: blue;"&gt;@ &lt;/span&gt;&lt;span style="color: #a31515;"&gt;Page &lt;/span&gt;&lt;span style="color: red;"&gt;Language&lt;/span&gt;&lt;span style="color: blue;"&gt;="C#" &lt;/span&gt;&lt;span style="color: red;"&gt;AutoEventWireup&lt;/span&gt;&lt;span style="color: blue;"&gt;="true" &lt;/span&gt;&lt;span style="color: red;"&gt;CodeBehind&lt;/span&gt;&lt;span style="color: blue;"&gt;="Default.aspx.cs" &lt;/span&gt;&lt;span style="color: red;"&gt;Inherits&lt;/span&gt;&lt;span style="color: blue;"&gt;="Part2._Default" &lt;/span&gt;&lt;span style="background: #ffee62;"&gt;%&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;lt;!&lt;/span&gt;&lt;span style="color: #a31515;"&gt;DOCTYPE &lt;/span&gt;&lt;span style="color: red;"&gt;html PUBLIC &lt;/span&gt;&lt;span style="color: blue;"&gt;"-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&amp;gt;&lt;br /&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;html &lt;/span&gt;&lt;span style="color: red;"&gt;xmlns&lt;/span&gt;&lt;span style="color: blue;"&gt;="http://www.w3.org/1999/xhtml"&amp;gt;&lt;br /&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;head &lt;/span&gt;&lt;span style="color: red;"&gt;runat&lt;/span&gt;&lt;span style="color: blue;"&gt;="server"&amp;gt;&lt;br /&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;title&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;Untitled Page&lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515;"&gt;title&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;script &lt;/span&gt;&lt;span style="color: red;"&gt;src&lt;/span&gt;&lt;span style="color: blue;"&gt;="jquery-1.3.2.js" &lt;/span&gt;&lt;span style="color: red;"&gt;type&lt;/span&gt;&lt;span style="color: blue;"&gt;="text/javascript"&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515;"&gt;script&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;style &lt;/span&gt;&lt;span style="color: red;"&gt;type&lt;/span&gt;&lt;span style="color: blue;"&gt;="text/css"&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;.horizontal&lt;br /&gt;&lt;/span&gt;{&lt;br /&gt;&lt;span style="color: red;"&gt;float&lt;/span&gt;: &lt;span style="color: blue;"&gt;left&lt;/span&gt;;&lt;br /&gt;&lt;span style="color: red;"&gt;list-style&lt;/span&gt;: &lt;span style="color: blue;"&gt;none&lt;/span&gt;;&lt;br /&gt;&lt;span style="color: red;"&gt;margin&lt;/span&gt;: &lt;span style="color: blue;"&gt;10px&lt;/span&gt;;&lt;br /&gt;}&lt;br /&gt;&lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515;"&gt;style&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;br /&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515;"&gt;head&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;script &lt;/span&gt;&lt;span style="color: red;"&gt;type&lt;/span&gt;&lt;span style="color: blue;"&gt;="text/javascript" &lt;/span&gt;&lt;span style="color: red;"&gt;language&lt;/span&gt;&lt;span style="color: blue;"&gt;="javascript"&amp;gt;&lt;br /&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515;"&gt;script&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;body&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;br /&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;form &lt;/span&gt;&lt;span style="color: red;"&gt;id&lt;/span&gt;&lt;span style="color: blue;"&gt;="form1" &lt;/span&gt;&lt;span style="color: red;"&gt;runat&lt;/span&gt;&lt;span style="color: blue;"&gt;="server"&amp;gt;&lt;br /&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;ul &lt;/span&gt;&lt;span style="color: red;"&gt;id&lt;/span&gt;&lt;span style="color: blue;"&gt;="os"&amp;gt;&lt;br /&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;li&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;Windows&lt;br /&gt;&lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;ul&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;br /&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;li&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;DOS&lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515;"&gt;li&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;br /&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;li&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;Win 95&lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515;"&gt;li&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;br /&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;li&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;Win 98&lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515;"&gt;li&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;br /&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;li&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;Win ME&lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515;"&gt;li&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;br /&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;li&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;Win XP&lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515;"&gt;li&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;br /&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;li&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;Win Vista&lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515;"&gt;li&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;br /&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;li&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;Win 7&lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515;"&gt;li&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;br /&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515;"&gt;ul&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;br /&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515;"&gt;li&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;br /&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;li&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;Unix&lt;br /&gt;&lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;ul&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;br /&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;li&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;Unix&lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515;"&gt;li&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;br /&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;li&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;Solaris&lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515;"&gt;li&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;br /&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;li&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;Linux&lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515;"&gt;li&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;br /&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515;"&gt;ul&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;br /&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515;"&gt;li&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;br /&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515;"&gt;ul&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;br /&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515;"&gt;form&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;br /&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515;"&gt;body&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;br /&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515;"&gt;html&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;The output of the website will be as follows&lt;br /&gt;&lt;br /&gt;&lt;a href="http://lh6.ggpht.com/_bxrn2DJZgfo/S5aYkPUzjFI/AAAAAAAAAUY/GFbYZo3R7Zs/s1600-h/image%5B2%5D.png"&gt;&lt;img alt="image" border="0" height="244" src="http://lh6.ggpht.com/_bxrn2DJZgfo/S5aYlz_Q5EI/AAAAAAAAAUc/UnIk2lRl4eo/image_thumb.png?imgmax=800" style="border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;" title="image" width="199" /&gt;&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;Now lets apply the Style “horizontal”. Add the below code in your page file.&lt;br /&gt;&lt;br /&gt;&lt;pre class="code"&gt;&lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;script &lt;/span&gt;&lt;span style="color: red;"&gt;type&lt;/span&gt;&lt;span style="color: blue;"&gt;="text/javascript" &lt;/span&gt;&lt;span style="color: red;"&gt;language&lt;/span&gt;&lt;span style="color: blue;"&gt;="javascript"&amp;gt;&lt;br /&gt;&lt;/span&gt;$(document).ready(&lt;span style="color: blue;"&gt;function&lt;/span&gt;() {&lt;br /&gt;$(&lt;span style="color: #a31515;"&gt;'#os &amp;gt; li'&lt;/span&gt;).addClass(&lt;span style="color: #a31515;"&gt;'horizontal'&lt;/span&gt;);&lt;br /&gt;});&lt;br /&gt;&lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515;"&gt;script&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;Here we are using the child combinator ( &amp;gt; ) to get all list items that is a child of an element with an ID of os (#os). The output of this query will make the page as follows&lt;br /&gt;&lt;br /&gt;&lt;a href="http://lh5.ggpht.com/_bxrn2DJZgfo/S5aYobKVJoI/AAAAAAAAAUg/inYmbZIOqBU/s1600-h/image%5B5%5D.png"&gt;&lt;img alt="image" border="0" height="244" src="http://lh3.ggpht.com/_bxrn2DJZgfo/S5aYrZ0rGMI/AAAAAAAAAUk/63-q5qbVRCw/image_thumb%5B1%5D.png?imgmax=800" style="border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;" title="image" width="238" /&gt;&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;We can use the negation pseudo-class to identify all list items that do not have a class of horizontal. For that we will be using the following code.&lt;br /&gt;&lt;br /&gt;&lt;pre class="code"&gt;$(&lt;span style="color: #a31515;"&gt;'#os li:not(.horizontal)'&lt;/span&gt;).addClass(&lt;span style="color: #a31515;"&gt;'sub-level'&lt;/span&gt;);&lt;/pre&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;and the sub-level class will be&lt;br /&gt;&lt;pre class="code"&gt;&lt;span style="color: #a31515;"&gt;.sub-level&lt;br /&gt;&lt;/span&gt;{&lt;br /&gt;&lt;span style="color: red;"&gt;background-color&lt;/span&gt;: &lt;span style="color: blue;"&gt;Yellow&lt;/span&gt;;&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;The jQuery will get all list items that do not have class horizontal, and for those list items it will apply the style sub-level. The output will be as shown below.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://lh3.ggpht.com/_bxrn2DJZgfo/S5aYuad_qgI/AAAAAAAAAUo/SyutAKqK3gM/s1600-h/image%5B8%5D.png"&gt;&lt;img alt="image" border="0" height="244" src="http://lh4.ggpht.com/_bxrn2DJZgfo/S5aYzT3gl7I/AAAAAAAAAUs/MLaEc5yIiTA/image_thumb%5B2%5D.png?imgmax=800" style="border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;" title="image" width="241" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;jQuery supports a set of basic XPath selectors. For selecting attributes jQuery uses XPath selectors. For example, for selecting all div which as width attributes &lt;br /&gt;&lt;br /&gt;&lt;pre class="code"&gt;$(&lt;span style="color: #a31515;"&gt;'div[@width]'&lt;/span&gt;)&lt;/pre&gt;&lt;br /&gt;Another scenario is if we want to get the element which contains another element&lt;br /&gt;&lt;br /&gt;&lt;pre class="code"&gt;$(&lt;span style="color: #a31515;"&gt;'div[table]'&lt;/span&gt;)&lt;/pre&gt;&lt;br /&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;The above statements will get all the div’s which has a table.&lt;br /&gt;Using XPath we can find if the attribute starts with a string as follows&lt;br /&gt;&lt;pre class="code"&gt;$(&lt;span style="color: #a31515;"&gt;'a[@href^="mailto:"'&lt;/span&gt;)&lt;/pre&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;The above statement will get all anchor tag with attribute href starts with mailto&lt;br /&gt;&lt;br /&gt;Similarly for finding the ending with&lt;br /&gt;&lt;pre class="code"&gt;$(&lt;span style="color: #a31515;"&gt;'a[@href$=".aspx"'&lt;/span&gt;)&lt;/pre&gt;&lt;br /&gt;This will find all anchor tags with href attribute ending with aspx extension&lt;br /&gt;&lt;pre class="code"&gt;$(&lt;span style="color: #a31515;"&gt;'a[@href*="domain"'&lt;/span&gt;)&lt;/pre&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;Above query will find all anchor tags with href attribute containing the string domain anywhere.&lt;br /&gt;&lt;br /&gt;All the selectors discussed return a set of elements, from the set if we want to access elements by index, we can use the Custom selector. Similar to array index, the index starts with 0. &lt;br /&gt;&lt;pre class="code"&gt;$(&lt;span style="color: #a31515;"&gt;'div.horizontal:eq(0)'&lt;/span&gt;)&lt;br /&gt;&lt;/pre&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;Since CSS index is one based, in CSS selector we must use 1 to get the 1st element.&lt;br /&gt;Two important custom selector included in jQuery are odd and even. For demonstrating this, let’s add a table element to our as shown below.&lt;br /&gt;&lt;pre class="code"&gt;&lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;table&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;br /&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;tr&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;br /&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;td&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;SomeData1&lt;br /&gt;&lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515;"&gt;td&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;br /&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;td&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;SomeData2&lt;br /&gt;&lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515;"&gt;td&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;br /&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515;"&gt;tr&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;br /&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;tr&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;br /&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;td&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;SomeData3&lt;br /&gt;&lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515;"&gt;td&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;br /&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;td&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;SomeData4&lt;br /&gt;&lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515;"&gt;td&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;br /&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515;"&gt;tr&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;br /&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;tr&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;br /&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;td&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;SomeData5&lt;br /&gt;&lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515;"&gt;td&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;br /&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;td&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;SomeData6&lt;br /&gt;&lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515;"&gt;td&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;br /&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515;"&gt;tr&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;br /&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;tr&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;br /&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;td&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;SomeData7&lt;br /&gt;&lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515;"&gt;td&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;br /&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;td&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;SomeData8&lt;br /&gt;&lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515;"&gt;td&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;br /&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515;"&gt;tr&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;br /&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;tr&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;br /&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;td&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;SomeData9&lt;br /&gt;&lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515;"&gt;td&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;br /&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;td&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;SomeData10&lt;br /&gt;&lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515;"&gt;td&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;br /&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515;"&gt;tr&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;br /&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515;"&gt;table&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;Include the below style for creating alternate rows&lt;br /&gt;&lt;br /&gt;&lt;pre class="code"&gt;&lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;style &lt;/span&gt;&lt;span style="color: red;"&gt;type&lt;/span&gt;&lt;span style="color: blue;"&gt;="text/css"&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;.odd-style&lt;br /&gt;&lt;/span&gt;{&lt;br /&gt;&lt;span style="color: red;"&gt;background-color&lt;/span&gt;: &lt;span style="color: blue;"&gt;Olive&lt;/span&gt;;&lt;br /&gt;}&lt;br /&gt;&lt;span style="color: #a31515;"&gt;.even-style&lt;br /&gt;&lt;/span&gt;{&lt;br /&gt;&lt;span style="color: red;"&gt;background-color&lt;/span&gt;: &lt;span style="color: blue;"&gt;Aqua&lt;/span&gt;;&lt;br /&gt;}&lt;br /&gt;&lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515;"&gt;style&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&lt;/pre&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;Now let’s see how jQuery can apply those styles to the table.&lt;br /&gt;&lt;br /&gt;&lt;pre class="code"&gt;&lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;script &lt;/span&gt;&lt;span style="color: red;"&gt;type&lt;/span&gt;&lt;span style="color: blue;"&gt;="text/javascript" &lt;/span&gt;&lt;span style="color: red;"&gt;language&lt;/span&gt;&lt;span style="color: blue;"&gt;="javascript"&amp;gt;&lt;br /&gt;&lt;/span&gt;$(document).ready(&lt;span style="color: blue;"&gt;function&lt;/span&gt;() {&lt;br /&gt;$(&lt;span style="color: #a31515;"&gt;'tr:odd'&lt;/span&gt;).addClass(&lt;span style="color: #a31515;"&gt;'odd-style'&lt;/span&gt;);&lt;br /&gt;$(&lt;span style="color: #a31515;"&gt;'tr:even'&lt;/span&gt;).addClass(&lt;span style="color: #a31515;"&gt;'even-style'&lt;/span&gt;);&lt;br /&gt;});&lt;br /&gt;&lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515;"&gt;script&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;Here is the output&lt;br /&gt;&lt;br /&gt;&lt;a href="http://lh3.ggpht.com/_bxrn2DJZgfo/S5aY2Zc38BI/AAAAAAAAAUw/JprRpN1C_sA/s1600-h/image%5B11%5D.png"&gt;&lt;img alt="image" border="0" height="230" src="http://lh5.ggpht.com/_bxrn2DJZgfo/S5aY8PCyL-I/AAAAAAAAAU0/zmbPkqD4594/image_thumb%5B3%5D.png?imgmax=800" style="border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline;" title="image" width="222" /&gt;&lt;/a&gt;&lt;br /&gt;The first row index is 0 so its treated as even.&lt;br /&gt;&lt;br /&gt;&lt;pre class="code"&gt;$(&lt;span style="color: #a31515;"&gt;'td:contains("somedata4")'&lt;/span&gt;).addClass(&lt;span style="color: #a31515;"&gt;'bold'&lt;/span&gt;);&lt;/pre&gt;&lt;br /&gt;will produce the following output&lt;br /&gt;&lt;a href="http://lh3.ggpht.com/_bxrn2DJZgfo/S5aY_I902cI/AAAAAAAAAU4/MEAxziRI7Cg/s1600-h/image%5B14%5D.png"&gt;&lt;img alt="image" border="0" height="220" src="http://lh5.ggpht.com/_bxrn2DJZgfo/S5aZA1tbGMI/AAAAAAAAAU8/E0SNCNiugl8/image_thumb%5B4%5D.png?imgmax=800" style="border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline;" title="image" width="184" /&gt;&lt;/a&gt;&lt;br /&gt;Let’s explore some DOM Traversal methods&lt;br /&gt;&lt;br /&gt;&lt;pre class="code"&gt;$(&lt;span style="color: #a31515;"&gt;'tr'&lt;/span&gt;).filter(&lt;span style="color: #a31515;"&gt;':odd'&lt;/span&gt;).addClass(&lt;span style="color: #a31515;"&gt;'odd-style'&lt;/span&gt;);&lt;br /&gt;&lt;/pre&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;This is another way to traverse the DOM and the impact is same as the statement we used for applying odd-style in previous scenario. I am going to add headers to our table by placing the following to the beginning of the table element.&lt;br /&gt;&lt;pre class="code"&gt;&lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;tr&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;br /&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;th&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;Column1&lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515;"&gt;th&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;br /&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;th&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;Column2&lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515;"&gt;th&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;br /&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515;"&gt;tr&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;Now the jQuery is modified as follows&lt;br /&gt;&lt;pre class="code"&gt;$(&lt;span style="color: #a31515;"&gt;'th'&lt;/span&gt;).parent().addClass(&lt;span style="color: #a31515;"&gt;'heading-style'&lt;/span&gt;);&lt;br /&gt;$(&lt;span style="color: #a31515;"&gt;'tr:not([th]):even'&lt;/span&gt;).addClass(&lt;span style="color: #a31515;"&gt;'even-style'&lt;/span&gt;);&lt;br /&gt;$(&lt;span style="color: #a31515;"&gt;'tr:not([th]):odd'&lt;/span&gt;).addClass(&lt;span style="color: #a31515;"&gt;'odd-style'&lt;/span&gt;);&lt;br /&gt;$(&lt;span style="color: #a31515;"&gt;'td:contains("SomeData3")'&lt;/span&gt;).addClass(&lt;span style="color: #a31515;"&gt;'bold'&lt;/span&gt;);&lt;/pre&gt;1st statement will get the parent of ‘th’ which will be the 1st tr and apply the style heading-style&lt;br /&gt;2nd statement will get all tr even which don’t have a th element and applies the even-style&lt;br /&gt;3rd statement will get all tr odd which don’t have a th element and applies the odd-style&lt;br /&gt;4th statement remains the same as previous but only change is here i am making the 3rd cell bold. This is done to explain the next statement :-)&lt;br /&gt;&lt;pre class="code"&gt;$(&lt;span style="color: #a31515;"&gt;'td:contains("SomeData3")'&lt;/span&gt;).next().addClass(&lt;span style="color: #a31515;"&gt;'bold'&lt;/span&gt;);&lt;/pre&gt;&lt;br /&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;This will apply the style bold to the next cell following cell which has data “SomeData3”.&lt;br /&gt;&lt;br /&gt;Some more samples.&lt;br /&gt;&lt;br /&gt;&lt;pre class="code"&gt;$(&lt;span style="color: #a31515;"&gt;'td:contains("SomeData3")'&lt;/span&gt;).siblings().addClass(&lt;span style="color: #a31515;"&gt;'bold'&lt;/span&gt;);&lt;br /&gt;$(&lt;span style="color: #a31515;"&gt;'td:contains("SomeData3")'&lt;/span&gt;).parent().find(&lt;span style="color: #a31515;"&gt;'td:gt(0)'&lt;/span&gt;)&lt;br /&gt;.addClass(&lt;span style="color: #a31515;"&gt;'highlight'&lt;/span&gt;);&lt;br /&gt;$(&lt;span style="color: #a31515;"&gt;'td:contains("SomeData3")'&lt;/span&gt;).parent().find(&lt;span style="color: #a31515;"&gt;'td'&lt;/span&gt;).not(&lt;span style="color: #a31515;"&gt;':contains("SomeData3")'&lt;/span&gt;)).addClass(&lt;span style="color: #a31515;"&gt;'bold'&lt;/span&gt;);&lt;br /&gt;$(&lt;span style="color: #a31515;"&gt;'td:contains("SomeData3")'&lt;/span&gt;).parent().find(&lt;span style="color: #a31515;"&gt;'td:eq(1)'&lt;/span&gt;).addClass(&lt;br /&gt;&lt;span style="color: #a31515;"&gt;'bold'&lt;/span&gt;).end().find(&lt;span style="color: #a31515;"&gt;'td:eq(2)'&lt;/span&gt;).addClass(&lt;span style="color: #a31515;"&gt;'bold'&lt;/span&gt;);&lt;/pre&gt;&lt;br /&gt;Hope you reached a level to understand the above statements. Else add it to your website and do some experiments :-)&lt;br /&gt;&lt;br /&gt;Add one more column to our table and use the following jQuery&lt;br /&gt;&lt;br /&gt;&lt;pre class="code"&gt;$(&lt;span style="color: #a31515;"&gt;'td:contains("SomeData3")'&lt;/span&gt;)  &lt;span style="color: green;"&gt;//get every cell containing "SomeData3"&lt;br /&gt;&lt;/span&gt;.parent()  &lt;span style="color: green;"&gt;//get its parent&lt;br /&gt;&lt;/span&gt;.find(&lt;span style="color: #a31515;"&gt;'td:eq(1)'&lt;/span&gt;)  &lt;span style="color: green;"&gt;//find inside the parent the 2nd cell&lt;br /&gt;&lt;/span&gt;.addClass(&lt;span style="color: #a31515;"&gt;'bold'&lt;/span&gt;)  &lt;span style="color: green;"&gt;//add the "bold" class to that cell&lt;br /&gt;&lt;/span&gt;.end()  &lt;span style="color: green;"&gt;//revert back to the parent of the cell containing "SomeData3"&lt;br /&gt;&lt;/span&gt;.find(&lt;span style="color: #a31515;"&gt;'td:eq(2)'&lt;/span&gt;)  &lt;span style="color: green;"&gt;//find inside the parent the 3rd cell&lt;br /&gt;&lt;/span&gt;.addClass(&lt;span style="color: #a31515;"&gt;'bold'&lt;/span&gt;);  &lt;span style="color: green;"&gt;//add the "bold" class to that cell&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;If you want to find the tag name of an element with id “myId”, use the following statement&lt;br /&gt;&lt;br /&gt;&lt;pre class="code"&gt;&lt;span style="color: blue;"&gt;var &lt;/span&gt;myTag = $(&lt;span style="color: #a31515;"&gt;'#myId'&lt;/span&gt;).&lt;span style="color: blue;"&gt;get&lt;/span&gt;(0).tagName;&lt;br /&gt;&lt;span style="color: blue;"&gt;var &lt;/span&gt;myTag = $(&lt;span style="color: #a31515;"&gt;'#myId'&lt;/span&gt;)[0].tagName;&lt;/pre&gt;&lt;br /&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;Both will do the same job. This is the end of part 2. Hope it was a good learning. In part 3 I am planning to explain about Event and jQuery.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9164837514531450619-9208834210924676960?l=lamahashim.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lamahashim.blogspot.com/feeds/9208834210924676960/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9164837514531450619&amp;postID=9208834210924676960' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/9208834210924676960'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/9208834210924676960'/><link rel='alternate' type='text/html' href='http://lamahashim.blogspot.com/2010/03/jquery-to-z-part-2.html' title='jQuery A to Z – Part 2'/><author><name>A.m.a.L Hashim</name><uri>http://www.blogger.com/profile/04600206670507170118</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_bxrn2DJZgfo/S28F2fGQN9I/AAAAAAAAAPE/b3GLUwQjrFc/S220/Photo341.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/_bxrn2DJZgfo/S5aYlz_Q5EI/AAAAAAAAAUc/UnIk2lRl4eo/s72-c/image_thumb.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9164837514531450619.post-8633053691875746386</id><published>2010-03-08T07:04:00.001-08:00</published><updated>2010-03-08T07:07:55.640-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Network'/><category scheme='http://www.blogger.com/atom/ns#' term='WinSock'/><category scheme='http://www.blogger.com/atom/ns#' term='Win32'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='Disable'/><title type='text'>Disabling Network using C#</title><content type='html'>In C# there are several ways to interact with network interfaces. Which include WMI, NetworkInformation Namespace, Win32 API’s etc. In this article I am going to explain, how easily we can query network information's and play with it.&lt;br /&gt;&lt;pre class="code"&gt;&lt;span style="color: grey;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt;Check whether network is available or not&lt;br /&gt;&lt;/span&gt;&lt;span style="color: blue;"&gt;bool &lt;/span&gt;isNwUp = System.Net.NetworkInformation.&lt;span style="color: #2b91af;"&gt;NetworkInterface&lt;/span&gt;.GetIsNetworkAvailable();&lt;br /&gt;&lt;br /&gt;&lt;span style="color: grey;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt;Get all network cards and display status&lt;br /&gt;&lt;/span&gt;System.Net.NetworkInformation.&lt;span style="color: #2b91af;"&gt;NetworkInterface&lt;/span&gt;[] networkCards = System.Net.NetworkInformation.&lt;span style="color: #2b91af;"&gt;NetworkInterface&lt;/span&gt;.GetAllNetworkInterfaces();&lt;br /&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;foreach &lt;/span&gt;(System.Net.NetworkInformation.&lt;span style="color: #2b91af;"&gt;NetworkInterface &lt;/span&gt;ni &lt;span style="color: blue;"&gt;in &lt;/span&gt;networkCards)&lt;br /&gt;{&lt;br /&gt;&lt;span style="color: #2b91af;"&gt;Console&lt;/span&gt;.WriteLine(ni.Name + &lt;span style="color: #a31515;"&gt;": " &lt;/span&gt;+ ni.OperationalStatus.ToString());&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;&lt;br /&gt;Now let’s see how we can enable/disable a network connection. I have written a generic class wrapping all required methods.&lt;br /&gt;&lt;br /&gt;&lt;pre class="code"&gt;&lt;span style="color: grey;"&gt;/// &amp;lt;summary&amp;gt;&lt;br /&gt;/// &lt;/span&gt;&lt;span style="color: green;"&gt;This is a generic class for disconnecting TCP connections.&lt;br /&gt;&lt;/span&gt;&lt;span style="color: grey;"&gt;/// &lt;/span&gt;&lt;span style="color: green;"&gt;This class can be used to&lt;br /&gt;&lt;/span&gt;&lt;span style="color: grey;"&gt;/// &lt;/span&gt;&lt;span style="color: green;"&gt;1. Get a list of all connections.&lt;br /&gt;&lt;/span&gt;&lt;span style="color: grey;"&gt;/// &lt;/span&gt;&lt;span style="color: green;"&gt;2. Cloas a connection&lt;br /&gt;&lt;/span&gt;&lt;span style="color: grey;"&gt;/// &amp;lt;/summary&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: blue;"&gt;public static class &lt;/span&gt;&lt;span style="color: #2b91af;"&gt;DisconnectWrapper&lt;br /&gt;&lt;/span&gt;{&lt;br /&gt;&lt;span style="color: grey;"&gt;/// &amp;lt;summary&amp;gt;&lt;br /&gt;/// &lt;/span&gt;&lt;span style="color: green;"&gt;Enumeration of connection states&lt;br /&gt;&lt;/span&gt;&lt;span style="color: grey;"&gt;/// &amp;lt;/summary&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: blue;"&gt;public enum &lt;/span&gt;&lt;span style="color: #2b91af;"&gt;ConnectionState&lt;br /&gt;&lt;/span&gt;{&lt;br /&gt;All = 0,&lt;br /&gt;Closed = 1,&lt;br /&gt;Listen = 2,&lt;br /&gt;Syn_Sent = 3,&lt;br /&gt;Syn_Rcvd = 4,&lt;br /&gt;Established = 5,&lt;br /&gt;Fin_Wait1 = 6,&lt;br /&gt;Fin_Wait2 = 7,&lt;br /&gt;Close_Wait = 8,&lt;br /&gt;Closing = 9,&lt;br /&gt;Last_Ack = 10,&lt;br /&gt;Time_Wait = 11,&lt;br /&gt;Delete_TCB = 12&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="color: grey;"&gt;/// &amp;lt;summary&amp;gt;&lt;br /&gt;/// &lt;/span&gt;&lt;span style="color: green;"&gt;Connection information&lt;br /&gt;&lt;/span&gt;&lt;span style="color: grey;"&gt;/// &amp;lt;/summary&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: blue;"&gt;private struct &lt;/span&gt;&lt;span style="color: #2b91af;"&gt;ConnectionInfo&lt;br /&gt;&lt;/span&gt;{&lt;br /&gt;&lt;span style="color: blue;"&gt;public int &lt;/span&gt;dwState;&lt;br /&gt;&lt;span style="color: blue;"&gt;public int &lt;/span&gt;dwLocalAddr;&lt;br /&gt;&lt;span style="color: blue;"&gt;public int &lt;/span&gt;dwLocalPort;&lt;br /&gt;&lt;span style="color: blue;"&gt;public int &lt;/span&gt;dwRemoteAddr;&lt;br /&gt;&lt;span style="color: blue;"&gt;public int &lt;/span&gt;dwRemotePort;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="color: grey;"&gt;/// &amp;lt;summary&amp;gt;&lt;br /&gt;/// &lt;/span&gt;&lt;span style="color: green;"&gt;Win 32 API for get all connection&lt;br /&gt;&lt;/span&gt;&lt;span style="color: grey;"&gt;/// &amp;lt;/summary&amp;gt;&lt;br /&gt;/// &amp;lt;param name="pTcpTable"&amp;gt;&lt;/span&gt;&lt;span style="color: green;"&gt;Pointer to TCP table&lt;/span&gt;&lt;span style="color: grey;"&gt;&amp;lt;/param&amp;gt;&lt;br /&gt;/// &amp;lt;param name="pdwSize"&amp;gt;&lt;/span&gt;&lt;span style="color: green;"&gt;Size&lt;/span&gt;&lt;span style="color: grey;"&gt;&amp;lt;/param&amp;gt;&lt;br /&gt;/// &amp;lt;param name="bOrder"&amp;gt;&lt;/span&gt;&lt;span style="color: green;"&gt;Order&lt;/span&gt;&lt;span style="color: grey;"&gt;&amp;lt;/param&amp;gt;&lt;br /&gt;/// &amp;lt;returns&amp;gt;&lt;/span&gt;&lt;span style="color: green;"&gt;Number&lt;/span&gt;&lt;span style="color: grey;"&gt;&amp;lt;/returns&amp;gt;&lt;br /&gt;&lt;/span&gt;[&lt;span style="color: #2b91af;"&gt;DllImport&lt;/span&gt;(&lt;span style="color: #a31515;"&gt;"iphlpapi.dll"&lt;/span&gt;)]&lt;br /&gt;&lt;span style="color: blue;"&gt;private static extern int &lt;/span&gt;GetTcpTable(&lt;span style="color: #2b91af;"&gt;IntPtr &lt;/span&gt;pTcpTable, &lt;span style="color: blue;"&gt;ref int &lt;/span&gt;pdwSize, &lt;span style="color: blue;"&gt;bool &lt;/span&gt;bOrder);&lt;br /&gt;&lt;br /&gt;&lt;span style="color: grey;"&gt;/// &amp;lt;summary&amp;gt;&lt;br /&gt;/// &lt;/span&gt;&lt;span style="color: green;"&gt;Set the connection state&lt;br /&gt;&lt;/span&gt;&lt;span style="color: grey;"&gt;/// &amp;lt;/summary&amp;gt;&lt;br /&gt;/// &amp;lt;param name="pTcprow"&amp;gt;&lt;/span&gt;&lt;span style="color: green;"&gt;Pointer to TCP table row&lt;/span&gt;&lt;span style="color: grey;"&gt;&amp;lt;/param&amp;gt;&lt;br /&gt;/// &amp;lt;returns&amp;gt;&lt;/span&gt;&lt;span style="color: green;"&gt;Status&lt;/span&gt;&lt;span style="color: grey;"&gt;&amp;lt;/returns&amp;gt;&lt;br /&gt;&lt;/span&gt;[&lt;span style="color: #2b91af;"&gt;DllImport&lt;/span&gt;(&lt;span style="color: #a31515;"&gt;"iphlpapi.dll"&lt;/span&gt;)]&lt;br /&gt;&lt;span style="color: blue;"&gt;private static extern int &lt;/span&gt;SetTcpEntry(&lt;span style="color: #2b91af;"&gt;IntPtr &lt;/span&gt;pTcprow);&lt;br /&gt;&lt;br /&gt;&lt;span style="color: grey;"&gt;/// &amp;lt;summary&amp;gt;&lt;br /&gt;/// &lt;/span&gt;&lt;span style="color: green;"&gt;Convert 16-bit value from network to host byte order&lt;br /&gt;&lt;/span&gt;&lt;span style="color: grey;"&gt;/// &amp;lt;/summary&amp;gt;&lt;br /&gt;/// &amp;lt;param name="netshort"&amp;gt;&lt;/span&gt;&lt;span style="color: green;"&gt;network host&lt;/span&gt;&lt;span style="color: grey;"&gt;&amp;lt;/param&amp;gt;&lt;br /&gt;/// &amp;lt;returns&amp;gt;&lt;/span&gt;&lt;span style="color: green;"&gt;host byte order&lt;/span&gt;&lt;span style="color: grey;"&gt;&amp;lt;/returns&amp;gt;&lt;br /&gt;&lt;/span&gt;[&lt;span style="color: #2b91af;"&gt;DllImport&lt;/span&gt;(&lt;span style="color: #a31515;"&gt;"wsock32.dll"&lt;/span&gt;)]&lt;br /&gt;&lt;span style="color: blue;"&gt;private static extern int &lt;/span&gt;ntohs(&lt;span style="color: blue;"&gt;int &lt;/span&gt;netshort);&lt;br /&gt;&lt;br /&gt;&lt;span style="color: grey;"&gt;/// &amp;lt;summary&amp;gt;&lt;br /&gt;/// &lt;/span&gt;&lt;span style="color: green;"&gt;//Convert 16-bit value back again&lt;br /&gt;&lt;/span&gt;&lt;span style="color: grey;"&gt;/// &amp;lt;/summary&amp;gt;&lt;br /&gt;/// &amp;lt;param name="netshort"&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;/// &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;br /&gt;&lt;/span&gt;[&lt;span style="color: #2b91af;"&gt;DllImport&lt;/span&gt;(&lt;span style="color: #a31515;"&gt;"wsock32.dll"&lt;/span&gt;)]&lt;br /&gt;&lt;span style="color: blue;"&gt;private static extern int &lt;/span&gt;htons(&lt;span style="color: blue;"&gt;int &lt;/span&gt;netshort);&lt;br /&gt;&lt;br /&gt;&lt;span style="color: grey;"&gt;/// &amp;lt;summary&amp;gt;&lt;br /&gt;/// &lt;/span&gt;&lt;span style="color: green;"&gt;Close all connection to the remote IP&lt;br /&gt;&lt;/span&gt;&lt;span style="color: grey;"&gt;/// &amp;lt;/summary&amp;gt;&lt;br /&gt;/// &amp;lt;param name="IP"&amp;gt;&lt;/span&gt;&lt;span style="color: green;"&gt;IP to close&lt;/span&gt;&lt;span style="color: grey;"&gt;&amp;lt;/param&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: blue;"&gt;public static void &lt;/span&gt;CloseRemoteIP(&lt;span style="color: blue;"&gt;string &lt;/span&gt;IP)&lt;br /&gt;{&lt;br /&gt;&lt;span style="color: #2b91af;"&gt;ConnectionInfo&lt;/span&gt;[] rows = getTcpTable();&lt;br /&gt;&lt;span style="color: blue;"&gt;for &lt;/span&gt;(&lt;span style="color: blue;"&gt;int &lt;/span&gt;i = 0; i &amp;lt; rows.Length; i++)&lt;br /&gt;{&lt;br /&gt;&lt;span style="color: blue;"&gt;if &lt;/span&gt;(rows[i].dwRemoteAddr == IPStringToInt(IP))&lt;br /&gt;{&lt;br /&gt;rows[i].dwState = (&lt;span style="color: blue;"&gt;int&lt;/span&gt;)&lt;span style="color: #2b91af;"&gt;ConnectionState&lt;/span&gt;.Delete_TCB;&lt;br /&gt;&lt;span style="color: #2b91af;"&gt;IntPtr &lt;/span&gt;ptr = GetPtrToNewObject(rows[i]);&lt;br /&gt;&lt;span style="color: blue;"&gt;int &lt;/span&gt;ret = SetTcpEntry(ptr);&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="color: grey;"&gt;/// &amp;lt;summary&amp;gt;&lt;br /&gt;/// &lt;/span&gt;&lt;span style="color: green;"&gt;Close all connections at current local IP&lt;br /&gt;&lt;/span&gt;&lt;span style="color: grey;"&gt;/// &amp;lt;/summary&amp;gt;&lt;br /&gt;/// &amp;lt;param name="IP"&amp;gt;&lt;/span&gt;&lt;span style="color: green;"&gt;IP to close&lt;/span&gt;&lt;span style="color: grey;"&gt;&amp;lt;/param&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: blue;"&gt;public static void &lt;/span&gt;CloseLocalIP(&lt;span style="color: blue;"&gt;string &lt;/span&gt;IP)&lt;br /&gt;{&lt;br /&gt;&lt;span style="color: #2b91af;"&gt;ConnectionInfo&lt;/span&gt;[] rows = getTcpTable();&lt;br /&gt;&lt;span style="color: blue;"&gt;for &lt;/span&gt;(&lt;span style="color: blue;"&gt;int &lt;/span&gt;i = 0; i &amp;lt; rows.Length; i++)&lt;br /&gt;{&lt;br /&gt;&lt;span style="color: blue;"&gt;if &lt;/span&gt;(rows[i].dwLocalAddr == IPStringToInt(IP))&lt;br /&gt;{&lt;br /&gt;rows[i].dwState = (&lt;span style="color: blue;"&gt;int&lt;/span&gt;)&lt;span style="color: #2b91af;"&gt;ConnectionState&lt;/span&gt;.Delete_TCB;&lt;br /&gt;&lt;span style="color: #2b91af;"&gt;IntPtr &lt;/span&gt;ptr = GetPtrToNewObject(rows[i]);&lt;br /&gt;&lt;span style="color: blue;"&gt;int &lt;/span&gt;ret = SetTcpEntry(ptr);&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="color: grey;"&gt;/// &amp;lt;summary&amp;gt;&lt;br /&gt;/// &lt;/span&gt;&lt;span style="color: green;"&gt;//Closes all connections to the remote port&lt;br /&gt;&lt;/span&gt;&lt;span style="color: grey;"&gt;/// &amp;lt;/summary&amp;gt;&lt;br /&gt;/// &amp;lt;param name="port"&amp;gt;&lt;/span&gt;&lt;span style="color: green;"&gt;Port to close&lt;/span&gt;&lt;span style="color: grey;"&gt;&amp;lt;/param&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: blue;"&gt;public static void &lt;/span&gt;CloseRemotePort(&lt;span style="color: blue;"&gt;int &lt;/span&gt;port)&lt;br /&gt;{&lt;br /&gt;&lt;span style="color: #2b91af;"&gt;ConnectionInfo&lt;/span&gt;[] rows = getTcpTable();&lt;br /&gt;&lt;span style="color: blue;"&gt;for &lt;/span&gt;(&lt;span style="color: blue;"&gt;int &lt;/span&gt;i = 0; i &amp;lt; rows.Length; i++)&lt;br /&gt;{&lt;br /&gt;&lt;span style="color: blue;"&gt;if &lt;/span&gt;(port == ntohs(rows[i].dwRemotePort))&lt;br /&gt;{&lt;br /&gt;rows[i].dwState = (&lt;span style="color: blue;"&gt;int&lt;/span&gt;)&lt;span style="color: #2b91af;"&gt;ConnectionState&lt;/span&gt;.Delete_TCB;&lt;br /&gt;&lt;span style="color: #2b91af;"&gt;IntPtr &lt;/span&gt;ptr = GetPtrToNewObject(rows[i]);&lt;br /&gt;&lt;span style="color: blue;"&gt;int &lt;/span&gt;ret = SetTcpEntry(ptr);&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="color: grey;"&gt;/// &amp;lt;summary&amp;gt;&lt;br /&gt;/// &lt;/span&gt;&lt;span style="color: green;"&gt;//Closes all connections to the local port&lt;br /&gt;&lt;/span&gt;&lt;span style="color: grey;"&gt;/// &amp;lt;/summary&amp;gt;&lt;br /&gt;/// &amp;lt;param name="port"&amp;gt;&lt;/span&gt;&lt;span style="color: green;"&gt;Local port&lt;/span&gt;&lt;span style="color: grey;"&gt;&amp;lt;/param&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: blue;"&gt;public static void &lt;/span&gt;CloseLocalPort(&lt;span style="color: blue;"&gt;int &lt;/span&gt;port)&lt;br /&gt;{&lt;br /&gt;&lt;span style="color: #2b91af;"&gt;ConnectionInfo&lt;/span&gt;[] rows = getTcpTable();&lt;br /&gt;&lt;span style="color: blue;"&gt;for &lt;/span&gt;(&lt;span style="color: blue;"&gt;int &lt;/span&gt;i = 0; i &amp;lt; rows.Length; i++)&lt;br /&gt;{&lt;br /&gt;&lt;span style="color: blue;"&gt;if &lt;/span&gt;(port == ntohs(rows[i].dwLocalPort))&lt;br /&gt;{&lt;br /&gt;rows[i].dwState = (&lt;span style="color: blue;"&gt;int&lt;/span&gt;)&lt;span style="color: #2b91af;"&gt;ConnectionState&lt;/span&gt;.Delete_TCB;&lt;br /&gt;&lt;span style="color: #2b91af;"&gt;IntPtr &lt;/span&gt;ptr = GetPtrToNewObject(rows[i]);&lt;br /&gt;&lt;span style="color: blue;"&gt;int &lt;/span&gt;ret = SetTcpEntry(ptr);&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="color: grey;"&gt;/// &amp;lt;summary&amp;gt;&lt;br /&gt;/// &lt;/span&gt;&lt;span style="color: green;"&gt;Close a connection by returning the connectionstring&lt;br /&gt;&lt;/span&gt;&lt;span style="color: grey;"&gt;/// &amp;lt;/summary&amp;gt;&lt;br /&gt;/// &amp;lt;param name="connectionstring"&amp;gt;&lt;/span&gt;&lt;span style="color: green;"&gt;Connection to close&lt;/span&gt;&lt;span style="color: grey;"&gt;&amp;lt;/param&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: blue;"&gt;public static void &lt;/span&gt;CloseConnection(&lt;span style="color: blue;"&gt;string &lt;/span&gt;connectionstring)&lt;br /&gt;{&lt;br /&gt;&lt;span style="color: blue;"&gt;try&lt;br /&gt;&lt;/span&gt;{&lt;br /&gt;&lt;span style="color: green;"&gt;//Split the string to its subparts&lt;br /&gt;&lt;/span&gt;&lt;span style="color: blue;"&gt;string&lt;/span&gt;[] parts = connectionstring.Split(&lt;span style="color: #a31515;"&gt;'-'&lt;/span&gt;);&lt;br /&gt;&lt;span style="color: blue;"&gt;if &lt;/span&gt;(parts.Length != 4) &lt;span style="color: blue;"&gt;throw new &lt;/span&gt;&lt;span style="color: #2b91af;"&gt;Exception&lt;/span&gt;(&lt;span style="color: #a31515;"&gt;"Invalid connectionstring - use the one provided by Connections."&lt;/span&gt;);&lt;br /&gt;&lt;span style="color: blue;"&gt;string&lt;/span&gt;[] loc = parts[0].Split(&lt;span style="color: #a31515;"&gt;':'&lt;/span&gt;);&lt;br /&gt;&lt;span style="color: blue;"&gt;string&lt;/span&gt;[] rem = parts[1].Split(&lt;span style="color: #a31515;"&gt;':'&lt;/span&gt;);&lt;br /&gt;&lt;span style="color: blue;"&gt;string&lt;/span&gt;[] locaddr = loc[0].Split(&lt;span style="color: #a31515;"&gt;'.'&lt;/span&gt;);&lt;br /&gt;&lt;span style="color: blue;"&gt;string&lt;/span&gt;[] remaddr = rem[0].Split(&lt;span style="color: #a31515;"&gt;'.'&lt;/span&gt;);&lt;br /&gt;&lt;span style="color: green;"&gt;//Fill structure with data&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #2b91af;"&gt;ConnectionInfo &lt;/span&gt;row = &lt;span style="color: blue;"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af;"&gt;ConnectionInfo&lt;/span&gt;();&lt;br /&gt;row.dwState = 12;&lt;br /&gt;&lt;span style="color: blue;"&gt;byte&lt;/span&gt;[] bLocAddr = &lt;span style="color: blue;"&gt;new byte&lt;/span&gt;[] { &lt;span style="color: blue;"&gt;byte&lt;/span&gt;.Parse(locaddr[0]), &lt;span style="color: blue;"&gt;byte&lt;/span&gt;.Parse(locaddr[1]), &lt;span style="color: blue;"&gt;byte&lt;/span&gt;.Parse(locaddr[2]), &lt;span style="color: blue;"&gt;byte&lt;/span&gt;.Parse(locaddr[3]) };&lt;br /&gt;&lt;span style="color: blue;"&gt;byte&lt;/span&gt;[] bRemAddr = &lt;span style="color: blue;"&gt;new byte&lt;/span&gt;[] { &lt;span style="color: blue;"&gt;byte&lt;/span&gt;.Parse(remaddr[0]), &lt;span style="color: blue;"&gt;byte&lt;/span&gt;.Parse(remaddr[1]), &lt;span style="color: blue;"&gt;byte&lt;/span&gt;.Parse(remaddr[2]), &lt;span style="color: blue;"&gt;byte&lt;/span&gt;.Parse(remaddr[3]) };&lt;br /&gt;row.dwLocalAddr = &lt;span style="color: #2b91af;"&gt;BitConverter&lt;/span&gt;.ToInt32(bLocAddr, 0);&lt;br /&gt;row.dwRemoteAddr = &lt;span style="color: #2b91af;"&gt;BitConverter&lt;/span&gt;.ToInt32(bRemAddr, 0);&lt;br /&gt;row.dwLocalPort = htons(&lt;span style="color: blue;"&gt;int&lt;/span&gt;.Parse(loc[1]));&lt;br /&gt;row.dwRemotePort = htons(&lt;span style="color: blue;"&gt;int&lt;/span&gt;.Parse(rem[1]));&lt;br /&gt;&lt;span style="color: green;"&gt;//Make copy of the structure into memory and use the pointer to call SetTcpEntry&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #2b91af;"&gt;IntPtr &lt;/span&gt;ptr = GetPtrToNewObject(row);&lt;br /&gt;&lt;span style="color: blue;"&gt;int &lt;/span&gt;ret = SetTcpEntry(ptr);&lt;br /&gt;&lt;span style="color: blue;"&gt;if &lt;/span&gt;(ret == -1) &lt;span style="color: blue;"&gt;throw new &lt;/span&gt;&lt;span style="color: #2b91af;"&gt;Exception&lt;/span&gt;(&lt;span style="color: #a31515;"&gt;"Unsuccessful"&lt;/span&gt;);&lt;br /&gt;&lt;span style="color: blue;"&gt;if &lt;/span&gt;(ret == 65) &lt;span style="color: blue;"&gt;throw new &lt;/span&gt;&lt;span style="color: #2b91af;"&gt;Exception&lt;/span&gt;(&lt;span style="color: #a31515;"&gt;"User has no sufficient privilege to execute this API successfully"&lt;/span&gt;);&lt;br /&gt;&lt;span style="color: blue;"&gt;if &lt;/span&gt;(ret == 87) &lt;span style="color: blue;"&gt;throw new &lt;/span&gt;&lt;span style="color: #2b91af;"&gt;Exception&lt;/span&gt;(&lt;span style="color: #a31515;"&gt;"Specified port is not in state to be closed down"&lt;/span&gt;);&lt;br /&gt;&lt;span style="color: blue;"&gt;if &lt;/span&gt;(ret != 0) &lt;span style="color: blue;"&gt;throw new &lt;/span&gt;&lt;span style="color: #2b91af;"&gt;Exception&lt;/span&gt;(&lt;span style="color: #a31515;"&gt;"Unknown error (" &lt;/span&gt;+ ret + &lt;span style="color: #a31515;"&gt;")"&lt;/span&gt;);&lt;br /&gt;}&lt;br /&gt;&lt;span style="color: blue;"&gt;catch &lt;/span&gt;(&lt;span style="color: #2b91af;"&gt;Exception &lt;/span&gt;ex)&lt;br /&gt;{&lt;br /&gt;&lt;span style="color: blue;"&gt;throw new &lt;/span&gt;&lt;span style="color: #2b91af;"&gt;Exception&lt;/span&gt;(&lt;span style="color: #a31515;"&gt;"CloseConnection failed (" &lt;/span&gt;+ connectionstring + &lt;span style="color: #a31515;"&gt;")! [" &lt;/span&gt;+ ex.GetType().ToString() + &lt;span style="color: #a31515;"&gt;"," &lt;/span&gt;+ ex.Message + &lt;span style="color: #a31515;"&gt;"]"&lt;/span&gt;);&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="color: grey;"&gt;/// &amp;lt;summary&amp;gt;&lt;br /&gt;/// &lt;/span&gt;&lt;span style="color: green;"&gt;Get all connection&lt;br /&gt;&lt;/span&gt;&lt;span style="color: grey;"&gt;/// &amp;lt;/summary&amp;gt;&lt;br /&gt;/// &amp;lt;returns&amp;gt;&lt;/span&gt;&lt;span style="color: green;"&gt;Array of connection string&lt;/span&gt;&lt;span style="color: grey;"&gt;&amp;lt;/returns&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: blue;"&gt;public static string&lt;/span&gt;[] Connections()&lt;br /&gt;{&lt;br /&gt;&lt;span style="color: blue;"&gt;return &lt;/span&gt;Connections(&lt;span style="color: #2b91af;"&gt;ConnectionState&lt;/span&gt;.All);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="color: grey;"&gt;/// &amp;lt;summary&amp;gt;&lt;br /&gt;/// &lt;/span&gt;&lt;span style="color: green;"&gt;Get connections based on the state&lt;br /&gt;&lt;/span&gt;&lt;span style="color: grey;"&gt;/// &amp;lt;/summary&amp;gt;&lt;br /&gt;/// &amp;lt;param name="state"&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;/// &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: blue;"&gt;public static string&lt;/span&gt;[] Connections(&lt;span style="color: #2b91af;"&gt;ConnectionState &lt;/span&gt;state)&lt;br /&gt;{&lt;br /&gt;&lt;span style="color: #2b91af;"&gt;ConnectionInfo&lt;/span&gt;[] rows = getTcpTable();&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #2b91af;"&gt;ArrayList &lt;/span&gt;arr = &lt;span style="color: blue;"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af;"&gt;ArrayList&lt;/span&gt;();&lt;br /&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;foreach &lt;/span&gt;(&lt;span style="color: #2b91af;"&gt;ConnectionInfo &lt;/span&gt;row &lt;span style="color: blue;"&gt;in &lt;/span&gt;rows)&lt;br /&gt;{&lt;br /&gt;&lt;span style="color: blue;"&gt;if &lt;/span&gt;(state == &lt;span style="color: #2b91af;"&gt;ConnectionState&lt;/span&gt;.All || state == (&lt;span style="color: #2b91af;"&gt;ConnectionState&lt;/span&gt;)row.dwState)&lt;br /&gt;{&lt;br /&gt;&lt;span style="color: blue;"&gt;string &lt;/span&gt;localaddress = IPIntToString(row.dwLocalAddr) + &lt;span style="color: #a31515;"&gt;":" &lt;/span&gt;+ ntohs(row.dwLocalPort);&lt;br /&gt;&lt;span style="color: blue;"&gt;string &lt;/span&gt;remoteaddress = IPIntToString(row.dwRemoteAddr) + &lt;span style="color: #a31515;"&gt;":" &lt;/span&gt;+ ntohs(row.dwRemotePort);&lt;br /&gt;arr.Add(localaddress + &lt;span style="color: #a31515;"&gt;"-" &lt;/span&gt;+ remoteaddress + &lt;span style="color: #a31515;"&gt;"-" &lt;/span&gt;+ ((&lt;span style="color: #2b91af;"&gt;ConnectionState&lt;/span&gt;)row.dwState).ToString() + &lt;span style="color: #a31515;"&gt;"-" &lt;/span&gt;+ row.dwState);&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;return &lt;/span&gt;(&lt;span style="color: blue;"&gt;string&lt;/span&gt;[])arr.ToArray(&lt;span style="color: blue;"&gt;typeof&lt;/span&gt;(System.&lt;span style="color: #2b91af;"&gt;String&lt;/span&gt;));&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="color: grey;"&gt;/// &amp;lt;summary&amp;gt;&lt;br /&gt;/// &lt;/span&gt;&lt;span style="color: green;"&gt;The function that fills the ConnectionInfo array with connectioninfos&lt;br /&gt;&lt;/span&gt;&lt;span style="color: grey;"&gt;/// &amp;lt;/summary&amp;gt;&lt;br /&gt;/// &amp;lt;returns&amp;gt;&lt;/span&gt;&lt;span style="color: green;"&gt;ConnectionInfo&lt;/span&gt;&lt;span style="color: grey;"&gt;&amp;lt;/returns&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: blue;"&gt;private static &lt;/span&gt;&lt;span style="color: #2b91af;"&gt;ConnectionInfo&lt;/span&gt;[] getTcpTable()&lt;br /&gt;{&lt;br /&gt;&lt;span style="color: #2b91af;"&gt;IntPtr &lt;/span&gt;buffer = &lt;span style="color: #2b91af;"&gt;IntPtr&lt;/span&gt;.Zero; &lt;span style="color: blue;"&gt;bool &lt;/span&gt;allocated = &lt;span style="color: blue;"&gt;false&lt;/span&gt;;&lt;br /&gt;&lt;span style="color: blue;"&gt;try&lt;br /&gt;&lt;/span&gt;{&lt;br /&gt;&lt;span style="color: blue;"&gt;int &lt;/span&gt;iBytes = 0;&lt;br /&gt;GetTcpTable(&lt;span style="color: #2b91af;"&gt;IntPtr&lt;/span&gt;.Zero, &lt;span style="color: blue;"&gt;ref &lt;/span&gt;iBytes, &lt;span style="color: blue;"&gt;false&lt;/span&gt;); &lt;span style="color: green;"&gt;//Getting size of return data&lt;br /&gt;&lt;/span&gt;buffer = &lt;span style="color: #2b91af;"&gt;Marshal&lt;/span&gt;.AllocCoTaskMem(iBytes); &lt;span style="color: green;"&gt;//allocating the datasize&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;allocated = &lt;span style="color: blue;"&gt;true&lt;/span&gt;;&lt;br /&gt;GetTcpTable(buffer, &lt;span style="color: blue;"&gt;ref &lt;/span&gt;iBytes, &lt;span style="color: blue;"&gt;false&lt;/span&gt;); &lt;span style="color: green;"&gt;//Run it again to fill the memory with the data&lt;br /&gt;&lt;/span&gt;&lt;span style="color: blue;"&gt;int &lt;/span&gt;structCount = &lt;span style="color: #2b91af;"&gt;Marshal&lt;/span&gt;.ReadInt32(buffer); &lt;span style="color: green;"&gt;// Get the number of structures&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #2b91af;"&gt;IntPtr &lt;/span&gt;buffSubPointer = buffer; &lt;span style="color: green;"&gt;//Making a pointer that will point into the buffer&lt;br /&gt;&lt;/span&gt;buffSubPointer = (&lt;span style="color: #2b91af;"&gt;IntPtr&lt;/span&gt;)((&lt;span style="color: blue;"&gt;int&lt;/span&gt;)buffer + 4); &lt;span style="color: green;"&gt;//Move to the first data (ignoring dwNumEntries from the original MIB_TCPTABLE struct)&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #2b91af;"&gt;ConnectionInfo&lt;/span&gt;[] tcpRows = &lt;span style="color: blue;"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af;"&gt;ConnectionInfo&lt;/span&gt;[structCount]; &lt;span style="color: green;"&gt;//Declaring the array&lt;br /&gt;//Get the struct size&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #2b91af;"&gt;ConnectionInfo &lt;/span&gt;tmp = &lt;span style="color: blue;"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af;"&gt;ConnectionInfo&lt;/span&gt;();&lt;br /&gt;&lt;span style="color: blue;"&gt;int &lt;/span&gt;sizeOfTCPROW = &lt;span style="color: #2b91af;"&gt;Marshal&lt;/span&gt;.SizeOf(tmp);&lt;br /&gt;&lt;span style="color: green;"&gt;//Fill the array 1 by 1&lt;br /&gt;&lt;/span&gt;&lt;span style="color: blue;"&gt;for &lt;/span&gt;(&lt;span style="color: blue;"&gt;int &lt;/span&gt;i = 0; i &amp;lt; structCount; i++)&lt;br /&gt;{&lt;br /&gt;tcpRows[i] = (&lt;span style="color: #2b91af;"&gt;ConnectionInfo&lt;/span&gt;)&lt;span style="color: #2b91af;"&gt;Marshal&lt;/span&gt;.PtrToStructure(buffSubPointer, &lt;span style="color: blue;"&gt;typeof&lt;/span&gt;(&lt;span style="color: #2b91af;"&gt;ConnectionInfo&lt;/span&gt;)); &lt;span style="color: green;"&gt;//copy struct data&lt;br /&gt;&lt;/span&gt;buffSubPointer = (&lt;span style="color: #2b91af;"&gt;IntPtr&lt;/span&gt;)((&lt;span style="color: blue;"&gt;int&lt;/span&gt;)buffSubPointer + sizeOfTCPROW); &lt;span style="color: green;"&gt;//move to next structdata&lt;br /&gt;&lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;return &lt;/span&gt;tcpRows;&lt;br /&gt;}&lt;br /&gt;&lt;span style="color: blue;"&gt;catch &lt;/span&gt;(&lt;span style="color: #2b91af;"&gt;Exception &lt;/span&gt;ex)&lt;br /&gt;{&lt;br /&gt;&lt;span style="color: blue;"&gt;throw new &lt;/span&gt;&lt;span style="color: #2b91af;"&gt;Exception&lt;/span&gt;(&lt;span style="color: #a31515;"&gt;"getTcpTable failed! [" &lt;/span&gt;+ ex.GetType().ToString() + &lt;span style="color: #a31515;"&gt;"," &lt;/span&gt;+ ex.Message + &lt;span style="color: #a31515;"&gt;"]"&lt;/span&gt;);&lt;br /&gt;}&lt;br /&gt;&lt;span style="color: blue;"&gt;finally&lt;br /&gt;&lt;/span&gt;{&lt;br /&gt;&lt;span style="color: blue;"&gt;if &lt;/span&gt;(allocated) &lt;span style="color: #2b91af;"&gt;Marshal&lt;/span&gt;.FreeCoTaskMem(buffer); &lt;span style="color: green;"&gt;//Free the allocated memory&lt;br /&gt;&lt;/span&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="color: grey;"&gt;/// &amp;lt;summary&amp;gt;&lt;br /&gt;/// &lt;/span&gt;&lt;span style="color: green;"&gt;Object pointer&lt;br /&gt;&lt;/span&gt;&lt;span style="color: grey;"&gt;/// &amp;lt;/summary&amp;gt;&lt;br /&gt;/// &amp;lt;param name="obj"&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;/// &amp;lt;returns&amp;gt;&lt;/span&gt;&lt;span style="color: green;"&gt;Pointer&lt;/span&gt;&lt;span style="color: grey;"&gt;&amp;lt;/returns&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: blue;"&gt;private static &lt;/span&gt;&lt;span style="color: #2b91af;"&gt;IntPtr &lt;/span&gt;GetPtrToNewObject(&lt;span style="color: blue;"&gt;object &lt;/span&gt;obj)&lt;br /&gt;{&lt;br /&gt;&lt;span style="color: #2b91af;"&gt;IntPtr &lt;/span&gt;ptr = &lt;span style="color: #2b91af;"&gt;Marshal&lt;/span&gt;.AllocCoTaskMem(&lt;span style="color: #2b91af;"&gt;Marshal&lt;/span&gt;.SizeOf(obj));&lt;br /&gt;&lt;span style="color: #2b91af;"&gt;Marshal&lt;/span&gt;.StructureToPtr(obj, ptr, &lt;span style="color: blue;"&gt;false&lt;/span&gt;);&lt;br /&gt;&lt;span style="color: blue;"&gt;return &lt;/span&gt;ptr;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="color: grey;"&gt;/// &amp;lt;summary&amp;gt;&lt;br /&gt;/// &lt;/span&gt;&lt;span style="color: green;"&gt;IP to Int&lt;br /&gt;&lt;/span&gt;&lt;span style="color: grey;"&gt;/// &amp;lt;/summary&amp;gt;&lt;br /&gt;/// &amp;lt;param name="IP"&amp;gt;&lt;/span&gt;&lt;span style="color: green;"&gt;IP Address&lt;/span&gt;&lt;span style="color: grey;"&gt;&amp;lt;/param&amp;gt;&lt;br /&gt;/// &amp;lt;returns&amp;gt;&lt;/span&gt;&lt;span style="color: green;"&gt;Integer&lt;/span&gt;&lt;span style="color: grey;"&gt;&amp;lt;/returns&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: blue;"&gt;private static int &lt;/span&gt;IPStringToInt(&lt;span style="color: blue;"&gt;string &lt;/span&gt;IP)&lt;br /&gt;{&lt;br /&gt;&lt;span style="color: blue;"&gt;if &lt;/span&gt;(IP.IndexOf(&lt;span style="color: #a31515;"&gt;"."&lt;/span&gt;) &amp;lt; 0) &lt;span style="color: blue;"&gt;throw new &lt;/span&gt;&lt;span style="color: #2b91af;"&gt;Exception&lt;/span&gt;(&lt;span style="color: #a31515;"&gt;"Invalid IP address"&lt;/span&gt;);&lt;br /&gt;&lt;span style="color: blue;"&gt;string&lt;/span&gt;[] addr = IP.Split(&lt;span style="color: #a31515;"&gt;'.'&lt;/span&gt;);&lt;br /&gt;&lt;span style="color: blue;"&gt;if &lt;/span&gt;(addr.Length != 4) &lt;span style="color: blue;"&gt;throw new &lt;/span&gt;&lt;span style="color: #2b91af;"&gt;Exception&lt;/span&gt;(&lt;span style="color: #a31515;"&gt;"Invalid IP address"&lt;/span&gt;);&lt;br /&gt;&lt;span style="color: blue;"&gt;byte&lt;/span&gt;[] bytes = &lt;span style="color: blue;"&gt;new byte&lt;/span&gt;[] { &lt;span style="color: blue;"&gt;byte&lt;/span&gt;.Parse(addr[0]), &lt;span style="color: blue;"&gt;byte&lt;/span&gt;.Parse(addr[1]), &lt;span style="color: blue;"&gt;byte&lt;/span&gt;.Parse(addr[2]), &lt;span style="color: blue;"&gt;byte&lt;/span&gt;.Parse(addr[3]) };&lt;br /&gt;&lt;span style="color: blue;"&gt;return &lt;/span&gt;&lt;span style="color: #2b91af;"&gt;BitConverter&lt;/span&gt;.ToInt32(bytes, 0);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="color: grey;"&gt;/// &amp;lt;summary&amp;gt;&lt;br /&gt;/// &lt;/span&gt;&lt;span style="color: green;"&gt;IP int to String&lt;br /&gt;&lt;/span&gt;&lt;span style="color: grey;"&gt;/// &amp;lt;/summary&amp;gt;&lt;br /&gt;/// &amp;lt;param name="IP"&amp;gt;&lt;/span&gt;&lt;span style="color: green;"&gt;IP&lt;/span&gt;&lt;span style="color: grey;"&gt;&amp;lt;/param&amp;gt;&lt;br /&gt;/// &amp;lt;returns&amp;gt;&lt;/span&gt;&lt;span style="color: green;"&gt;String&lt;/span&gt;&lt;span style="color: grey;"&gt;&amp;lt;/returns&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: blue;"&gt;private static string &lt;/span&gt;IPIntToString(&lt;span style="color: blue;"&gt;int &lt;/span&gt;IP)&lt;br /&gt;{&lt;br /&gt;&lt;span style="color: blue;"&gt;byte&lt;/span&gt;[] addr = System.&lt;span style="color: #2b91af;"&gt;BitConverter&lt;/span&gt;.GetBytes(IP);&lt;br /&gt;&lt;span style="color: blue;"&gt;return &lt;/span&gt;addr[0] + &lt;span style="color: #a31515;"&gt;"." &lt;/span&gt;+ addr[1] + &lt;span style="color: #a31515;"&gt;"." &lt;/span&gt;+ addr[2] + &lt;span style="color: #a31515;"&gt;"." &lt;/span&gt;+ addr[3];&lt;br /&gt;}&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;Add the class. For getting all connections use the following code&lt;br /&gt;&lt;br /&gt;&lt;pre class="code"&gt;&lt;span style="color: blue;"&gt;string&lt;/span&gt;[] connections = &lt;span style="color: #2b91af;"&gt;DisconnectWrapper&lt;/span&gt;.Connections();&lt;/pre&gt;&lt;br /&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;Once you get the connection, you can disconnect it as follows&lt;br /&gt;&lt;pre class="code"&gt;&lt;span style="color: #2b91af;"&gt;DisconnectWrapper&lt;/span&gt;.CloseConnection(connection[0]);&lt;/pre&gt;&lt;br /&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;You can get connection based on the state&lt;br /&gt;&lt;br /&gt;&lt;pre class="code"&gt;&lt;span style="color: blue;"&gt;string &lt;/span&gt;openConnections[] = &lt;span style="color: #2b91af;"&gt;DisconnectWrapper&lt;/span&gt;.Connections(&lt;span style="color: #2b91af;"&gt;DisconnectWrapper&lt;/span&gt;.&lt;span style="color: #2b91af;"&gt;ConnectionState&lt;/span&gt;.Established);&lt;/pre&gt;&lt;br /&gt;Hope this helps you.&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9164837514531450619-8633053691875746386?l=lamahashim.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lamahashim.blogspot.com/feeds/8633053691875746386/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9164837514531450619&amp;postID=8633053691875746386' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/8633053691875746386'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/8633053691875746386'/><link rel='alternate' type='text/html' href='http://lamahashim.blogspot.com/2010/03/disabling-network-using-c.html' title='Disabling Network using C#'/><author><name>A.m.a.L Hashim</name><uri>http://www.blogger.com/profile/04600206670507170118</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_bxrn2DJZgfo/S28F2fGQN9I/AAAAAAAAAPE/b3GLUwQjrFc/S220/Photo341.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9164837514531450619.post-2013618964358628336</id><published>2010-03-07T01:19:00.001-08:00</published><updated>2010-03-07T20:27:40.667-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><category scheme='http://www.blogger.com/atom/ns#' term='JQuery'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.Net'/><category scheme='http://www.blogger.com/atom/ns#' term='HTML'/><title type='text'>jQuery A to Z – Part 1</title><content type='html'>jQuery is a powerful JavaScript library created by John Resig. Its an open source project. jQuery abstracts common web scripting situations. It has the following features&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Easily traverse the DOM without writing large chunks of JavaScript. &lt;/li&gt;&lt;li&gt;Helps to change the CSS even after the page has been rendered. &lt;/li&gt;&lt;li&gt;Easily alter the page content with minimal code. &lt;/li&gt;&lt;li&gt;Efficient event handling. &lt;/li&gt;&lt;li&gt;Animations to the page. &lt;/li&gt;&lt;li&gt;Integrated with AJAX. &lt;/li&gt;&lt;li&gt;JavaScript tasks such as array manipulations and iterations. &lt;/li&gt;&lt;li&gt;Multiple actions in one line of code. &lt;/li&gt;&lt;li&gt;Library file size is minimal. &lt;/li&gt;&lt;/ul&gt;The official jQuery site is &lt;a href="http://jquery.com/"&gt;http://jquery.com&lt;/a&gt;. You can download the latest jQuery file from this site. For using jQuery in our site, we just need to provide the jQuery.js file path in script tags so it will get included.&lt;br /&gt;Let’s create our first jQuery website. For this follow the steps outlined below.&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Open Visual Studio and add a new website, name is Part1 &lt;/li&gt;&lt;li&gt;Now we will add the jQuery js file we have downloaded. Right click the solution, Add Existing Item, open the folder where the file was downloaded. And click Ok. &lt;/li&gt;&lt;li&gt;Now our solution will have the following structure.      &lt;br /&gt;&amp;nbsp;&lt;a href="http://lh3.ggpht.com/_bxrn2DJZgfo/S5Noh7jAyAI/AAAAAAAAAUE/bTR3sXywNWk/s1600-h/image%5B2%5D.png"&gt;&lt;img alt="image" border="0" height="168" src="http://lh3.ggpht.com/_bxrn2DJZgfo/S5NolH0nw8I/AAAAAAAAAUI/9zm50fIewK8/image_thumb.png?imgmax=800" style="border-width: 0px; display: block; float: none; margin-left: auto; margin-right: auto;" title="image" width="244" /&gt;&lt;/a&gt; &lt;br /&gt;&lt;/li&gt;&lt;li&gt;Open default.aspx and paste the following code      &lt;br /&gt;&lt;pre class="code"&gt;&lt;span style="background: none repeat scroll 0% 0% rgb(255, 238, 98);"&gt;&amp;lt;%&lt;/span&gt;&lt;span style="color: blue;"&gt;@ &lt;/span&gt;&lt;span style="color: #a31515;"&gt;Page &lt;/span&gt;&lt;span style="color: red;"&gt;Language&lt;/span&gt;&lt;span style="color: blue;"&gt;="C#" &lt;/span&gt;&lt;span style="color: red;"&gt;AutoEventWireup&lt;/span&gt;&lt;span style="color: blue;"&gt;="true" &lt;/span&gt;&lt;span style="color: red;"&gt;CodeBehind&lt;/span&gt;&lt;span style="color: blue;"&gt;="Default.aspx.cs" &lt;/span&gt;&lt;span style="color: red;"&gt;Inherits&lt;/span&gt;&lt;span style="color: blue;"&gt;="Part1._Default" &lt;/span&gt;&lt;span style="background: none repeat scroll 0% 0% rgb(255, 238, 98);"&gt;%&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;lt;!&lt;/span&gt;&lt;span style="color: #a31515;"&gt;DOCTYPE &lt;/span&gt;&lt;span style="color: red;"&gt;html PUBLIC &lt;/span&gt;&lt;span style="color: blue;"&gt;"-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&amp;gt;&lt;br /&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;html &lt;/span&gt;&lt;span style="color: red;"&gt;xmlns&lt;/span&gt;&lt;span style="color: blue;"&gt;="http://www.w3.org/1999/xhtml"&amp;gt;&lt;br /&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;head &lt;/span&gt;&lt;span style="color: red;"&gt;runat&lt;/span&gt;&lt;span style="color: blue;"&gt;="server"&amp;gt;&lt;br /&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;title&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;Untitled Page&lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515;"&gt;title&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;script &lt;/span&gt;&lt;span style="color: red;"&gt;src&lt;/span&gt;&lt;span style="color: blue;"&gt;="jquery-1.3.2.js" &lt;/span&gt;&lt;span style="color: red;"&gt;type&lt;/span&gt;&lt;span style="color: blue;"&gt;="text/javascript"&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515;"&gt;script&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;style &lt;/span&gt;&lt;span style="color: red;"&gt;type&lt;/span&gt;&lt;span style="color: blue;"&gt;="text/css"&amp;gt;        &lt;br /&gt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;.oldstyle&lt;br /&gt;&lt;/span&gt;{&lt;br /&gt;&lt;span style="color: red;"&gt;margin&lt;/span&gt;: &lt;span style="color: blue;"&gt;0 2em&lt;/span&gt;;&lt;br /&gt;}&lt;br /&gt;&lt;span style="color: #a31515;"&gt;.newstyle&lt;br /&gt;&lt;/span&gt;{&lt;br /&gt;&lt;span style="color: red;"&gt;font-style&lt;/span&gt;: &lt;span style="color: blue;"&gt;italic&lt;/span&gt;;&lt;br /&gt;&lt;span style="color: red;"&gt;border&lt;/span&gt;: &lt;span style="color: blue;"&gt;1px solid #888&lt;/span&gt;;&lt;br /&gt;&lt;span style="color: red;"&gt;padding&lt;/span&gt;: &lt;span style="color: blue;"&gt;0.5em&lt;/span&gt;;&lt;br /&gt;&lt;span style="color: red;"&gt;color&lt;/span&gt;:&lt;span style="color: blue;"&gt;Red&lt;/span&gt;;&lt;br /&gt;}&lt;br /&gt;&lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515;"&gt;style&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;br /&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515;"&gt;head&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;script &lt;/span&gt;&lt;span style="color: red;"&gt;type&lt;/span&gt;&lt;span style="color: blue;"&gt;="text/javascript" &lt;/span&gt;&lt;span style="color: red;"&gt;language&lt;/span&gt;&lt;span style="color: blue;"&gt;="javascript"&amp;gt;&lt;br /&gt;&lt;/span&gt;$(document).ready(&lt;span style="color: blue;"&gt;function&lt;/span&gt;() {&lt;br /&gt;$(&lt;span style="color: #a31515;"&gt;'.oldstyle'&lt;/span&gt;).addClass(&lt;span style="color: #a31515;"&gt;'newstyle'&lt;/span&gt;);&lt;br /&gt;});&lt;br /&gt;&lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515;"&gt;script&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;body&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;br /&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;form &lt;/span&gt;&lt;span style="color: red;"&gt;id&lt;/span&gt;&lt;span style="color: blue;"&gt;="form1" &lt;/span&gt;&lt;span style="color: red;"&gt;runat&lt;/span&gt;&lt;span style="color: blue;"&gt;="server"&amp;gt;&lt;br /&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;div&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;br /&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;h1&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;Part 1&lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515;"&gt;h1&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;br /&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;div&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;by Amal Hashim&lt;br /&gt;&lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515;"&gt;div&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;br /&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;div &lt;/span&gt;&lt;span style="color: red;"&gt;class&lt;/span&gt;&lt;span style="color: blue;"&gt;="oldstyle" &lt;/span&gt;&lt;span style="color: red;"&gt;id&lt;/span&gt;&lt;span style="color: blue;"&gt;="part-1"&amp;gt;&lt;br /&gt;&lt;/span&gt;Easily traverse the DOM without writing large chunks of JavaScript. Helps to change&lt;br /&gt;the CSS even after the page has been rendered. Easily alter the page content with&lt;br /&gt;minimal code. Efficient event handling. Animations to the page. Integrated with&lt;br /&gt;AJAX. JavaScript tasks such as array manipulations and iterations. Multiple actions&lt;br /&gt;in one line of code. Library file size is minimal.&lt;br /&gt;&lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515;"&gt;div&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;br /&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515;"&gt;div&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;br /&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515;"&gt;form&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;br /&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515;"&gt;body&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;br /&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515;"&gt;html&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Right click the default.aspx file and View in browser. &lt;a href="http://lh3.ggpht.com/_bxrn2DJZgfo/S5NuzCXTtqI/AAAAAAAAAUQ/ZvIGkuQ4iIU/s1600-h/image7.png"&gt;&lt;img alt="image" border="0" height="224" src="http://lh5.ggpht.com/_bxrn2DJZgfo/S5NvlnNvGJI/AAAAAAAAAUU/b6iyV5O6Uvk/image_thumb3.png?imgmax=800" style="border-width: 0px; display: inline;" title="image" width="1028" /&gt;&lt;/a&gt; &lt;/li&gt;&lt;/ol&gt;The $ construct is used to select the document part. Here in our example $(‘oldstyle’) will find all part of the document having oldstyle. $() is a factory for the jQuery object. jQuery object encapsulates DOM elements. The .addClass() method helps to apply the newstyle for the selected oldstyle. The counterpart of addClass is removeClass() method. Our example will simply add newstyle.&lt;br /&gt;&lt;br /&gt;Now the next question if when this code get’s executed. JavaScript is interpreted language, and it executes as and when it is encountered. But in our case, we want to have newstyle to be applied once the page gets loaded. One way to do this is using the onload event of the body tag. But in this case we will be modifying the HTML. But this is against the design pattern jQuery suggest, whose aim is to separate the tight coupling of HTML and JavaScript. To avoid this jQuery gives $(document).ready() construct. This does not require any HTML modification, on the other hand will get executed as and when the document is loaded. In our example we are using &lt;b&gt;lambda function&lt;/b&gt;. Using the function keyword without method name, we are creating a method as and when its required. We mainly use lambda function as those methods are not being reused.&lt;br /&gt;&lt;br /&gt;Hope all of you have read and had a good starting experience with jQuery. In Part 2 of this series i will cover in depth of how to select elements. jQuery supports XPath as well has jQuery’s own custom selector for traversing DOM. See you in Part 2.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9164837514531450619-2013618964358628336?l=lamahashim.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lamahashim.blogspot.com/feeds/2013618964358628336/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9164837514531450619&amp;postID=2013618964358628336' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/2013618964358628336'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/2013618964358628336'/><link rel='alternate' type='text/html' href='http://lamahashim.blogspot.com/2010/03/jquery-to-z-part-1.html' title='jQuery A to Z – Part 1'/><author><name>A.m.a.L Hashim</name><uri>http://www.blogger.com/profile/04600206670507170118</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_bxrn2DJZgfo/S28F2fGQN9I/AAAAAAAAAPE/b3GLUwQjrFc/S220/Photo341.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/_bxrn2DJZgfo/S5NolH0nw8I/AAAAAAAAAUI/9zm50fIewK8/s72-c/image_thumb.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9164837514531450619.post-4653013641323088728</id><published>2010-02-24T05:09:00.000-08:00</published><updated>2010-02-24T05:09:30.864-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Timer job'/><category scheme='http://www.blogger.com/atom/ns#' term='Sharepoint'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS 2007'/><title type='text'>Creating a Timer job in MOSS</title><content type='html'>First we need to have a class derived from &lt;span style="color: #2b91af;"&gt;SPJobDefinition&lt;/span&gt;&lt;br /&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;  &lt;br /&gt;Below is the skeleton of that class.&lt;br /&gt;&lt;pre class="code"&gt;&lt;span style="color: blue;"&gt;namespace &lt;/span&gt;TimerNameSpace&lt;br /&gt;{&lt;br /&gt;&lt;span style="color: blue;"&gt;#region &lt;/span&gt;Using&lt;br /&gt;&lt;span style="color: blue;"&gt;using &lt;/span&gt;System;&lt;br /&gt;&lt;span style="color: blue;"&gt;using &lt;/span&gt;System.Collections.Generic;  &lt;br /&gt;&lt;span style="color: blue;"&gt;using &lt;/span&gt;Microsoft.SharePoint;&lt;br /&gt;&lt;span style="color: blue;"&gt;using &lt;/span&gt;Microsoft.SharePoint.Administration;  &lt;br /&gt;&lt;span style="color: blue;"&gt;using &lt;/span&gt;Microsoft.SharePoint.Utilities;&lt;br /&gt;&lt;span style="color: blue;"&gt;#endregion &lt;/span&gt;Using&lt;br /&gt;&lt;br /&gt;&lt;span style="color: grey;"&gt;/// &amp;lt;summary&amp;gt;&lt;br /&gt;/// &lt;/span&gt;&lt;span style="color: green;"&gt;Timer service&lt;br /&gt;&lt;/span&gt;&lt;span style="color: grey;"&gt;/// &amp;lt;/summary&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: blue;"&gt;public class &lt;/span&gt;&lt;span style="color: #2b91af;"&gt;MyTimerService &lt;/span&gt;: SPJobDefinition&lt;br /&gt;{&lt;br /&gt;&lt;span style="color: blue;"&gt;#region &lt;/span&gt;Constructor&lt;br /&gt;&lt;br /&gt;&lt;span style="color: grey;"&gt;/// &amp;lt;summary&amp;gt;&lt;br /&gt;/// &lt;/span&gt;&lt;span style="color: green;"&gt;Initializes a new instance of the TimerService class&lt;br /&gt;&lt;/span&gt;&lt;span style="color: grey;"&gt;/// &amp;lt;/summary&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: blue;"&gt;public &lt;/span&gt;MyTimerService()&lt;br /&gt;: &lt;span style="color: blue;"&gt;base&lt;/span&gt;()&lt;br /&gt;{&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="color: grey;"&gt;/// &amp;lt;summary&amp;gt;&lt;br /&gt;/// &lt;/span&gt;&lt;span style="color: green;"&gt;Initializes a new instance of the MyTimerService class&lt;br /&gt;&lt;/span&gt;&lt;span style="color: grey;"&gt;/// &amp;lt;/summary&amp;gt;&lt;br /&gt;/// &amp;lt;param name="jobName"&amp;gt;&lt;/span&gt;&lt;span style="color: green;"&gt;Job Title for the timer service&lt;/span&gt;&lt;span style="color: grey;"&gt;&amp;lt;/param&amp;gt;&lt;br /&gt;/// &amp;lt;param name="webApp"&amp;gt;&lt;/span&gt;&lt;span style="color: green;"&gt;Web appication for which this service will run&lt;/span&gt;&lt;span style="color: grey;"&gt;&amp;lt;/param&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: blue;"&gt;public &lt;/span&gt;MyTimerService(&lt;span style="color: blue;"&gt;string &lt;/span&gt;jobName, SPWebApplication webApp)&lt;br /&gt;: &lt;span style="color: blue;"&gt;base&lt;/span&gt;(jobName, webApp, &lt;span style="color: blue;"&gt;null&lt;/span&gt;, SPJobLockType.ContentDatabase)&lt;br /&gt;{&lt;br /&gt;&lt;span style="color: blue;"&gt;this&lt;/span&gt;.Title = &lt;span style="color: #a31515;"&gt;"My Timer"&lt;/span&gt;;&lt;br /&gt;}&lt;br /&gt;&lt;span style="color: blue;"&gt;#endregion &lt;/span&gt;Constructor&lt;br /&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;#region &lt;/span&gt;Execute&lt;br /&gt;&lt;br /&gt;&lt;span style="color: grey;"&gt;/// &amp;lt;summary&amp;gt;&lt;br /&gt;/// &lt;/span&gt;&lt;span style="color: green;"&gt;Overriden Execute method&lt;br /&gt;&lt;/span&gt;&lt;span style="color: grey;"&gt;/// &amp;lt;/summary&amp;gt;&lt;br /&gt;/// &amp;lt;param name="targetInstanceId"&amp;gt;&lt;/span&gt;&lt;span style="color: green;"&gt;guid of the target object&lt;/span&gt;&lt;span style="color: grey;"&gt;&amp;lt;/param&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: blue;"&gt;public override void &lt;/span&gt;Execute(&lt;span style="color: #2b91af;"&gt;Guid &lt;/span&gt;targetInstanceId)&lt;br /&gt;{&lt;br /&gt;&lt;span style="color: blue;"&gt;try&lt;br /&gt;&lt;/span&gt;{&lt;br /&gt;&lt;span style="color: grey;"&gt;/// &lt;/span&gt;&lt;span style="color: green;"&gt;Here the timer logic goes&lt;br /&gt;&lt;/span&gt;}&lt;br /&gt;&lt;span style="color: blue;"&gt;catch &lt;/span&gt;(&lt;span style="color: #2b91af;"&gt;Exception &lt;/span&gt;ex)&lt;br /&gt;{&lt;br /&gt;&lt;span style="color: green;"&gt;//Log exception&lt;br /&gt;&lt;/span&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;#endregion &lt;/span&gt;Execute      &lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;One this class is ready. Next thing we need to look into is creating a Feature. This feature will internally schedule the timer as a Job and runs it. Below is the snapshot of this class.&lt;br /&gt;&lt;br /&gt;&lt;pre class="code"&gt;&lt;span style="color: blue;"&gt;namespace &lt;/span&gt;TimerNameSpace&lt;br /&gt;{&lt;br /&gt;&lt;span style="color: blue;"&gt;#region &lt;/span&gt;Namespace Inclusions&lt;br /&gt;&lt;span style="color: blue;"&gt;using &lt;/span&gt;System;&lt;br /&gt;&lt;span style="color: blue;"&gt;using &lt;/span&gt;Microsoft.SharePoint;&lt;br /&gt;&lt;span style="color: blue;"&gt;using &lt;/span&gt;Microsoft.SharePoint.Administration;  &lt;br /&gt;&lt;span style="color: blue;"&gt;#endregion &lt;/span&gt;Namespace Inclusions&lt;br /&gt;&lt;br /&gt;&lt;span style="color: grey;"&gt;/// &amp;lt;summary&amp;gt;&lt;br /&gt;/// &lt;/span&gt;&lt;span style="color: green;"&gt;Class is feature receiver for feature to install approval timer service&lt;br /&gt;&lt;/span&gt;&lt;span style="color: grey;"&gt;/// &amp;lt;/summary&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: blue;"&gt;public class &lt;/span&gt;&lt;span style="color: #2b91af;"&gt;MyTimerFeature &lt;/span&gt;: SPFeatureReceiver&lt;br /&gt;{&lt;br /&gt;&lt;span style="color: grey;"&gt;/// &amp;lt;summary&amp;gt;&lt;br /&gt;/// &lt;/span&gt;&lt;span style="color: green;"&gt;Notifications job name&lt;br /&gt;&lt;/span&gt;&lt;span style="color: grey;"&gt;/// &amp;lt;/summary&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: blue;"&gt;public string &lt;/span&gt;MyTimerFeatureName = &lt;span style="color: #a31515;"&gt;"MyTimerServiceFeature"&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: grey;"&gt;/// &amp;lt;summary&amp;gt;&lt;br /&gt;/// &lt;/span&gt;&lt;span style="color: green;"&gt;Occurs after a Feature is installed.&lt;br /&gt;&lt;/span&gt;&lt;span style="color: grey;"&gt;/// &amp;lt;/summary&amp;gt;&lt;br /&gt;/// &amp;lt;param name="properties"&amp;gt;&lt;/span&gt;&lt;span style="color: green;"&gt;An  object that represents the properties of the event.&lt;/span&gt;&lt;span style="color: grey;"&gt;&amp;lt;/param&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: blue;"&gt;public override void &lt;/span&gt;FeatureInstalled(SPFeatureReceiverProperties properties)&lt;br /&gt;{&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="color: grey;"&gt;/// &amp;lt;summary&amp;gt;&lt;br /&gt;/// &lt;/span&gt;&lt;span style="color: green;"&gt;Occurs when a Feature is uninstalled.&lt;br /&gt;&lt;/span&gt;&lt;span style="color: grey;"&gt;/// &amp;lt;/summary&amp;gt;&lt;br /&gt;/// &amp;lt;param name="properties"&amp;gt;&lt;/span&gt;&lt;span style="color: green;"&gt;An object that represents the properties of the event.&lt;/span&gt;&lt;span style="color: grey;"&gt;&amp;lt;/param&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: blue;"&gt;public override void &lt;/span&gt;FeatureUninstalling(SPFeatureReceiverProperties properties)&lt;br /&gt;{&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="color: grey;"&gt;/// &amp;lt;summary&amp;gt;&lt;br /&gt;/// &lt;/span&gt;&lt;span style="color: green;"&gt;Occurs after a Feature is activated.&lt;br /&gt;&lt;/span&gt;&lt;span style="color: grey;"&gt;/// &amp;lt;/summary&amp;gt;&lt;br /&gt;/// &amp;lt;param name="properties"&amp;gt;&lt;/span&gt;&lt;span style="color: green;"&gt;An object that represents the properties of the event.&lt;/span&gt;&lt;span style="color: grey;"&gt;&amp;lt;/param&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: blue;"&gt;public override void &lt;/span&gt;FeatureActivated(SPFeatureReceiverProperties properties)&lt;br /&gt;{&lt;br /&gt;&lt;span style="color: green;"&gt;// register the the current web&lt;br /&gt;&lt;/span&gt;SPWeb web = (SPWeb)properties.Feature.Parent;&lt;br /&gt;&lt;br /&gt;SPSite site = web.Site;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: green;"&gt;// make sure the job isn't already registered&lt;br /&gt;&lt;/span&gt;&lt;span style="color: blue;"&gt;foreach &lt;/span&gt;(SPJobDefinition job &lt;span style="color: blue;"&gt;in &lt;/span&gt;site.WebApplication.JobDefinitions)&lt;br /&gt;{&lt;br /&gt;&lt;span style="color: blue;"&gt;if &lt;/span&gt;(job.Name == &lt;span style="color: blue;"&gt;this&lt;/span&gt;.MyTimerFeatureName)&lt;br /&gt;{&lt;br /&gt;job.Delete();&lt;br /&gt;&lt;span style="color: blue;"&gt;break&lt;/span&gt;;&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;MyTimerService myJob = &lt;span style="color: blue;"&gt;new &lt;/span&gt;MyTimerService(&lt;span style="color: blue;"&gt;this&lt;/span&gt;.MyTimerFeatureName, site.WebApplication);&lt;br /&gt;&lt;br /&gt;SPMinuteSchedule schedule = &lt;span style="color: blue;"&gt;new &lt;/span&gt;SPMinuteSchedule();&lt;br /&gt;schedule.BeginSecond = 0;&lt;br /&gt;schedule.EndSecond = 5;&lt;br /&gt;schedule.Interval = 2;&lt;br /&gt;&lt;br /&gt;myJob.Schedule = schedule;&lt;br /&gt;myJob.Update();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="color: grey;"&gt;/// &amp;lt;summary&amp;gt;&lt;br /&gt;/// &lt;/span&gt;&lt;span style="color: green;"&gt;Occurs when a Feature is deactivated.&lt;br /&gt;&lt;/span&gt;&lt;span style="color: grey;"&gt;/// &amp;lt;/summary&amp;gt;&lt;br /&gt;/// &amp;lt;param name="properties"&amp;gt;&lt;/span&gt;&lt;span style="color: green;"&gt;An object that represents the properties of the event.&lt;/span&gt;&lt;span style="color: grey;"&gt;&amp;lt;/param&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: blue;"&gt;public override void &lt;/span&gt;FeatureDeactivating(SPFeatureReceiverProperties properties)&lt;br /&gt;{&lt;br /&gt;&lt;span style="color: green;"&gt;// current web&lt;br /&gt;&lt;/span&gt;SPWeb web = (SPWeb)properties.Feature.Parent;&lt;br /&gt;&lt;br /&gt;SPSite site = web.Site;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: green;"&gt;// delete the job&lt;br /&gt;&lt;/span&gt;&lt;span style="color: blue;"&gt;foreach &lt;/span&gt;(SPJobDefinition job &lt;span style="color: blue;"&gt;in &lt;/span&gt;site.WebApplication.JobDefinitions)&lt;br /&gt;{&lt;br /&gt;&lt;span style="color: blue;"&gt;if &lt;/span&gt;(job.Name == &lt;span style="color: blue;"&gt;this&lt;/span&gt;.MyTimerFeatureName)&lt;br /&gt;{&lt;br /&gt;job.Delete();&lt;br /&gt;&lt;span style="color: blue;"&gt;break&lt;/span&gt;;&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;}&lt;/pre&gt;Similar to SPMinuteSchedule, there is Hourl Schedule also. Use the one as per your requirement.&lt;br /&gt;Once this much is done, we need to create Feature.xml file for the feature we have built and paste it under the Features Folder (C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\TEMPLATE\FEATURES). Create a folder named MyTimerFeature and under this folder create Feature.xml with the following content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="code"&gt;&lt;span style="color: blue;"&gt;&amp;lt;?&lt;/span&gt;&lt;span style="color: #a31515;"&gt;xml &lt;/span&gt;&lt;span style="color: red;"&gt;version&lt;/span&gt;&lt;span style="color: blue;"&gt;=&lt;/span&gt;"&lt;span style="color: blue;"&gt;1.0&lt;/span&gt;" &lt;span style="color: red;"&gt;encoding&lt;/span&gt;&lt;span style="color: blue;"&gt;=&lt;/span&gt;"&lt;span style="color: blue;"&gt;utf-8&lt;/span&gt;" &lt;span style="color: blue;"&gt;?&amp;gt;&lt;br /&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;Feature &lt;/span&gt;&lt;span style="color: red;"&gt;xmlns&lt;/span&gt;&lt;span style="color: blue;"&gt;=&lt;/span&gt;"&lt;span style="color: blue;"&gt;http://schemas.microsoft.com/sharepoint/&lt;/span&gt;"&lt;br /&gt;&lt;span style="color: red;"&gt;Creator&lt;/span&gt;&lt;span style="color: blue;"&gt;=&lt;/span&gt;"&lt;span style="color: blue;"&gt;Amal Hashim&lt;/span&gt;"&lt;br /&gt;&lt;span style="color: red;"&gt;Id&lt;/span&gt;&lt;span style="color: blue;"&gt;=&lt;/span&gt;"&lt;span style="color: blue;"&gt;{76D2F200-5CA0-4882-B64F-9FC6208C1234}&lt;/span&gt;"&lt;br /&gt;&lt;span style="color: red;"&gt;Title&lt;/span&gt;&lt;span style="color: blue;"&gt;=&lt;/span&gt;"&lt;span style="color: blue;"&gt;MyTimerFeature&lt;/span&gt;"&lt;br /&gt;&lt;span style="color: red;"&gt;Description&lt;/span&gt;&lt;span style="color: blue;"&gt;=&lt;/span&gt;"&lt;span style="color: blue;"&gt;My Timer.&lt;/span&gt;"&lt;br /&gt;&lt;span style="color: red;"&gt;Scope&lt;/span&gt;&lt;span style="color: blue;"&gt;=&lt;/span&gt;"&lt;span style="color: blue;"&gt;Web&lt;/span&gt;"&lt;br /&gt;&lt;span style="color: red;"&gt;Hidden&lt;/span&gt;&lt;span style="color: blue;"&gt;=&lt;/span&gt;"&lt;span style="color: blue;"&gt;FALSE&lt;/span&gt;"&lt;br /&gt;&lt;span style="color: red;"&gt;Version&lt;/span&gt;&lt;span style="color: blue;"&gt;=&lt;/span&gt;"&lt;span style="color: blue;"&gt;1.0.0.0&lt;/span&gt;"&lt;br /&gt;&lt;span style="color: red;"&gt;ReceiverAssembly&lt;/span&gt;&lt;span style="color: blue;"&gt;=&lt;/span&gt;"&lt;span style="color: blue;"&gt;MyTimer, Version=1.0.0.0, Culture=neutral, PublicKeyToken=12344ab009fa4028&lt;/span&gt;"&lt;br /&gt;&lt;span style="color: red;"&gt;ReceiverClass&lt;/span&gt;&lt;span style="color: blue;"&gt;=&lt;/span&gt;"&lt;span style="color: blue;"&gt;TimerNameSpace.MyTimerFeature&lt;/span&gt;"&lt;span style="color: blue;"&gt;&amp;gt;&lt;br /&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515;"&gt;Feature&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;You can activate the feature using the Stsadm command as shown below.&lt;br /&gt;stsadm -o installfeature -name MyTimerFeature&lt;br /&gt;&lt;br /&gt;For checking whether the timer has activated successfully or not, you can go to the central admin page&lt;br /&gt;Central Administration –&amp;gt; Operations –&amp;gt; Timer Job Status&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9164837514531450619-4653013641323088728?l=lamahashim.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lamahashim.blogspot.com/feeds/4653013641323088728/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9164837514531450619&amp;postID=4653013641323088728' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/4653013641323088728'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/4653013641323088728'/><link rel='alternate' type='text/html' href='http://lamahashim.blogspot.com/2010/02/creating-timer-job-in-moss.html' title='Creating a Timer job in MOSS'/><author><name>A.m.a.L Hashim</name><uri>http://www.blogger.com/profile/04600206670507170118</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_bxrn2DJZgfo/S28F2fGQN9I/AAAAAAAAAPE/b3GLUwQjrFc/S220/Photo341.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9164837514531450619.post-5726521511810271050</id><published>2010-02-24T02:46:00.001-08:00</published><updated>2010-02-24T02:46:26.553-08:00</updated><title type='text'>Listing all modified objects in SQL Server by Date</title><content type='html'>&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;pre class="code"&gt;&lt;span style="color: blue"&gt;select &lt;/span&gt;&lt;span style="color: gray"&gt;* &lt;/span&gt;&lt;span style="color: blue"&gt;from &lt;/span&gt;&lt;span style="color: green"&gt;sys.objects &lt;/span&gt;&lt;span style="color: blue"&gt;where &lt;/span&gt;modify_date &lt;span style="color: gray"&gt;&amp;gt;= &lt;/span&gt;&lt;span style="color: red"&gt;'2010-02-16'&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;This will list all the database objects modified after 16th Feb 2010&lt;br /&gt;&lt;br /&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9164837514531450619-5726521511810271050?l=lamahashim.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lamahashim.blogspot.com/feeds/5726521511810271050/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9164837514531450619&amp;postID=5726521511810271050' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/5726521511810271050'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/5726521511810271050'/><link rel='alternate' type='text/html' href='http://lamahashim.blogspot.com/2010/02/listing-all-modified-objects-in-sql.html' title='Listing all modified objects in SQL Server by Date'/><author><name>A.m.a.L Hashim</name><uri>http://www.blogger.com/profile/04600206670507170118</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_bxrn2DJZgfo/S28F2fGQN9I/AAAAAAAAAPE/b3GLUwQjrFc/S220/Photo341.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9164837514531450619.post-9172042613938896960</id><published>2010-02-10T06:27:00.001-08:00</published><updated>2010-02-10T06:27:53.334-08:00</updated><title type='text'>New Security Patches</title><content type='html'>&lt;p&gt;Hi all, Microsoft has released new set of security patches. These all are marked as critical, so install it as early as possible&lt;/p&gt;  &lt;p&gt;Critical (2000, XP, W7, 2003, 2008 R2)/Important (Vista, 2008): This is another in the recent problems for Windows’ SMB handling; this one is a remote code execution exploit. The only nice thing about this one is that it requires the attacker to get you to try to connect to their rigged SMB server, and that’s pretty unlikely to go through many corporate firewalls. All the same, get this patch installed as soon as you can. 191KB - 1.2MB    &lt;br /&gt;&lt;a href="http://www.microsoft.com/technet/security/bulletin/ms10-006.mspx"&gt;http://www.microsoft.com/technet/security/bulletin/ms10-006.mspx&lt;/a&gt;     &lt;br /&gt;&lt;a href="http://support.microsoft.com/kb/978706"&gt;http://support.microsoft.com/kb/978706&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Critical (2000, XP, 2003): There is a bug in the ShellExecute API call (which allows programs to ask the OS to perform commands) which allows a remote code execution attack to occur. This patch should be installed immediately. 606KB - 1.4MB    &lt;br /&gt;&lt;a href="http://www.microsoft.com/technet/security/bulletin/ms10-007.mspx"&gt;http://www.microsoft.com/technet/security/bulletin/ms10-007.mspx&lt;/a&gt;     &lt;br /&gt;&lt;a href="http://support.microsoft.com/kb/975713"&gt;http://support.microsoft.com/kb/975713&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Critical (2000, XP)/Important(Vista, W7)/Moderate(2003)/Low(2008, 2008 R2): This is an important update to the ActiveX Kill Bits system that fixes a bug that could allow remote code execution exploits, and adds some addition controls to the kill bits system. Install this as soon as you can. 27KB - 1.0MB    &lt;br /&gt;&lt;a href="http://www.microsoft.com/technet/security/bulletin/ms10-008.mspx"&gt;http://www.microsoft.com/technet/security/bulletin/ms10-008.mspx&lt;/a&gt;     &lt;br /&gt;&lt;a href="http://support.microsoft.com/kb/978262"&gt;http://support.microsoft.com/kb/978262&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Critical (Vista, 2008): A problem in the TCP/IP stack of Vista and 2008 allows and attacker to perform a remote code execution exploit if IPv6 is turned on. You should install this patch immediate. 1.4MB - 2.7MB    &lt;br /&gt;&lt;a href="http://www.microsoft.com/technet/security/bulletin/ms10-009.mspx"&gt;http://www.microsoft.com/technet/security/bulletin/ms10-009.mspx&lt;/a&gt;     &lt;br /&gt;&lt;a href="http://support.microsoft.com/kb/974145"&gt;http://support.microsoft.com/kb/974145&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9164837514531450619-9172042613938896960?l=lamahashim.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lamahashim.blogspot.com/feeds/9172042613938896960/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9164837514531450619&amp;postID=9172042613938896960' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/9172042613938896960'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/9172042613938896960'/><link rel='alternate' type='text/html' href='http://lamahashim.blogspot.com/2010/02/new-security-patches.html' title='New Security Patches'/><author><name>A.m.a.L Hashim</name><uri>http://www.blogger.com/profile/04600206670507170118</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_bxrn2DJZgfo/S28F2fGQN9I/AAAAAAAAAPE/b3GLUwQjrFc/S220/Photo341.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9164837514531450619.post-4384653970508894463</id><published>2009-11-18T08:23:00.001-08:00</published><updated>2009-11-18T08:25:22.424-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Download all images from a Webpage using C#</title><content type='html'>&lt;p&gt;In this article I am going to explain how we can use the power of .Net framework class library for downloading the images imposed on a web page. There is a class called &lt;strong&gt;WebBrowser&lt;/strong&gt;. Check &lt;a href="http://msdn.microsoft.com/en-us/library/system.windows.forms.webbrowser.aspx" target="_blank"&gt;here&lt;/a&gt; for msdn documentation.&lt;/p&gt;&lt;pre class="code"&gt;&lt;span style="color:#2b91af;"&gt;WebBrowser &lt;/span&gt;browser = &lt;span style="color:blue;"&gt;new &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;WebBrowser&lt;/span&gt;();&lt;br /&gt;browser.DocumentCompleted += &lt;span style="color:blue;"&gt;new &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;WebBrowserDocumentCompletedEventHandler&lt;/span&gt;(browser_DocumentCompleted);&lt;br /&gt;browser.Navigate(“http://www.msn.com”);&lt;/pre&gt;&lt;p&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;In the above code snippet, I am creating a new WebBrowser object. After that registering DocumentCompleted event. Now the most important statement, WebBrowser.Navigate, this method will accept a url and will load the webpage. Once the entire webpage is loaded, DocumentCompleted event will get fired. In this method we will do as follow&lt;/p&gt;&lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;void &lt;/span&gt;browser_DocumentCompleted(&lt;span style="color:blue;"&gt;object &lt;/span&gt;sender, &lt;span style="color:#2b91af;"&gt;WebBrowserDocumentCompletedEventArgs &lt;/span&gt;e)&lt;br /&gt;{&lt;br /&gt;    &lt;span style="color:#2b91af;"&gt;WebBrowser &lt;/span&gt;browser = sender &lt;span style="color:blue;"&gt;as &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;WebBrowser&lt;/span&gt;;&lt;br /&gt;    &lt;span style="color:#2b91af;"&gt;HtmlElementCollection &lt;/span&gt;imgCollection = browser.Document.GetElementsByTagName(&lt;span style="color:#a31515;"&gt;"img"&lt;/span&gt;);&lt;br /&gt;    &lt;span style="color:#2b91af;"&gt;WebClient &lt;/span&gt;webClient = &lt;span style="color:blue;"&gt;new &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;WebClient&lt;/span&gt;();&lt;br /&gt;&lt;br /&gt;    &lt;span style="color:blue;"&gt;foreach &lt;/span&gt;(&lt;span style="color:#2b91af;"&gt;HtmlElement &lt;/span&gt;img &lt;span style="color:blue;"&gt;in &lt;/span&gt;imgCollection)&lt;br /&gt;    {&lt;br /&gt;        &lt;span style="color:blue;"&gt;string &lt;/span&gt;url = img.FirstChild.GetAttribute(&lt;span style="color:#a31515;"&gt;"src"&lt;/span&gt;);&lt;br /&gt;        webClient.DownloadFile(url, url.Substring(url.LastIndexOf(&lt;span style="color:#a31515;"&gt;'/'&lt;/span&gt;)));&lt;br /&gt;    }&lt;br /&gt;}&lt;/pre&gt;First we will convert the sender object to a WebBrowser. Then we will get all the img tag’s in the loaded webpage. For each img tag we will use the WebClient object to download the image. We will be downloading the file to the current working directory.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9164837514531450619-4384653970508894463?l=lamahashim.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lamahashim.blogspot.com/feeds/4384653970508894463/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9164837514531450619&amp;postID=4384653970508894463' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/4384653970508894463'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/4384653970508894463'/><link rel='alternate' type='text/html' href='http://lamahashim.blogspot.com/2009/11/download-all-images-from-webpage-using.html' title='Download all images from a Webpage using C#'/><author><name>A.m.a.L Hashim</name><uri>http://www.blogger.com/profile/04600206670507170118</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_bxrn2DJZgfo/S28F2fGQN9I/AAAAAAAAAPE/b3GLUwQjrFc/S220/Photo341.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9164837514531450619.post-5703193928540570192</id><published>2009-11-15T03:57:00.001-08:00</published><updated>2009-11-15T03:59:21.032-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JQuery'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.Net'/><title type='text'>Image slide show using JQuery</title><content type='html'>&lt;p&gt;In this article I am going to explain, how we can use JQuery for preparing a slid show using various images. You can download JQuery from the following link.&lt;/p&gt;&lt;p&gt;&lt;a href="http://code.google.com/p/jqueryjs/downloads/detail?name=jquery-1.3.2.min.js" target="_blank"&gt;Download JQuery&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Below is the aspx page content&lt;/p&gt;&lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;html &lt;/span&gt;&lt;span style="color:red;"&gt;xmlns&lt;/span&gt;&lt;span style="color:blue;"&gt;="http://www.w3.org/1999/xhtml"&amp;gt;&lt;br /&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;head &lt;/span&gt;&lt;span style="color:red;"&gt;runat&lt;/span&gt;&lt;span style="color:blue;"&gt;="server"&amp;gt;&lt;br /&gt;    &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;title&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;Image slide show&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;title&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;    &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;script &lt;/span&gt;&lt;span style="color:red;"&gt;type&lt;/span&gt;&lt;span style="color:blue;"&gt;='text/javascript'&lt;br /&gt;        &lt;/span&gt;&lt;span style="color:red;"&gt;src&lt;/span&gt;&lt;span style="color:blue;"&gt;="JQuery/jquery-1.3.2.min.js"&amp;gt;&lt;br /&gt;    &amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;script&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;  &lt;br /&gt;    &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;script &lt;/span&gt;&lt;span style="color:red;"&gt;type&lt;/span&gt;&lt;span style="color:blue;"&gt;="text/javascript"&amp;gt;&lt;br /&gt;        &lt;/span&gt;$(&lt;span style="color:blue;"&gt;function&lt;/span&gt;() {&lt;br /&gt;            &lt;span style="color:blue;"&gt;var &lt;/span&gt;img = $(&lt;span style="color:#a31515;"&gt;"img.imgclass"&lt;/span&gt;);           &lt;br /&gt;            $(img).hide().eq(0).show();&lt;br /&gt;            &lt;span style="color:blue;"&gt;var &lt;/span&gt;cnt = img.length;&lt;br /&gt;&lt;br /&gt;            setInterval(imgRotate, 5000);&lt;br /&gt;&lt;br /&gt;            &lt;span style="color:blue;"&gt;function &lt;/span&gt;imgRotate() {&lt;br /&gt;               $(img).eq((img.length++) % cnt).fadeOut(&lt;span style="color:#a31515;"&gt;"slow"&lt;/span&gt;, &lt;span style="color:blue;"&gt;function&lt;/span&gt;() {&lt;br /&gt;                    $(img).eq((img.length) % cnt)&lt;br /&gt;                    .fadeIn(&lt;span style="color:#a31515;"&gt;"slow"&lt;/span&gt;);&lt;br /&gt;                });&lt;br /&gt;            }&lt;br /&gt;        });&lt;br /&gt;    &lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;script&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;head&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;body&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;    &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;form &lt;/span&gt;&lt;span style="color:red;"&gt;id&lt;/span&gt;&lt;span style="color:blue;"&gt;="form1" &lt;/span&gt;&lt;span style="color:red;"&gt;runat&lt;/span&gt;&lt;span style="color:blue;"&gt;="server"&amp;gt;&lt;br /&gt;            &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;img &lt;/span&gt;&lt;span style="color:red;"&gt;src&lt;/span&gt;&lt;span style="color:blue;"&gt;="Images/1.jpg" &lt;/span&gt;&lt;span style="color:red;"&gt;class&lt;/span&gt;&lt;span style="color:blue;"&gt;="imgclass" &lt;/span&gt;&lt;span style="color:red;"&gt;alt&lt;/span&gt;&lt;span style="color:blue;"&gt;="Image1"/&amp;gt;&lt;br /&gt;            &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;img &lt;/span&gt;&lt;span style="color:red;"&gt;src&lt;/span&gt;&lt;span style="color:blue;"&gt;="Images/10.jpg" &lt;/span&gt;&lt;span style="color:red;"&gt;class&lt;/span&gt;&lt;span style="color:blue;"&gt;="imgclass" &lt;/span&gt;&lt;span style="color:red;"&gt;alt&lt;/span&gt;&lt;span style="color:blue;"&gt;="Image2"/&amp;gt;&lt;br /&gt;            &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;img &lt;/span&gt;&lt;span style="color:red;"&gt;src&lt;/span&gt;&lt;span style="color:blue;"&gt;="Images/11.jpg" &lt;/span&gt;&lt;span style="color:red;"&gt;class&lt;/span&gt;&lt;span style="color:blue;"&gt;="imgclass" &lt;/span&gt;&lt;span style="color:red;"&gt;alt&lt;/span&gt;&lt;span style="color:blue;"&gt;="Image3"/&amp;gt;&lt;br /&gt;    &amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;form&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;body&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;html&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;p&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;In the code what I am doing is straight forward. Get all img tags with class “imgclass”. Hide them initially. Every 5 second, call the method “imgRotate”. This method will fadeout the previous image and fade in the current image. Inside the form tag, you can add as many images you needed.&lt;/p&gt;&lt;p&gt;Hope this was helpful &lt;img alt="thumbs_up" src="http://spaces.live.com/rte/emoticons/thumbs_up.gif" /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9164837514531450619-5703193928540570192?l=lamahashim.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lamahashim.blogspot.com/feeds/5703193928540570192/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9164837514531450619&amp;postID=5703193928540570192' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/5703193928540570192'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/5703193928540570192'/><link rel='alternate' type='text/html' href='http://lamahashim.blogspot.com/2009/11/image-slide-show-using-jquery.html' title='Image slide show using JQuery'/><author><name>A.m.a.L Hashim</name><uri>http://www.blogger.com/profile/04600206670507170118</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_bxrn2DJZgfo/S28F2fGQN9I/AAAAAAAAAPE/b3GLUwQjrFc/S220/Photo341.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9164837514531450619.post-3126767780046624295</id><published>2009-11-13T22:49:00.001-08:00</published><updated>2009-11-13T22:49:36.967-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IIS 6.0'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows 2008'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows 2003 64 Bit'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.Net'/><category scheme='http://www.blogger.com/atom/ns#' term='IIS 7.0'/><title type='text'>Enabling IIS and ASP.Net 32 bit on 64 bit Windows OS</title><content type='html'>&lt;p&gt;Assuming .Net framework is not installed. In that case follow the below step to enable IIS to run 32 bit ASP.Net applications.&lt;/p&gt;  &lt;p&gt;Navigate to &lt;u&gt;%WINDIR%\Inetpub\AdminScripts&lt;/u&gt; directory and run the &lt;u&gt;adsutil.vbs&lt;/u&gt; script using the following command line&lt;/p&gt;  &lt;p&gt;cscript.exe adsutil.vbs set W3SVC/AppPools/Enable32BitAppOnWin64 &amp;quot;true&amp;quot;&lt;/p&gt;  &lt;p&gt;If you have .Net framework pre installed. Then after following the above step. Run the following command on the command line from the directory %WINDIR%\Mircosoft.Net\Framework\v2.0.50727&lt;/p&gt;  &lt;p&gt;aspnet_regiis -i&lt;/p&gt;  &lt;p&gt;Now you can install 32 bit ASP.Net applications.&lt;/p&gt;  &lt;p&gt;The above solution is for IIS 6.0 on Windows Server 2003 64 Bit. &lt;/p&gt;  &lt;p&gt;Now I am going to explain how to achieve the same on IIS 7.0&lt;/p&gt;  &lt;p&gt;As compared to all Microsoft products IIS 7.0 is also backward compatible. This is achieved through IIS 6.0 metabase compatibility and IIS 6.0 WMI compatibility. Installing this will make IIS 6.0 Default Application Pool on IIS 7.0. For installing these options, if IIS 7.0 is already installed, configure it using the Add Roles option under Server Manager.&lt;/p&gt;  &lt;p&gt;From Server Manager, Select Web Server(IIS). Now from left pane click on &amp;quot;Add Rol Services&amp;quot;. In the new windows, scroll down, to check &amp;quot;IIS 6 Metabase Compatibility&amp;quot; and &amp;quot;IIS 6 WMI Compatibility&amp;quot;.&lt;/p&gt;  &lt;p&gt;Now open IIS Manger. From left pane select &amp;quot;Set Application Pool Defaults...&amp;quot;. Now under General, select &amp;quot;Enable 32-Bit Applications&amp;quot; as true.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9164837514531450619-3126767780046624295?l=lamahashim.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lamahashim.blogspot.com/feeds/3126767780046624295/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9164837514531450619&amp;postID=3126767780046624295' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/3126767780046624295'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/3126767780046624295'/><link rel='alternate' type='text/html' href='http://lamahashim.blogspot.com/2009/11/enabling-iis-and-aspnet-32-bit-on-64.html' title='Enabling IIS and ASP.Net 32 bit on 64 bit Windows OS'/><author><name>A.m.a.L Hashim</name><uri>http://www.blogger.com/profile/04600206670507170118</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_bxrn2DJZgfo/S28F2fGQN9I/AAAAAAAAAPE/b3GLUwQjrFc/S220/Photo341.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9164837514531450619.post-5056670159965857595</id><published>2009-11-13T05:41:00.001-08:00</published><updated>2009-11-13T05:44:35.088-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.Net'/><title type='text'>Paging and Sorting Optimized with ASP.Net GridView</title><content type='html'>&lt;p&gt;Lets start by creating an Employee table&lt;/p&gt;  &lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;CREATE TABLE &lt;/span&gt;[dbo]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[Employee]&lt;span style="color:gray;"&gt;(&lt;br /&gt;   &lt;/span&gt;[EmpID] [int] &lt;span style="color:gray;"&gt;NOT NULL,&lt;br /&gt;   &lt;/span&gt;[Name] [varchar]&lt;span style="color:gray;"&gt;(&lt;/span&gt;50&lt;span style="color:gray;"&gt;) NULL,&lt;br /&gt;   &lt;/span&gt;[Department] [varchar]&lt;span style="color:gray;"&gt;(&lt;/span&gt;50&lt;span style="color:gray;"&gt;) NULL,&lt;br /&gt;   &lt;/span&gt;[Salary] [decimal]&lt;span style="color:gray;"&gt;(&lt;/span&gt;18&lt;span style="color:gray;"&gt;, &lt;/span&gt;0&lt;span style="color:gray;"&gt;) NULL&lt;br /&gt;) &lt;/span&gt;&lt;span style="color:blue;"&gt;ON &lt;/span&gt;[PRIMARY]&lt;br /&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;GO&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;p&gt;For optimization, we need a stored procedure at database level, which will return one page of data. The following stored procedure is the bottom line of optimization&lt;br /&gt;&lt;/p&gt;&lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;Create PROCEDURE &lt;/span&gt;spGetAllEmployee&lt;br /&gt;&lt;span style="color:gray;"&gt;(&lt;br /&gt;   &lt;/span&gt;@startIndex     &lt;span style="color:blue;"&gt;int&lt;/span&gt;&lt;span style="color:gray;"&gt;,&lt;br /&gt;   &lt;/span&gt;@pageSize       &lt;span style="color:blue;"&gt;int&lt;/span&gt;&lt;span style="color:gray;"&gt;,&lt;br /&gt;   &lt;/span&gt;@sortBy     &lt;span style="color:blue;"&gt;nvarchar&lt;/span&gt;&lt;span style="color:gray;"&gt;(&lt;/span&gt;30&lt;span style="color:gray;"&gt;),&lt;br /&gt;   &lt;/span&gt;@totalEmployees &lt;span style="color:blue;"&gt;int OUTPUT    &lt;br /&gt;&lt;/span&gt;&lt;span style="color:gray;"&gt;)&lt;br /&gt;&lt;/span&gt;&lt;span style="color:blue;"&gt;AS&lt;br /&gt;   SET NOCOUNT ON&lt;br /&gt;   DECLARE &lt;/span&gt;@sqlStatement &lt;span style="color:blue;"&gt;nvarchar&lt;/span&gt;&lt;span style="color:gray;"&gt;(&lt;/span&gt;&lt;span style="color:magenta;"&gt;max&lt;/span&gt;&lt;span style="color:gray;"&gt;)&lt;br /&gt;   &lt;/span&gt;&lt;span style="color:blue;"&gt;DECLARE &lt;/span&gt;@upperBound &lt;span style="color:blue;"&gt;int&lt;br /&gt;   IF &lt;/span&gt;@startIndex  &lt;span style="color:gray;"&gt;&amp;lt; &lt;/span&gt;1&lt;br /&gt;       &lt;span style="color:blue;"&gt;SET &lt;/span&gt;@startIndex &lt;span style="color:gray;"&gt;= &lt;/span&gt;1&lt;br /&gt;   &lt;span style="color:blue;"&gt;IF &lt;/span&gt;@pageSize &lt;span style="color:gray;"&gt;&amp;lt; &lt;/span&gt;1&lt;br /&gt;       &lt;span style="color:blue;"&gt;SET &lt;/span&gt;@pageSize &lt;span style="color:gray;"&gt;= &lt;/span&gt;1&lt;br /&gt;   &lt;span style="color:blue;"&gt;SET &lt;/span&gt;@upperBound &lt;span style="color:gray;"&gt;= &lt;/span&gt;@startIndex &lt;span style="color:gray;"&gt;+ &lt;/span&gt;@pageSize&lt;br /&gt;   &lt;span style="color:blue;"&gt;Select &lt;/span&gt;@totalEmployees&lt;span style="color:gray;"&gt;=&lt;/span&gt;&lt;span style="color:magenta;"&gt;Count&lt;/span&gt;&lt;span style="color:gray;"&gt;(*) &lt;/span&gt;&lt;span style="color:blue;"&gt;From &lt;/span&gt;Employee&lt;br /&gt;   &lt;span style="color:blue;"&gt;SET &lt;/span&gt;@sqlStatement &lt;span style="color:gray;"&gt;=&lt;br /&gt;   &lt;/span&gt;&lt;span style="color:red;"&gt;'SELECT E.EmployeeID, E.EmployeeCode, E.Name, E.Department, E.Salary&lt;br /&gt;       FROM (&lt;br /&gt;       SELECT  ROW_NUMBER() OVER(ORDER BY ' &lt;/span&gt;&lt;span style="color:gray;"&gt;+ &lt;/span&gt;@sortBy &lt;span style="color:gray;"&gt;+ &lt;/span&gt;&lt;span style="color:red;"&gt;')&lt;br /&gt;           AS rowNumber, * FROM    Employee&lt;br /&gt;       ) AS E&lt;br /&gt;       WHERE  rowNumber &amp;gt;= ' &lt;/span&gt;&lt;span style="color:gray;"&gt;+ &lt;/span&gt;&lt;span style="color:magenta;"&gt;CONVERT&lt;/span&gt;&lt;span style="color:gray;"&gt;(&lt;/span&gt;&lt;span style="color:blue;"&gt;varchar&lt;/span&gt;&lt;span style="color:gray;"&gt;(&lt;/span&gt;9&lt;span style="color:gray;"&gt;), &lt;/span&gt;@startIndex&lt;span style="color:gray;"&gt;) + &lt;/span&gt;&lt;span style="color:red;"&gt;' AND&lt;br /&gt;              rowNumber &amp;lt;  ' &lt;/span&gt;&lt;span style="color:gray;"&gt;+ &lt;/span&gt;&lt;span style="color:magenta;"&gt;CONVERT&lt;/span&gt;&lt;span style="color:gray;"&gt;(&lt;/span&gt;&lt;span style="color:blue;"&gt;varchar&lt;/span&gt;&lt;span style="color:gray;"&gt;(&lt;/span&gt;9&lt;span style="color:gray;"&gt;), &lt;/span&gt;@upperBound&lt;span style="color:gray;"&gt;)&lt;br /&gt;&lt;br /&gt;   &lt;/span&gt;&lt;span style="color:blue;"&gt;exec &lt;/span&gt;&lt;span style="color:gray;"&gt;(&lt;/span&gt;@sqlStatement&lt;span style="color:gray;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;p&gt;The stored procedure accepts page index, page size and sort expression. It returns the sorted data for that page index. The procedure contains two SELECT statements. The first one will find out the total employee count while the second statement is dynamic, which will return the sorted records of one page according to the provided page index and page size. If you look into the second SELECT statement you can see the use of ROW_NUMBER() function, which is an addition to SQL Server 2005 and above. What it will do is, it will add an additional column to the record set and places a record number for each row. In the outer query we will filter the result rows by using lower bound and upper bound indexes so that we return only the rows between lower and upper bounds.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Now take a look at the aspx page&lt;br /&gt;&lt;/p&gt;&lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;asp&lt;/span&gt;&lt;span style="color:blue;"&gt;:&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;GridView &lt;/span&gt;&lt;span style="color:red;"&gt;ID&lt;/span&gt;&lt;span style="color:blue;"&gt;="GridView1" &lt;/span&gt;&lt;span style="color:red;"&gt;DataKeyNames&lt;/span&gt;&lt;span style="color:blue;"&gt;="EmpID" &lt;/span&gt;&lt;span style="color:red;"&gt;runat&lt;/span&gt;&lt;span style="color:blue;"&gt;="server" &lt;/span&gt;&lt;span style="color:red;"&gt;&lt;br /&gt;AllowPaging&lt;/span&gt;&lt;span style="color:blue;"&gt;="True" &lt;/span&gt;&lt;span style="color:red;"&gt;AutoGenerateColumns&lt;/span&gt;&lt;span style="color:blue;"&gt;="False"&lt;br /&gt;&lt;/span&gt;&lt;span style="color:red;"&gt;CellPadding&lt;/span&gt;&lt;span style="color:blue;"&gt;="4" &lt;/span&gt;&lt;span style="color:red;"&gt;DataSourceID&lt;/span&gt;&lt;span style="color:blue;"&gt;="ObjectDataSource1" &lt;/span&gt;&lt;span style="color:red;"&gt;ForeColor&lt;/span&gt;&lt;span style="color:blue;"&gt;="#333333" &lt;/span&gt;&lt;span style="color:red;"&gt;&lt;br /&gt;GridLines&lt;/span&gt;&lt;span style="color:blue;"&gt;="None" &lt;/span&gt;&lt;span style="color:red;"&gt;AllowSorting&lt;/span&gt;&lt;span style="color:blue;"&gt;="True" &lt;/span&gt;&lt;span style="color:red;"&gt;PageSize&lt;/span&gt;&lt;span style="color:blue;"&gt;="5" &amp;gt;&lt;br /&gt;       &amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;RowStyle &lt;/span&gt;&lt;span style="color:red;"&gt;BackColor&lt;/span&gt;&lt;span style="color:blue;"&gt;="#EFF3FB" /&amp;gt;&lt;br /&gt;       &amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;Columns&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;           &amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;asp&lt;/span&gt;&lt;span style="color:blue;"&gt;:&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;BoundField &lt;/span&gt;&lt;span style="color:red;"&gt;DataField&lt;/span&gt;&lt;span style="color:blue;"&gt;="EmpID" &lt;/span&gt;&lt;span style="color:red;"&gt;HeaderText&lt;/span&gt;&lt;span style="color:blue;"&gt;="EmpID" &lt;/span&gt;&lt;span style="color:red;"&gt;&lt;br /&gt;ReadOnly&lt;/span&gt;&lt;span style="color:blue;"&gt;="true" &lt;/span&gt;&lt;span style="color:red;"&gt;SortExpression&lt;/span&gt;&lt;span style="color:blue;"&gt;="EmpID" /&amp;gt;           &lt;br /&gt;           &amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;asp&lt;/span&gt;&lt;span style="color:blue;"&gt;:&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;BoundField &lt;/span&gt;&lt;span style="color:red;"&gt;DataField&lt;/span&gt;&lt;span style="color:blue;"&gt;="Name" &lt;/span&gt;&lt;span style="color:red;"&gt;HeaderText&lt;/span&gt;&lt;span style="color:blue;"&gt;="Name" &lt;/span&gt;&lt;span style="color:red;"&gt;&lt;br /&gt;SortExpression&lt;/span&gt;&lt;span style="color:blue;"&gt;="Name" /&amp;gt;&lt;br /&gt;           &amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;asp&lt;/span&gt;&lt;span style="color:blue;"&gt;:&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;BoundField &lt;/span&gt;&lt;span style="color:red;"&gt;DataField&lt;/span&gt;&lt;span style="color:blue;"&gt;="Department" &lt;/span&gt;&lt;span style="color:red;"&gt;HeaderText&lt;/span&gt;&lt;span style="color:blue;"&gt;="Department" &lt;/span&gt;&lt;span style="color:red;"&gt;&lt;br /&gt;SortExpression&lt;/span&gt;&lt;span style="color:blue;"&gt;="Department" /&amp;gt;&lt;br /&gt;           &amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;asp&lt;/span&gt;&lt;span style="color:blue;"&gt;:&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;BoundField &lt;/span&gt;&lt;span style="color:red;"&gt;DataField&lt;/span&gt;&lt;span style="color:blue;"&gt;="Salary" &lt;/span&gt;&lt;span style="color:red;"&gt;HeaderText&lt;/span&gt;&lt;span style="color:blue;"&gt;="Salary"&lt;br /&gt;&lt;/span&gt;&lt;span style="color:red;"&gt;SortExpression&lt;/span&gt;&lt;span style="color:blue;"&gt;="Salary" /&amp;gt;&lt;br /&gt;       &amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;Columns&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;       &amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;FooterStyle &lt;/span&gt;&lt;span style="color:red;"&gt;BackColor&lt;/span&gt;&lt;span style="color:blue;"&gt;="#507CD1" &lt;/span&gt;&lt;span style="color:red;"&gt;Font-Bold&lt;/span&gt;&lt;span style="color:blue;"&gt;="True" &lt;/span&gt;&lt;span style="color:red;"&gt;&lt;br /&gt;ForeColor&lt;/span&gt;&lt;span style="color:blue;"&gt;="White" /&amp;gt;&lt;br /&gt;       &amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;PagerStyle &lt;/span&gt;&lt;span style="color:red;"&gt;BackColor&lt;/span&gt;&lt;span style="color:blue;"&gt;="#2461BF" &lt;/span&gt;&lt;span style="color:red;"&gt;ForeColor&lt;/span&gt;&lt;span style="color:blue;"&gt;="White" &lt;/span&gt;&lt;span style="color:red;"&gt;&lt;br /&gt;HorizontalAlign&lt;/span&gt;&lt;span style="color:blue;"&gt;="Center" /&amp;gt;&lt;br /&gt;       &amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;SelectedRowStyle &lt;/span&gt;&lt;span style="color:red;"&gt;BackColor&lt;/span&gt;&lt;span style="color:blue;"&gt;="#D1DDF1" &lt;/span&gt;&lt;span style="color:red;"&gt;Font-Bold&lt;/span&gt;&lt;span style="color:blue;"&gt;="True" &lt;/span&gt;&lt;span style="color:red;"&gt;&lt;br /&gt;ForeColor&lt;/span&gt;&lt;span style="color:blue;"&gt;="#333333" /&amp;gt;&lt;br /&gt;       &amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;HeaderStyle &lt;/span&gt;&lt;span style="color:red;"&gt;BackColor&lt;/span&gt;&lt;span style="color:blue;"&gt;="#507CD1" &lt;/span&gt;&lt;span style="color:red;"&gt;Font-Bold&lt;/span&gt;&lt;span style="color:blue;"&gt;="True" &lt;/span&gt;&lt;span style="color:red;"&gt;&lt;br /&gt;ForeColor&lt;/span&gt;&lt;span style="color:blue;"&gt;="White" /&amp;gt;&lt;br /&gt;       &amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;EditRowStyle &lt;/span&gt;&lt;span style="color:red;"&gt;BackColor&lt;/span&gt;&lt;span style="color:blue;"&gt;="#2461BF" /&amp;gt;&lt;br /&gt;       &amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;AlternatingRowStyle &lt;/span&gt;&lt;span style="color:red;"&gt;BackColor&lt;/span&gt;&lt;span style="color:blue;"&gt;="White" /&amp;gt;&lt;br /&gt;   &amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;asp&lt;/span&gt;&lt;span style="color:blue;"&gt;:&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;GridView&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;  &lt;br /&gt;   &amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;asp&lt;/span&gt;&lt;span style="color:blue;"&gt;:&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;ObjectDataSource &lt;/span&gt;&lt;span style="color:red;"&gt;ID&lt;/span&gt;&lt;span style="color:blue;"&gt;="ObjectDataSource1" &lt;/span&gt;&lt;span style="color:red;"&gt;runat&lt;/span&gt;&lt;span style="color:blue;"&gt;="server"  &lt;/span&gt;&lt;span style="color:red;"&gt;&lt;br /&gt;SelectMethod&lt;/span&gt;&lt;span style="color:blue;"&gt;="GetAllEmployees" &lt;/span&gt;&lt;span style="color:red;"&gt;EnablePaging&lt;/span&gt;&lt;span style="color:blue;"&gt;="true"&lt;br /&gt;   &lt;/span&gt;&lt;span style="color:red;"&gt;TypeName&lt;/span&gt;&lt;span style="color:blue;"&gt;="WebApplication1.EmployeeData" &lt;/span&gt;&lt;span style="color:red;"&gt;&lt;br /&gt;StartRowIndexParameterName&lt;/span&gt;&lt;span style="color:blue;"&gt;="startIndex" &lt;/span&gt;&lt;span style="color:red;"&gt;MaximumRowsParameterName&lt;/span&gt;&lt;span style="color:blue;"&gt;="pageSize"&lt;br /&gt;   &lt;/span&gt;&lt;span style="color:red;"&gt;SortParameterName&lt;/span&gt;&lt;span style="color:blue;"&gt;="sortBy" &lt;/span&gt;&lt;span style="color:red;"&gt;SelectCountMethod&lt;/span&gt;&lt;span style="color:blue;"&gt;="GetTotalEmployeesCount" &amp;gt;   &lt;br /&gt;   &amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;asp&lt;/span&gt;&lt;span style="color:blue;"&gt;:&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;ObjectDataSource&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;p&gt;We will be using the ObjectDataSource, which allow Virtual Paging. For achieving this we will be using the following property of ObjectDataSource&lt;br /&gt;&lt;/p&gt;&lt;p&gt;StartRowIndexParameterName - Specifies the parameter name of the Select  method of ObjectDataSource’s  bounded Type. ObjectDataSource  will pass the value to this parameter when the user changes the page index. For example, if Grid View page size is 10 and the user clicks page number 3 to view the 3rd page, then the ObjectDataSource  will calculate the value of StartRowIndexParameter  by using the (page Size * page Index) formula. In this case it will be 10 * 3= 30. Default value of this property is startRowIndex, which means that if we don't mention any value for this property then the Select  method should have the startRowIndex  parameter.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;MaximumRowsParameterName - Specifies the parameter name of the Select  method of ObjectDataSurce’s  bounded Type. ObjectDataSource  will pass the value to this parameter when the user changes the page Index. ObjectDataSource  source gets its value from GridView's PageSize  property. Default value of this property is maximumRow, which means that if we don't set any value for this property then the Select  method should have the maximumRow  parameter.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;SelectCountMethod - Specifies the method name of ObjectDataSource’s  Type. This method will be called by ObjectDataSource  to get the total number of records in the database. This count will help ObjectDataSource  to create virtual paging in the Grid. For example, if GridView page size is 10, and SelectCountMethod  returns 100 as total number of employees in the database then ObjectDataSource  will display 10 page indexes in the GridView's pager area, even if we didn't get all the 100 records from the database.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;SortParameterName - Specifies the parameter name of the Select  method of ObjectDataSource’s  bounded Type. ObjectDataSource  will pass the value to this parameter when the user clicks on any column header to sort the data according to that column. ObjectDataSource  fetches the value from the SortExpression  property of the particular GridView column.&lt;br /&gt;&lt;/p&gt;&lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;public class &lt;/span&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;EmployeeData&lt;br /&gt;   &lt;/span&gt;{&lt;br /&gt;       &lt;span style="color:blue;"&gt;private static int &lt;/span&gt;employeesCount;&lt;br /&gt;&lt;br /&gt;       &lt;span style="color:blue;"&gt;public &lt;/span&gt;EmployeeData()&lt;br /&gt;       {&lt;br /&gt;           &lt;span style="color:green;"&gt;//&lt;br /&gt;           // TODO: Add constructor logic here&lt;br /&gt;           //&lt;br /&gt;       &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;       [DataObjectMethod(DataObjectMethodType.Select)]&lt;br /&gt;       &lt;span style="color:blue;"&gt;public static &lt;/span&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;List&lt;/span&gt;&amp;lt;Employee&amp;gt; GetAllEmployees(&lt;span style="color:blue;"&gt;int &lt;/span&gt;startIndex,&lt;br /&gt;&lt;span style="color:blue;"&gt;int &lt;/span&gt;pageSize, &lt;span style="color:blue;"&gt;string &lt;/span&gt;sortBy)&lt;br /&gt;       {&lt;br /&gt;           &lt;span style="color: rgb(43, 145, 175);"&gt;List&lt;/span&gt;&amp;lt;Employee&amp;gt; result;&lt;br /&gt;           &lt;span style="color:blue;"&gt;int &lt;/span&gt;totalEmployees = 0;&lt;br /&gt;           &lt;span style="color:blue;"&gt;if &lt;/span&gt;(&lt;span style="color:blue;"&gt;string&lt;/span&gt;.IsNullOrEmpty(sortBy))&lt;br /&gt;               sortBy = &lt;span style="color: rgb(163, 21, 21);"&gt;"EmpID"&lt;/span&gt;;&lt;br /&gt;           result = GetAllEmployee(startIndex, pageSize, sortBy, &lt;span style="color:blue;"&gt;&lt;br /&gt;ref &lt;/span&gt;totalEmployees);&lt;br /&gt;           employeesCount = totalEmployees;&lt;br /&gt;           &lt;span style="color:blue;"&gt;return &lt;/span&gt;result;&lt;br /&gt;       }&lt;br /&gt;&lt;br /&gt;       &lt;span style="color:blue;"&gt;public static int &lt;/span&gt;GetTotalEmployeesCount()&lt;br /&gt;       {&lt;br /&gt;           &lt;span style="color:blue;"&gt;return &lt;/span&gt;employeesCount;&lt;br /&gt;       }&lt;br /&gt;&lt;br /&gt;       &lt;span style="color:blue;"&gt;public static &lt;/span&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;List&lt;/span&gt;&amp;lt;Employee&amp;gt; GetAllEmployee(&lt;span style="color:blue;"&gt;int &lt;/span&gt;startIndex, &lt;span style="color:blue;"&gt;&lt;br /&gt;int &lt;/span&gt;pageSize, &lt;span style="color:blue;"&gt;string &lt;/span&gt;sortBy, &lt;span style="color:blue;"&gt;ref int &lt;/span&gt;totalEmployees)&lt;br /&gt;       {&lt;br /&gt;           System.Data.SqlClient.SqlConnection connection;&lt;br /&gt;           System.Data.SqlClient.SqlCommand selectCommand = &lt;span style="color:blue;"&gt;null&lt;/span&gt;;&lt;br /&gt;           &lt;span style="color: rgb(43, 145, 175);"&gt;List&lt;/span&gt;&amp;lt;Employee&amp;gt; employeeList = &lt;span style="color:blue;"&gt;new &lt;/span&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;List&lt;/span&gt;&amp;lt;Employee&amp;gt;();&lt;br /&gt;&lt;br /&gt;           &lt;span style="color:blue;"&gt;try&lt;br /&gt;           &lt;/span&gt;{&lt;br /&gt;               &lt;span style="color:blue;"&gt;using &lt;/span&gt;(connection = &lt;span style="color:blue;"&gt;new&lt;br /&gt;&lt;/span&gt;System.Data.SqlClient.SqlConnection(&lt;span style="color: rgb(163, 21, 21);"&gt;&lt;br /&gt;"Data Source=.;Initial Catalog=deptStore;Integrated Security=SSPI;"&lt;/span&gt;))&lt;br /&gt;               {&lt;br /&gt;                   &lt;span style="color:blue;"&gt;if &lt;/span&gt;(connection.State != ConnectionState.Open)&lt;br /&gt;                       connection.Open();&lt;br /&gt;&lt;br /&gt;                   &lt;span style="color:blue;"&gt;using &lt;/span&gt;(selectCommand = &lt;span style="color:blue;"&gt;new &lt;/span&gt;System.Data.SqlClient.SqlCommand())&lt;br /&gt;                   {&lt;br /&gt;                       selectCommand.CommandText = &lt;span style="color: rgb(163, 21, 21);"&gt;"dbo.spGetAllEmployee"&lt;/span&gt;;&lt;br /&gt;                       selectCommand.Connection = connection;&lt;br /&gt;                       selectCommand.CommandType = CommandType.StoredProcedure;&lt;br /&gt;&lt;br /&gt;                       selectCommand.Parameters.Add(&lt;span style="color:blue;"&gt;new &lt;/span&gt;&lt;br /&gt;SqlParameter(&lt;span style="color: rgb(163, 21, 21);"&gt;"@startIndex"&lt;/span&gt;, SqlDbType.Int));&lt;br /&gt;                       selectCommand.Parameters[0].Value = startIndex;&lt;br /&gt;                       selectCommand.Parameters.Add(&lt;span style="color:blue;"&gt;new &lt;/span&gt;&lt;br /&gt;SqlParameter(&lt;span style="color: rgb(163, 21, 21);"&gt;"@pageSize"&lt;/span&gt;, SqlDbType.Int));&lt;br /&gt;                       selectCommand.Parameters[1].Value = pageSize;&lt;br /&gt;                       selectCommand.Parameters.Add(&lt;span style="color:blue;"&gt;new &lt;/span&gt;&lt;br /&gt;SqlParameter(&lt;span style="color: rgb(163, 21, 21);"&gt;"@sortBy"&lt;/span&gt;, SqlDbType.VarChar, 30));&lt;br /&gt;                       selectCommand.Parameters[2].Value = sortBy;&lt;br /&gt;                       selectCommand.Parameters.Add(&lt;span style="color:blue;"&gt;new&lt;br /&gt;&lt;/span&gt;SqlParameter(&lt;span style="color: rgb(163, 21, 21);"&gt;"@totalEmployees"&lt;/span&gt;, SqlDbType.Int));&lt;br /&gt;                       selectCommand.Parameters[3].Value = totalEmployees;&lt;br /&gt;                       ((System.Data.SqlClient.SqlParameter)&lt;br /&gt;selectCommand.Parameters[&lt;span style="color: rgb(163, 21, 21);"&gt;"@totalEmployees"&lt;/span&gt;]).Direction = ParameterDirection.Output;&lt;br /&gt;                       SqlDataAdapter adapter = &lt;span style="color:blue;"&gt;new &lt;/span&gt;SqlDataAdapter(selectCommand);&lt;br /&gt;                       DataSet empDS = &lt;span style="color:blue;"&gt;new &lt;/span&gt;DataSet();&lt;br /&gt;                       adapter.Fill(empDS);&lt;br /&gt;                       totalEmployees = &lt;span style="color: rgb(43, 145, 175);"&gt;Convert&lt;/span&gt;.ToInt32(((&lt;br /&gt;System.Data.SqlClient.SqlParameter)&lt;br /&gt;selectCommand.Parameters[&lt;span style="color: rgb(163, 21, 21);"&gt;"@totalEmployees"&lt;/span&gt;]).Value);&lt;br /&gt;&lt;br /&gt;                       &lt;span style="color:blue;"&gt;for &lt;/span&gt;(&lt;span style="color:blue;"&gt;int &lt;/span&gt;index = 0; index &amp;lt; empDS.Tables[0].Rows.Count;&lt;br /&gt;index++)&lt;br /&gt;                       {&lt;br /&gt;                           Employee emp = &lt;span style="color:blue;"&gt;new &lt;/span&gt;Employee()&lt;br /&gt;                           {&lt;br /&gt;                               EmpID = &lt;span style="color: rgb(43, 145, 175);"&gt;Convert&lt;/span&gt;.ToInt32(&lt;br /&gt;empDS.Tables[0].Rows[index][0].ToString()),&lt;br /&gt;                               Name = empDS.Tables[0].Rows[index][1].ToString(),&lt;br /&gt;                               Department =&lt;br /&gt;empDS.Tables[0].Rows[index][2].ToString(),&lt;br /&gt;                               Salary = &lt;span style="color: rgb(43, 145, 175);"&gt;Convert&lt;/span&gt;.ToInt32(&lt;br /&gt;empDS.Tables[0].Rows[index][3].ToString())&lt;br /&gt;                           };&lt;br /&gt;&lt;br /&gt;                           employeeList.Add(emp);&lt;br /&gt;                       }&lt;br /&gt;                   }&lt;br /&gt;               }&lt;br /&gt;           }&lt;br /&gt;           &lt;span style="color:blue;"&gt;catch &lt;/span&gt;(System.Data.SqlClient.SqlException ex)&lt;br /&gt;           {&lt;br /&gt;               &lt;span style="color:blue;"&gt;throw &lt;/span&gt;ex;&lt;br /&gt;           }&lt;br /&gt;           &lt;span style="color:blue;"&gt;return &lt;/span&gt;employeeList;&lt;br /&gt;       }&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;   &lt;span style="color:blue;"&gt;public class &lt;/span&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;Employee&lt;br /&gt;   &lt;/span&gt;{&lt;br /&gt;       &lt;span style="color:blue;"&gt;public int &lt;/span&gt;EmpID { &lt;span style="color:blue;"&gt;get&lt;/span&gt;; &lt;span style="color:blue;"&gt;set&lt;/span&gt;; }&lt;br /&gt;       &lt;span style="color:blue;"&gt;public string &lt;/span&gt;Name { &lt;span style="color:blue;"&gt;get&lt;/span&gt;; &lt;span style="color:blue;"&gt;set&lt;/span&gt;; }&lt;br /&gt;       &lt;span style="color:blue;"&gt;public string &lt;/span&gt;Department { &lt;span style="color:blue;"&gt;get&lt;/span&gt;; &lt;span style="color:blue;"&gt;set&lt;/span&gt;; }&lt;br /&gt;       &lt;span style="color:blue;"&gt;public int &lt;/span&gt;Salary { &lt;span style="color:blue;"&gt;get&lt;/span&gt;; &lt;span style="color:blue;"&gt;set&lt;/span&gt;; }&lt;br /&gt;   }&lt;/pre&gt;&lt;br /&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9164837514531450619-5056670159965857595?l=lamahashim.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lamahashim.blogspot.com/feeds/5056670159965857595/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9164837514531450619&amp;postID=5056670159965857595' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/5056670159965857595'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/5056670159965857595'/><link rel='alternate' type='text/html' href='http://lamahashim.blogspot.com/2009/11/paging-and-sorting-optimized-with.html' title='Paging and Sorting Optimized with ASP.Net GridView'/><author><name>A.m.a.L Hashim</name><uri>http://www.blogger.com/profile/04600206670507170118</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_bxrn2DJZgfo/S28F2fGQN9I/AAAAAAAAAPE/b3GLUwQjrFc/S220/Photo341.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9164837514531450619.post-3725139680878864312</id><published>2009-11-12T23:32:00.001-08:00</published><updated>2009-11-12T23:32:48.298-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Mobile'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.Net'/><title type='text'>ASP.Net to Check whether request is coming from mobile device</title><content type='html'>&lt;p&gt;For checking this use the following code&lt;/p&gt;  &lt;pre class="code"&gt;&lt;span style="color: blue"&gt;protected void &lt;/span&gt;Page_Load(&lt;span style="color: blue"&gt;object &lt;/span&gt;sender, &lt;span style="color: #2b91af"&gt;EventArgs &lt;/span&gt;e)&lt;br /&gt;{&lt;br /&gt;    &lt;span style="color: blue"&gt;if &lt;/span&gt;(Request.Browser.IsMobileDevice == &lt;span style="color: blue"&gt;true &lt;/span&gt;||&lt;br /&gt;        Request.UserAgent.ToLower().Contains(&lt;span style="color: #a31515"&gt;&amp;quot;iphone&amp;quot;&lt;/span&gt;))&lt;br /&gt;    {&lt;br /&gt;        Response.Redirect(&lt;span style="color: #a31515"&gt;&amp;quot;DefaultIPhone.aspx&amp;quot;&lt;/span&gt;);&lt;br /&gt;    }&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;The UserAgent property contains the data which tells from which device the request is coming. On problem with this approach is that there are lot of mobile devices and browsers which runs on mobile. One solution I found for this problem is by using a library called &lt;a href="http://www.51degrees.mobi/Products/NETMobileAPI"&gt;51degrees.mobi&lt;/a&gt;.  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9164837514531450619-3725139680878864312?l=lamahashim.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lamahashim.blogspot.com/feeds/3725139680878864312/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9164837514531450619&amp;postID=3725139680878864312' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/3725139680878864312'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/3725139680878864312'/><link rel='alternate' type='text/html' href='http://lamahashim.blogspot.com/2009/11/aspnet-to-check-whether-request-is.html' title='ASP.Net to Check whether request is coming from mobile device'/><author><name>A.m.a.L Hashim</name><uri>http://www.blogger.com/profile/04600206670507170118</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_bxrn2DJZgfo/S28F2fGQN9I/AAAAAAAAAPE/b3GLUwQjrFc/S220/Photo341.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9164837514531450619.post-3002605941650420336</id><published>2009-11-12T23:18:00.001-08:00</published><updated>2009-11-12T23:19:05.589-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='LINQ'/><title type='text'>Basic usage of LINQ</title><content type='html'>&lt;p&gt;We can use LINQ in any scenario where we want to iterate through a list of items. For example how about listing all types in the current application domain?&lt;/p&gt;  &lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;var &lt;/span&gt;asm = &lt;span style="color:blue;"&gt;from &lt;/span&gt;a &lt;span style="color:blue;"&gt;in &lt;/span&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;AppDomain&lt;/span&gt;.CurrentDomain.GetAssemblies()&lt;br /&gt;         &lt;span style="color:blue;"&gt;from &lt;/span&gt;type &lt;span style="color:blue;"&gt;in &lt;/span&gt;a.GetExportedTypes()&lt;br /&gt;         &lt;span style="color:blue;"&gt;select &lt;/span&gt;type;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;foreach &lt;/span&gt;(&lt;span style="color:blue;"&gt;var &lt;/span&gt;val &lt;span style="color:blue;"&gt;in &lt;/span&gt;asm)&lt;br /&gt;{&lt;br /&gt;   &lt;span style="color: rgb(43, 145, 175);"&gt;Console&lt;/span&gt;.WriteLine(val.Name);&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;p&gt;How about listing all 3.5 assemblies order by length&lt;br /&gt;&lt;/p&gt;&lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;var &lt;/span&gt;alist = asm.Where(x =&amp;gt; x.Assembly.FullName.Contains(&lt;span style="color: rgb(163, 21, 21);"&gt;"3.5.0.0"&lt;/span&gt;)).&lt;br /&gt;   OrderByDescending(x =&amp;gt; x.Name.Length);&lt;br /&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;foreach &lt;/span&gt;(&lt;span style="color:blue;"&gt;var &lt;/span&gt;val &lt;span style="color:blue;"&gt;in &lt;/span&gt;alist)&lt;br /&gt;{&lt;br /&gt;   &lt;span style="color: rgb(43, 145, 175);"&gt;Console&lt;/span&gt;.WriteLine(val.Name);&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;p&gt;Lets find the total count of types for each version&lt;br /&gt;&lt;/p&gt;&lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;var &lt;/span&gt;vers = asm.Select(&lt;br /&gt;       x =&amp;gt; x.Assembly.FullName.Split(&lt;span style="color: rgb(163, 21, 21);"&gt;","&lt;/span&gt;.ToCharArray())[1])&lt;br /&gt;.GroupBy(y =&amp;gt; y)&lt;br /&gt;.Select(z =&amp;gt; &lt;span style="color:blue;"&gt;new &lt;/span&gt;{ VerName = z.Key, Count = z.Count() });&lt;br /&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;foreach &lt;/span&gt;(&lt;span style="color:blue;"&gt;var &lt;/span&gt;ver &lt;span style="color:blue;"&gt;in &lt;/span&gt;vers)&lt;br /&gt;{&lt;br /&gt;   &lt;span style="color: rgb(43, 145, 175);"&gt;Console&lt;/span&gt;.WriteLine(&lt;span style="color: rgb(163, 21, 21);"&gt;".NET {0} has {1} types\n"&lt;/span&gt;, ver.VerName, ver.Count);&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;Interesting right?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9164837514531450619-3002605941650420336?l=lamahashim.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lamahashim.blogspot.com/feeds/3002605941650420336/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9164837514531450619&amp;postID=3002605941650420336' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/3002605941650420336'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/3002605941650420336'/><link rel='alternate' type='text/html' href='http://lamahashim.blogspot.com/2009/11/basic-usage-of-linq.html' title='Basic usage of LINQ'/><author><name>A.m.a.L Hashim</name><uri>http://www.blogger.com/profile/04600206670507170118</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_bxrn2DJZgfo/S28F2fGQN9I/AAAAAAAAAPE/b3GLUwQjrFc/S220/Photo341.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9164837514531450619.post-5090853730967160346</id><published>2009-11-12T22:47:00.001-08:00</published><updated>2009-11-12T22:49:13.402-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='LINQ'/><title type='text'>Highest value in each group using LINQ</title><content type='html'>&lt;p&gt;First of all, let me thank Suportim for explaining how to achieve this. For demonstrating I have created an employee class as shown below.&lt;/p&gt;  &lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;public class &lt;/span&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;Employee&lt;br /&gt;   &lt;/span&gt;{&lt;br /&gt;       &lt;span style="color:blue;"&gt;public string &lt;/span&gt;Name { &lt;span style="color:blue;"&gt;get&lt;/span&gt;; &lt;span style="color:blue;"&gt;set&lt;/span&gt;; }&lt;br /&gt;       &lt;span style="color:blue;"&gt;public string &lt;/span&gt;Department { &lt;span style="color:blue;"&gt;get&lt;/span&gt;; &lt;span style="color:blue;"&gt;set&lt;/span&gt;; }&lt;br /&gt;       &lt;span style="color:blue;"&gt;public int &lt;/span&gt;Salary { &lt;span style="color:blue;"&gt;get&lt;/span&gt;; &lt;span style="color:blue;"&gt;set&lt;/span&gt;; }&lt;br /&gt;   }&lt;/pre&gt;Our aim is to find those employee from each department who earns the most. Here I am manually creating some employee as shown below&lt;br /&gt;&lt;pre class="code"&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;List&lt;/span&gt;&amp;lt;&lt;span style="color: rgb(43, 145, 175);"&gt;Employee&lt;/span&gt;&amp;gt; employeeList = &lt;span style="color:blue;"&gt;new &lt;/span&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;List&lt;/span&gt;&amp;lt;&lt;span style="color: rgb(43, 145, 175);"&gt;Employee&lt;/span&gt;&amp;gt;();&lt;br /&gt;           employeeList.Add(&lt;span style="color:blue;"&gt;new &lt;/span&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;Employee&lt;/span&gt;() { Name = &lt;span style="color: rgb(163, 21, 21);"&gt;"John"&lt;/span&gt;, Department = &lt;span style="color: rgb(163, 21, 21);"&gt;"Web"&lt;/span&gt;, Salary = 1000 });&lt;br /&gt;           employeeList.Add(&lt;span style="color:blue;"&gt;new &lt;/span&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;Employee&lt;/span&gt;() { Name = &lt;span style="color: rgb(163, 21, 21);"&gt;"Frank"&lt;/span&gt;, Department = &lt;span style="color: rgb(163, 21, 21);"&gt;"Web"&lt;/span&gt;, Salary = 2000 });&lt;br /&gt;           employeeList.Add(&lt;span style="color:blue;"&gt;new &lt;/span&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;Employee&lt;/span&gt;() { Name = &lt;span style="color: rgb(163, 21, 21);"&gt;"Loyd"&lt;/span&gt;, Department = &lt;span style="color: rgb(163, 21, 21);"&gt;"Web"&lt;/span&gt;, Salary = 3000 });&lt;br /&gt;           employeeList.Add(&lt;span style="color:blue;"&gt;new &lt;/span&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;Employee&lt;/span&gt;() { Name = &lt;span style="color: rgb(163, 21, 21);"&gt;"Peter"&lt;/span&gt;, Department = &lt;span style="color: rgb(163, 21, 21);"&gt;"IT"&lt;/span&gt;, Salary = 1500 });&lt;br /&gt;           employeeList.Add(&lt;span style="color:blue;"&gt;new &lt;/span&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;Employee&lt;/span&gt;() { Name = &lt;span style="color: rgb(163, 21, 21);"&gt;"Tevez"&lt;/span&gt;, Department = &lt;span style="color: rgb(163, 21, 21);"&gt;"IT"&lt;/span&gt;, Salary = 2500 });&lt;br /&gt;           employeeList.Add(&lt;span style="color:blue;"&gt;new &lt;/span&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;Employee&lt;/span&gt;() { Name = &lt;span style="color: rgb(163, 21, 21);"&gt;"James"&lt;/span&gt;, Department = &lt;span style="color: rgb(163, 21, 21);"&gt;"IT"&lt;/span&gt;, Salary = 3500 });&lt;br /&gt;           employeeList.Add(&lt;span style="color:blue;"&gt;new &lt;/span&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;Employee&lt;/span&gt;() { Name = &lt;span style="color: rgb(163, 21, 21);"&gt;"Peter"&lt;/span&gt;, Department = &lt;span style="color: rgb(163, 21, 21);"&gt;"Finance"&lt;/span&gt;, Salary = 500 });&lt;br /&gt;           employeeList.Add(&lt;span style="color:blue;"&gt;new &lt;/span&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;Employee&lt;/span&gt;() { Name = &lt;span style="color: rgb(163, 21, 21);"&gt;"Tevez"&lt;/span&gt;, Department = &lt;span style="color: rgb(163, 21, 21);"&gt;"Finance"&lt;/span&gt;, Salary = 1500 });&lt;br /&gt;           employeeList.Add(&lt;span style="color:blue;"&gt;new &lt;/span&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;Employee&lt;/span&gt;() { Name = &lt;span style="color: rgb(163, 21, 21);"&gt;"Cameron"&lt;/span&gt;, Department = &lt;span style="color: rgb(163, 21, 21);"&gt;"Finance"&lt;/span&gt;, Salary = 3250 });&lt;/pre&gt;Now check the LINQ statement for finding the most earning employees for each department.&lt;br /&gt;&lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;var &lt;/span&gt;employees = &lt;span style="color:blue;"&gt;from &lt;/span&gt;e &lt;span style="color:blue;"&gt;in &lt;/span&gt;employeeList&lt;br /&gt;   &lt;span style="color:blue;"&gt;group &lt;/span&gt;e &lt;span style="color:blue;"&gt;by &lt;/span&gt;e.Department &lt;span style="color:blue;"&gt;into &lt;/span&gt;egrp&lt;br /&gt;   &lt;span style="color:blue;"&gt;let &lt;/span&gt;max = egrp.Max(sal =&amp;gt; sal.Salary)&lt;br /&gt;   &lt;span style="color:blue;"&gt;select new&lt;br /&gt;   &lt;/span&gt;{&lt;br /&gt;       Department = egrp.Key,&lt;br /&gt;       Name = egrp.First(val=&amp;gt;val.Salary == max).Name,&lt;br /&gt;       Salary =  egrp.First(val=&amp;gt;val.Salary == max).Salary&lt;br /&gt;   };&lt;/pre&gt;For demonstrating lets print the values to screen&lt;br /&gt;&lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;foreach &lt;/span&gt;(&lt;span style="color:blue;"&gt;var &lt;/span&gt;emp &lt;span style="color:blue;"&gt;in &lt;/span&gt;employees)&lt;br /&gt;{&lt;br /&gt;   &lt;span style="color: rgb(43, 145, 175);"&gt;Console&lt;/span&gt;.WriteLine(&lt;span style="color: rgb(163, 21, 21);"&gt;"In Department {0}, Employee {1} has the highest salary {2}"&lt;/span&gt;,&lt;br /&gt;   emp.Department, emp.Name, emp.Salary);&lt;br /&gt;}&lt;/pre&gt;Hope this helps.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9164837514531450619-5090853730967160346?l=lamahashim.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lamahashim.blogspot.com/feeds/5090853730967160346/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9164837514531450619&amp;postID=5090853730967160346' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/5090853730967160346'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/5090853730967160346'/><link rel='alternate' type='text/html' href='http://lamahashim.blogspot.com/2009/11/highest-value-in-each-group-using-linq.html' title='Highest value in each group using LINQ'/><author><name>A.m.a.L Hashim</name><uri>http://www.blogger.com/profile/04600206670507170118</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_bxrn2DJZgfo/S28F2fGQN9I/AAAAAAAAAPE/b3GLUwQjrFc/S220/Photo341.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9164837514531450619.post-4103665646518147633</id><published>2009-11-11T05:01:00.001-08:00</published><updated>2009-11-11T05:02:04.690-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.Net'/><title type='text'>ASP.Net Dropdown List and Tooltip</title><content type='html'>&lt;p&gt;In some cases the dropdown list will be having large text. And the size of dropdown list is small. In such cases the item won’t be visible to the end user. One option is to expand the dropdown list. But if the size of text is large then it won’t look good in UI. One workaround is to place the item as tooltip. For achieving this you can use the following code.&lt;/p&gt;  &lt;pre class="code"&gt;DropDownList1.Items.Add(&lt;span style="color: rgb(163, 21, 21);"&gt;"1"&lt;/span&gt;);&lt;br /&gt;DropDownList1.Items[0].Attributes.Add(&lt;span style="color: rgb(163, 21, 21);"&gt;"Title"&lt;/span&gt;, &lt;span style="color: rgb(163, 21, 21);"&gt;"Some1"&lt;/span&gt;);&lt;br /&gt;DropDownList1.Items.Add(&lt;span style="color: rgb(163, 21, 21);"&gt;"2"&lt;/span&gt;);&lt;br /&gt;DropDownList1.Items[1].Attributes.Add(&lt;span style="color: rgb(163, 21, 21);"&gt;"Title"&lt;/span&gt;, &lt;span style="color: rgb(163, 21, 21);"&gt;"Some2"&lt;/span&gt;);&lt;br /&gt;DropDownList1.Items.Add(&lt;span style="color: rgb(163, 21, 21);"&gt;"3"&lt;/span&gt;);&lt;br /&gt;DropDownList1.Items[2].Attributes.Add(&lt;span style="color: rgb(163, 21, 21);"&gt;"Title"&lt;/span&gt;, &lt;span style="color: rgb(163, 21, 21);"&gt;"Some3"&lt;/span&gt;);&lt;/pre&gt;The title attribute will just add the provided value as the tooltip.&lt;br /&gt;Hope this helps.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9164837514531450619-4103665646518147633?l=lamahashim.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lamahashim.blogspot.com/feeds/4103665646518147633/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9164837514531450619&amp;postID=4103665646518147633' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/4103665646518147633'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/4103665646518147633'/><link rel='alternate' type='text/html' href='http://lamahashim.blogspot.com/2009/11/aspnet-dropdown-list-and-tooltip.html' title='ASP.Net Dropdown List and Tooltip'/><author><name>A.m.a.L Hashim</name><uri>http://www.blogger.com/profile/04600206670507170118</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_bxrn2DJZgfo/S28F2fGQN9I/AAAAAAAAAPE/b3GLUwQjrFc/S220/Photo341.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9164837514531450619.post-6026593147296693557</id><published>2009-11-09T09:23:00.001-08:00</published><updated>2009-11-11T09:50:53.448-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Sharepoint'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='CAML'/><title type='text'>Sharepoint List Webservice, access data from folders</title><content type='html'>&lt;p&gt;Recently, for my project I was trying to do the same thing, but unfortunately there was no material available in the net. The only help I got was from MSDN Sharepoint Development forum. So I thought of documenting this, so if anyone who is looking for this can be find it useful.&lt;/p&gt;&lt;p&gt;First of all, if you want to get data recursively, then use the following code.&lt;/p&gt;&lt;pre class="code"&gt;System.Xml.&lt;span style="color: rgb(43, 145, 175);"&gt;XmlElement &lt;/span&gt;queryOptions = xmlDoc.CreateElement(&lt;span style="color: rgb(163, 21, 21);"&gt;"QueryOptions"&lt;/span&gt;);&lt;/pre&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;&lt;pre class="code"&gt;queryOptions.InnerXml = &lt;span style="color: rgb(163, 21, 21);"&gt;"&amp;lt;ViewAttributes Scope=\"Recursive\" /&amp;gt;"&lt;/span&gt;;&lt;/pre&gt;&lt;p&gt;Now for getting data from a particular folder inside a list, use the following code&lt;/p&gt;&lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;string &lt;/span&gt;url = "&lt;a href="http://server/sites/site/list/folder"&gt;http://server/sites/site/list/folder&lt;/a&gt;";&lt;br /&gt;queryOptions.InnerXml = &lt;span style="color: rgb(163, 21, 21);"&gt;"&amp;lt;Folder&amp;gt;" &lt;/span&gt;+ url + &lt;span style="color: rgb(163, 21, 21);"&gt;"&amp;lt;/Folder&amp;gt;&amp;lt;ViewAttributes Scope=\"Recursive\" /&amp;gt;"&lt;/span&gt;;&lt;/pre&gt;&lt;p&gt;The remaining portion of accessing the webservice is already documented in the following post.&lt;/p&gt;&lt;p&gt;&lt;a href="http://lamahashim.blogspot.com/2009/10/using-sharepoint-list-webservice.html" target="_blank"&gt;Sharepoint List Webservice&lt;/a&gt;&lt;/p&gt;&lt;pre class="code"&gt; &lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9164837514531450619-6026593147296693557?l=lamahashim.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lamahashim.blogspot.com/feeds/6026593147296693557/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9164837514531450619&amp;postID=6026593147296693557' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/6026593147296693557'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/6026593147296693557'/><link rel='alternate' type='text/html' href='http://lamahashim.blogspot.com/2009/11/sharepoint-list-webservice-access-data.html' title='Sharepoint List Webservice, access data from folders'/><author><name>A.m.a.L Hashim</name><uri>http://www.blogger.com/profile/04600206670507170118</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_bxrn2DJZgfo/S28F2fGQN9I/AAAAAAAAAPE/b3GLUwQjrFc/S220/Photo341.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9164837514531450619.post-7121234077841754419</id><published>2009-11-06T07:24:00.001-08:00</published><updated>2009-11-09T01:53:55.462-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL 2008'/><title type='text'>SQL Server 2008 Creating FILESTREAM Enabled Database</title><content type='html'>&lt;p&gt;In this post I am going to explain how you can create a database with the new FILESTREAM feature enabled. If you want to know, how to enable FILESTREAM in instance level, please refer to my previous post "&lt;a href="http://lamahashim.blogspot.com/2009/11/sql-server-2008-filestream-feature.html"&gt;SQL Server 2008 FILESTREAM Feature&lt;/a&gt;".&lt;/p&gt;  &lt;p&gt;Lets start by creating a database name TestFileStream using the below scripts.&lt;/p&gt;  &lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;CREATE DATABASE &lt;/span&gt;[TestFileStream] &lt;span style="color:blue;"&gt;ON PRIMARY&lt;br /&gt;&lt;/span&gt;&lt;span style="color:gray;"&gt;( &lt;/span&gt;NAME &lt;span style="color:gray;"&gt;= &lt;/span&gt;&lt;span style="color:red;"&gt;N'TestFileStream'&lt;/span&gt;&lt;span style="color:gray;"&gt;, &lt;/span&gt;&lt;span style="color:blue;"&gt;FILENAME &lt;/span&gt;&lt;span style="color:gray;"&gt;= &lt;/span&gt;&lt;span style="color:red;"&gt;N'C:\DB\TestFileStream.mdf' &lt;/span&gt;&lt;span style="color:gray;"&gt;,&lt;br /&gt;&lt;/span&gt;SIZE &lt;span style="color:gray;"&gt;= &lt;/span&gt;25MB &lt;span style="color:gray;"&gt;, &lt;/span&gt;MAXSIZE &lt;span style="color:gray;"&gt;= &lt;/span&gt;&lt;span style="color:blue;"&gt;UNLIMITED&lt;/span&gt;&lt;span style="color:gray;"&gt;, &lt;/span&gt;FILEGROWTH &lt;span style="color:gray;"&gt;= &lt;/span&gt;12&lt;span style="color:gray;"&gt;% )&lt;br /&gt;&lt;/span&gt;&lt;span style="color:magenta;"&gt;LOG &lt;/span&gt;&lt;span style="color:blue;"&gt;ON&lt;br /&gt;&lt;/span&gt;&lt;span style="color:gray;"&gt;( &lt;/span&gt;NAME &lt;span style="color:gray;"&gt;= &lt;/span&gt;&lt;span style="color:red;"&gt;N'TestFileStream_log'&lt;/span&gt;&lt;span style="color:gray;"&gt;, &lt;/span&gt;&lt;span style="color:blue;"&gt;FILENAME &lt;/span&gt;&lt;span style="color:gray;"&gt;= &lt;/span&gt;&lt;span style="color:red;"&gt;N'C:\DB\TestFileStream_log.ldf' &lt;/span&gt;&lt;span style="color:gray;"&gt;,&lt;br /&gt;&lt;/span&gt;SIZE &lt;span style="color:gray;"&gt;= &lt;/span&gt;25MB &lt;span style="color:gray;"&gt;, &lt;/span&gt;MAXSIZE &lt;span style="color:gray;"&gt;= &lt;/span&gt;&lt;span style="color:blue;"&gt;UNLIMITED &lt;/span&gt;&lt;span style="color:gray;"&gt;, &lt;/span&gt;FILEGROWTH &lt;span style="color:gray;"&gt;= &lt;/span&gt;12&lt;span style="color:gray;"&gt;%)&lt;br /&gt;&lt;/span&gt;&lt;span style="color:blue;"&gt;GO&lt;/span&gt;&lt;/pre&gt;Now the database is ready. Lets go ahead and add the filegroups.&lt;br /&gt;&lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;ALTER DATABASE &lt;/span&gt;[TestFileStream]&lt;br /&gt;&lt;span style="color:blue;"&gt;ADD &lt;/span&gt;FILEGROUP [TestFileStreamGroup] &lt;span style="color:blue;"&gt;CONTAINS FILESTREAM&lt;br /&gt;GO&lt;br /&gt;&lt;br /&gt;ALTER DATABASE &lt;/span&gt;[TestFileStream]&lt;br /&gt;&lt;span style="color:blue;"&gt;ADD FILE &lt;/span&gt;&lt;span style="color:gray;"&gt;(&lt;/span&gt;NAME &lt;span style="color:gray;"&gt;= &lt;/span&gt;&lt;span style="color:red;"&gt;N'TestFileStream_FSData'&lt;/span&gt;&lt;span style="color:gray;"&gt;, &lt;/span&gt;&lt;span style="color:blue;"&gt;FILENAME &lt;/span&gt;&lt;span style="color:gray;"&gt;= &lt;/span&gt;&lt;span style="color:red;"&gt;N'D:\DB\TestFileStream'&lt;/span&gt;&lt;span style="color:gray;"&gt;)&lt;br /&gt;&lt;/span&gt;&lt;span style="color:blue;"&gt;TO &lt;/span&gt;FILEGROUP TestFileStreamGroup&lt;br /&gt;&lt;span style="color:blue;"&gt;GO&lt;/span&gt;&lt;/pre&gt;One important fact is the usage of&lt;br /&gt;&lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;CONTAINS FILESTREAM&lt;/span&gt;&lt;/pre&gt;&lt;p&gt;clause. Atleast for one filegroup we must specify this clause. Open the properties window of the newly created database, and look into the Files section. There you can see that for the file “TestFileStream_FSData”, the file type is “File Stream Data”. Now open the folder “C:\DB”. There will be folder named “TestFileStreamData”. All the FILESTREAM related data gets stored in TestFileStreamData folder which is also known as FILESTREAM Data Container. Inside this folder you can see the following files&lt;/p&gt;&lt;a href="http://lh6.ggpht.com/_bxrn2DJZgfo/Svfl5xxbUAI/AAAAAAAAAOY/l8XKexjIdw4/s1600-h/0001%5B5%5D.jpg"&gt;&lt;img style="border-width: 0px; display: block; float: none; margin-left: auto; margin-right: auto;" title="0001" alt="0001" src="http://lh6.ggpht.com/_bxrn2DJZgfo/Svfl6kKYyWI/AAAAAAAAAOc/RuF4XFMJNb0/0001_thumb%5B3%5D.jpg?imgmax=800" width="379" border="0" height="67" /&gt;&lt;/a&gt;&lt;br /&gt;Among this, the file “filestream.hdr” is the most important one. As the name suggests it hold the file stream information.&lt;br /&gt;&lt;br /&gt;Let go ahead and create a table. Before creating keep a note of the following points.&lt;br /&gt; &lt;ul&gt;&lt;li&gt;Must have a column of type VARBINARY(MAX) along with the FILESTREAM attribute.&lt;/li&gt;&lt;br /&gt; &lt;li&gt;Table must have a UNIQUEIDENTIFIER column along with the ROWGUIDCOL attribute.&lt;/li&gt;&lt;/ul&gt;Try this query&lt;br /&gt;&lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;Use &lt;/span&gt;TestFileStream&lt;br /&gt;&lt;span style="color:blue;"&gt;GO&lt;br /&gt;CREATE TABLE &lt;/span&gt;[FileStreamTable]&lt;br /&gt;&lt;span style="color:gray;"&gt;(&lt;br /&gt;&lt;/span&gt;[ID] [INT] &lt;span style="color:blue;"&gt;IDENTITY&lt;/span&gt;&lt;span style="color:gray;"&gt;(&lt;/span&gt;1&lt;span style="color:gray;"&gt;,&lt;/span&gt;1&lt;span style="color:gray;"&gt;) NOT NULL,&lt;br /&gt;&lt;/span&gt;[Data] &lt;span style="color:blue;"&gt;VARBINARY&lt;/span&gt;&lt;span style="color:gray;"&gt;(&lt;/span&gt;&lt;span style="color:magenta;"&gt;MAX&lt;/span&gt;&lt;span style="color:gray;"&gt;) &lt;/span&gt;&lt;span style="color:blue;"&gt;FILESTREAM &lt;/span&gt;&lt;span style="color:gray;"&gt;NULL,&lt;br /&gt;&lt;/span&gt;[DataGUID] &lt;span style="color:blue;"&gt;UNIQUEIDENTIFIER ROWGUIDCOL &lt;/span&gt;&lt;span style="color:gray;"&gt;NOT NULL &lt;/span&gt;&lt;span style="color:blue;"&gt;UNIQUE DEFAULT &lt;/span&gt;&lt;span style="color:magenta;"&gt;NEWSEQUENTIALID&lt;/span&gt;&lt;span style="color:gray;"&gt;(),&lt;br /&gt;&lt;/span&gt;[DateTime] &lt;span style="color:blue;"&gt;DATETIME DEFAULT &lt;/span&gt;&lt;span style="color:magenta;"&gt;GETDATE&lt;/span&gt;&lt;span style="color:gray;"&gt;()&lt;br /&gt;)&lt;br /&gt;&lt;/span&gt;&lt;span style="color:blue;"&gt;ON &lt;/span&gt;[PRIMARY]&lt;br /&gt;&lt;span style="color:blue;"&gt;FILESTREAM_ON &lt;/span&gt;TestFileStreamGroup&lt;br /&gt;&lt;span style="color:blue;"&gt;GO&lt;/span&gt;&lt;/pre&gt;&lt;p&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;Lets insert some data&lt;/p&gt;&lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;Use &lt;/span&gt;TestFileStream&lt;br /&gt;&lt;span style="color:blue;"&gt;GO&lt;br /&gt;INSERT INTO &lt;/span&gt;[FileStreamTable] &lt;span style="color:gray;"&gt;(&lt;/span&gt;Data&lt;span style="color:gray;"&gt;)&lt;br /&gt;&lt;/span&gt;&lt;span style="color:blue;"&gt;SELECT &lt;/span&gt;&lt;span style="color:gray;"&gt;* &lt;/span&gt;&lt;span style="color:blue;"&gt;FROM&lt;br /&gt;OPENROWSET&lt;/span&gt;&lt;span style="color:gray;"&gt;(&lt;/span&gt;&lt;span style="color:blue;"&gt;BULK &lt;/span&gt;&lt;span style="color:red;"&gt;N'C:\DSCN5021_large.jpg' &lt;/span&gt;&lt;span style="color:gray;"&gt;,&lt;/span&gt;&lt;span style="color:blue;"&gt;SINGLE_BLOB&lt;/span&gt;&lt;span style="color:gray;"&gt;) &lt;/span&gt;&lt;span style="color:blue;"&gt;AS &lt;/span&gt;Document&lt;br /&gt;&lt;span style="color:blue;"&gt;GO&lt;/span&gt;&lt;/pre&gt;&lt;p&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;This will create a folder under “C:\DB\TestFileStream”, if you can travel inside the subfolder and one file will be there. Open it in any image viewer and you can see the image you have inserted.&lt;/p&gt;&lt;p&gt;To retrieve the data, use the following query&lt;/p&gt;&lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;USE &lt;/span&gt;TestFileStream&lt;br /&gt;&lt;span style="color:blue;"&gt;GO&lt;br /&gt;SELECT &lt;/span&gt;ID&lt;br /&gt;&lt;span style="color:gray;"&gt;, &lt;/span&gt;&lt;span style="color:magenta;"&gt;CAST&lt;/span&gt;&lt;span style="color:gray;"&gt;(&lt;/span&gt;[Data] &lt;span style="color:blue;"&gt;AS VARCHAR&lt;/span&gt;&lt;span style="color:gray;"&gt;) &lt;/span&gt;&lt;span style="color:blue;"&gt;as &lt;/span&gt;[FileStreamData]&lt;br /&gt;&lt;span style="color:gray;"&gt;, &lt;/span&gt;DataGUID&lt;br /&gt;&lt;span style="color:gray;"&gt;, &lt;/span&gt;[DateTime]&lt;br /&gt;&lt;span style="color:blue;"&gt;FROM &lt;/span&gt;[FileStreamTable]&lt;br /&gt;&lt;span style="color:blue;"&gt;GO&lt;/span&gt;&lt;/pre&gt;&lt;p&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;For updating, use the following query&lt;/p&gt;&lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;USE &lt;/span&gt;TestFileStream&lt;br /&gt;&lt;span style="color:blue;"&gt;GO&lt;br /&gt;UPDATE &lt;/span&gt;[FileStreamTable]&lt;br /&gt;&lt;span style="color:blue;"&gt;SET &lt;/span&gt;[Data] &lt;span style="color:gray;"&gt;= (&lt;/span&gt;&lt;span style="color:blue;"&gt;SELECT &lt;/span&gt;&lt;span style="color:gray;"&gt;*&lt;br /&gt;&lt;/span&gt;&lt;span style="color:blue;"&gt;FROM OPENROWSET&lt;/span&gt;&lt;span style="color:gray;"&gt;(&lt;br /&gt;&lt;/span&gt;&lt;span style="color:blue;"&gt;BULK &lt;/span&gt;&lt;span style="color:red;"&gt;'C:\DSCN5022_large.JPG'&lt;/span&gt;&lt;span style="color:gray;"&gt;,&lt;br /&gt;&lt;/span&gt;&lt;span style="color:blue;"&gt;SINGLE_BLOB&lt;/span&gt;&lt;span style="color:gray;"&gt;) &lt;/span&gt;&lt;span style="color:blue;"&gt;AS &lt;/span&gt;Document&lt;span style="color:gray;"&gt;)&lt;br /&gt;&lt;/span&gt;&lt;span style="color:blue;"&gt;WHERE &lt;/span&gt;ID &lt;span style="color:gray;"&gt;= &lt;/span&gt;1&lt;br /&gt;&lt;span style="color:blue;"&gt;GO&lt;/span&gt;&lt;/pre&gt;&lt;p&gt;For deletion, use the following query&lt;/p&gt;&lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;USE &lt;/span&gt;TestFileStream&lt;br /&gt;&lt;span style="color:blue;"&gt;GO&lt;br /&gt;DELETE &lt;/span&gt;[FileStreamTable]&lt;br /&gt;&lt;span style="color:blue;"&gt;WHERE &lt;/span&gt;ID &lt;span style="color:gray;"&gt;= &lt;/span&gt;1&lt;br /&gt;&lt;span style="color:blue;"&gt;GO&lt;/span&gt;&lt;/pre&gt;&lt;p&gt;On updating/deleting, the table will be updated/deleted immediately. But the FileStream container data will be removed once the Garbage Collector Process runs.&lt;/p&gt;&lt;p&gt;That’s all for this post. In my next post I am planning to explain optimizing FileStream objects.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9164837514531450619-7121234077841754419?l=lamahashim.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lamahashim.blogspot.com/feeds/7121234077841754419/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9164837514531450619&amp;postID=7121234077841754419' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/7121234077841754419'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/7121234077841754419'/><link rel='alternate' type='text/html' href='http://lamahashim.blogspot.com/2009/11/sql-server-2008-creating-filestream.html' title='SQL Server 2008 Creating FILESTREAM Enabled Database'/><author><name>A.m.a.L Hashim</name><uri>http://www.blogger.com/profile/04600206670507170118</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_bxrn2DJZgfo/S28F2fGQN9I/AAAAAAAAAPE/b3GLUwQjrFc/S220/Photo341.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/_bxrn2DJZgfo/Svfl6kKYyWI/AAAAAAAAAOc/RuF4XFMJNb0/s72-c/0001_thumb%5B3%5D.jpg?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9164837514531450619.post-5932817422576376982</id><published>2009-11-06T04:27:00.001-08:00</published><updated>2009-11-06T07:22:49.823-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL 2008'/><title type='text'>SQL Server 2008 FILESTREAM Feature</title><content type='html'>&lt;p&gt;One of the new feature addition to the SQL Server 2008 is FILESTREAM. This enables the storage of BLOBs in File Sytem instead of database file.&lt;/p&gt;  &lt;p&gt;We can enable FILESTREAM feature as follows:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Open SQL Server Configuration Manager   &lt;br /&gt;(Start-&amp;gt;All Programs-&amp;gt;Microsoft SQL Server 2008-&amp;gt;Configuration Tools-&amp;gt;SQL Server Configuration Manager) &lt;/li&gt;    &lt;li&gt;From SQL Configuration Manager select "SQL Server Services as shown in below figure. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_bxrn2DJZgfo/SvQWAxDQthI/AAAAAAAAANs/G8xeZmQfr6U/s1600-h/001%5B4%5D.jpg"&gt;&lt;img style="border: 0px none ; display: block; float: none; margin-left: auto; margin-right: auto;" title="001" alt="001" src="http://lh5.ggpht.com/_bxrn2DJZgfo/SvQWCUCbt1I/AAAAAAAAANw/KRfMoHFom6c/001_thumb%5B2%5D.jpg?imgmax=800" border="0" height="318" width="644" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;blockquote&gt;   &lt;ul&gt;     &lt;li&gt;Now from the right pane right click SQL Server and select properties. A new window will be bought up as shown below.&lt;/li&gt;   &lt;/ul&gt;    &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_bxrn2DJZgfo/SvQWDEaO34I/AAAAAAAAAN0/Cu3__eJ8dXg/s1600-h/002%5B4%5D.jpg"&gt;&lt;img style="border: 0px none ; display: block; float: none; margin-left: auto; margin-right: auto;" title="002" alt="002" src="http://lh6.ggpht.com/_bxrn2DJZgfo/SvQWD-a2PrI/AAAAAAAAAN4/gUMzWceK6mM/002_thumb%5B2%5D.jpg?imgmax=800" border="0" height="484" width="433" /&gt;&lt;/a&gt;&lt;/p&gt;    &lt;ul&gt;     &lt;li&gt;Now go to the FILESTREAM tab, and Select the option “Enable FILESTREAM for Transact-SQL access.&lt;/li&gt;   &lt;/ul&gt;    &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_bxrn2DJZgfo/SvQWElPi8qI/AAAAAAAAAN8/_hNscxCDQcU/s1600-h/003%5B4%5D.jpg"&gt;&lt;img style="border: 0px none ; display: block; float: none; margin-left: auto; margin-right: auto;" title="003" alt="003" src="http://lh4.ggpht.com/_bxrn2DJZgfo/SvQWFr8xzDI/AAAAAAAAAOA/W0e1uBEL3mc/003_thumb%5B2%5D.jpg?imgmax=800" border="0" height="484" width="433" /&gt;&lt;/a&gt;&lt;/p&gt;    &lt;ul&gt;     &lt;li&gt;If you want to enable reading/writing FILESTREAM date from windows, then select the option “Enable FILESTREAM for file I/O streaming access” and provide the window share name.&lt;/li&gt;      &lt;li&gt;If you want to enable remote client access for FILESTREAM data, then enable the 3rd option and hit “Apply”.&lt;/li&gt;   &lt;/ul&gt; &lt;/blockquote&gt;  &lt;p&gt;Another way to enable the option is through T-SQL query. Open SQL Server Management Studio. Open new query window and execute the following query.&lt;/p&gt;  &lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;USE master&lt;br /&gt;Go&lt;br /&gt;EXEC &lt;/span&gt;&lt;span style="color:maroon;"&gt;sp_configure &lt;/span&gt;&lt;span style="color:red;"&gt;'show advanced options'&lt;br /&gt;&lt;/span&gt;&lt;span style="color:blue;"&gt;GO&lt;br /&gt;&lt;/span&gt;&lt;span style="color:green;"&gt;--0 means FILESTREAM is disabled&lt;br /&gt;--1 means FILESTREAM is enabled for this instance&lt;br /&gt;--2 means FILESTREAM is enabled with window streaming&lt;br /&gt;&lt;/span&gt;&lt;span style="color:blue;"&gt;EXEC &lt;/span&gt;&lt;span style="color:maroon;"&gt;sp_configure &lt;/span&gt;filestream_access_level&lt;span style="color:gray;"&gt;, &lt;/span&gt;1&lt;br /&gt;&lt;span style="color:blue;"&gt;GO&lt;br /&gt;RECONFIGURE WITH OVERRIDE&lt;br /&gt;GO&lt;/span&gt;&lt;/pre&gt;Another way is using SQL Server Management Studio. Open SQL Server Management Studio. From the object explorer, select the server and right click.&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://lh3.ggpht.com/_bxrn2DJZgfo/SvQaGtxA19I/AAAAAAAAAOE/inYCgoyem4I/s1600-h/004%5B4%5D.jpg"&gt;&lt;img style="border: 0px none ; display: block; float: none; margin-left: auto; margin-right: auto;" title="004" alt="004" src="http://lh5.ggpht.com/_bxrn2DJZgfo/SvQaHeanm9I/AAAAAAAAAOM/KsLbbZDkgqc/004_thumb%5B2%5D.jpg?imgmax=800" border="0" height="484" width="309" /&gt;&lt;/a&gt; Click on the properties menu item&lt;/p&gt;&lt;a href="http://lh6.ggpht.com/_bxrn2DJZgfo/SvQaIInlegI/AAAAAAAAAOQ/nPjFnOlIT4E/s1600-h/005%5B4%5D.jpg"&gt;&lt;img style="border: 0px none ; display: block; float: none; margin-left: auto; margin-right: auto;" title="005" alt="005" src="http://lh4.ggpht.com/_bxrn2DJZgfo/SvQaJN-H98I/AAAAAAAAAOU/rJ9ExPZY2rE/005_thumb%5B2%5D.jpg?imgmax=800" border="0" height="484" width="537" /&gt;&lt;/a&gt;&lt;br /&gt;There from the Advanced property, you can see FileStream Access Level. Set the level you want and click OK.&lt;br /&gt;&lt;br /&gt;Another way to enable this feature is during the installation of SQL Server 2008. If you have referred to my post related to SQL Server 2008 installation over &lt;a href="http://lamahashim.blogspot.com/2009/11/sql-server-2008-installation.html"&gt;here&lt;/a&gt;. You can find how to do that.&lt;br /&gt;&lt;p&gt;Now we are done with enabling FILESTREAM on our database server.&lt;/p&gt;On my next post I will describe, how to create a FILESTREAM database and tables fields.&lt;br /&gt;&lt;br /&gt;Hope you have nice reading. For more queries and information ping me.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9164837514531450619-5932817422576376982?l=lamahashim.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lamahashim.blogspot.com/feeds/5932817422576376982/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9164837514531450619&amp;postID=5932817422576376982' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/5932817422576376982'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/5932817422576376982'/><link rel='alternate' type='text/html' href='http://lamahashim.blogspot.com/2009/11/sql-server-2008-filestream-feature.html' title='SQL Server 2008 FILESTREAM Feature'/><author><name>A.m.a.L Hashim</name><uri>http://www.blogger.com/profile/04600206670507170118</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_bxrn2DJZgfo/S28F2fGQN9I/AAAAAAAAAPE/b3GLUwQjrFc/S220/Photo341.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/_bxrn2DJZgfo/SvQWCUCbt1I/AAAAAAAAANw/KRfMoHFom6c/s72-c/001_thumb%5B2%5D.jpg?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9164837514531450619.post-3800272023693312415</id><published>2009-11-03T04:17:00.001-08:00</published><updated>2009-11-03T04:23:25.734-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Using XPath in C#</title><content type='html'>&lt;p&gt;In this blog I am going to give an overview of how we can easily parse and get the data from an XML file. For demonstrating, I have created a sample XML file listed below.&lt;/p&gt;&lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;&amp;lt;?&lt;/span&gt;&lt;span style="color:#a31515;"&gt;xml &lt;/span&gt;&lt;span style="color:red;"&gt;version&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;1.0&lt;/span&gt;" &lt;span style="color:red;"&gt;encoding&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;utf-8&lt;/span&gt;" &lt;span style="color:blue;"&gt;?&amp;gt;&lt;br /&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Employees&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;  &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Employee&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;    &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Name&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;Amal&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Name&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;    &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Age&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;26&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Age&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;    &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Address&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;333 Indiana Street&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Address&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;  &amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Employee&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;  &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Employee&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;    &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Name&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;Munna&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Name&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;    &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Age&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;20&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Age&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;    &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Address&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;222 West Region&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Address&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;  &amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Employee&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Employees&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;p&gt;Add the following namespace in your application&lt;/p&gt;&lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;using &lt;/span&gt;System.Xml.XPath;&lt;/pre&gt;&lt;p&gt;Now we can open the XPathDocument object as follows&lt;/p&gt;&lt;pre class="code"&gt;&lt;span style="color:#2b91af;"&gt;XPathDocument &lt;/span&gt;Doc = &lt;span style="color:blue;"&gt;new &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;XPathDocument&lt;/span&gt;(&lt;span style="color:#a31515;"&gt;"emp.xml"&lt;/span&gt;);&lt;/pre&gt;&lt;p&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;Once this is done, we need a XPathNavigator&lt;/p&gt;&lt;pre class="code"&gt;&lt;span style="color:#2b91af;"&gt;XPathNavigator &lt;/span&gt;navigator = Doc.CreateNavigator();&lt;/pre&gt;&lt;p&gt;Using this navigator object, we can traverse through the document. We can provide XPath expressions as shown below&lt;/p&gt;&lt;pre class="code"&gt;&lt;span style="color:#2b91af;"&gt;XPathNodeIterator &lt;/span&gt;iterator = navigator.Select(&lt;span style="color:#a31515;"&gt;"/Employees"&lt;/span&gt;);&lt;br /&gt;&lt;span style="color:blue;"&gt;while &lt;/span&gt;(iterator.MoveNext())&lt;br /&gt;{&lt;br /&gt;&lt;span style="color:#2b91af;"&gt;     Console&lt;/span&gt;.WriteLine(iterator.Current.Name);&lt;br /&gt;     &lt;span style="color:#2b91af;"&gt;Console&lt;/span&gt;.WriteLine(iterator.Current.Value);&lt;br /&gt;}&lt;/pre&gt;&lt;p&gt;&lt;a href="http://lh3.ggpht.com/_bxrn2DJZgfo/SvAgiznDt0I/AAAAAAAAANk/8ksWjasEUu0/s1600-h/1%5B1%5D.png"&gt;&lt;img style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title="1" border="0" alt="1" src="http://lh5.ggpht.com/_bxrn2DJZgfo/SvAgj5mRKGI/AAAAAAAAANo/kXsslfFks8s/1_thumb%5B1%5D.png?imgmax=800" width="644" height="72" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;p&gt;Try changing the XPath expression as demonstrated below.&lt;/p&gt;&lt;pre class="code"&gt;iterator = navigator.Select(&lt;span style="color:#a31515;"&gt;"/Employees/Employee"&lt;/span&gt;);&lt;/pre&gt;&lt;pre class="code"&gt;iterator = navigator.Select(&lt;span style="color:#a31515;"&gt;"/Employees/Employee[Age&amp;gt;22]"&lt;/span&gt;);&lt;/pre&gt;&lt;pre class="code"&gt;iterator = navigator.Select(&lt;span style="color:#a31515;"&gt;"/Employees/Employee[Age&amp;gt;22]/Name"&lt;/span&gt;);&lt;/pre&gt;Hope this helps :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9164837514531450619-3800272023693312415?l=lamahashim.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lamahashim.blogspot.com/feeds/3800272023693312415/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9164837514531450619&amp;postID=3800272023693312415' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/3800272023693312415'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/3800272023693312415'/><link rel='alternate' type='text/html' href='http://lamahashim.blogspot.com/2009/11/using-xpath-in-c.html' title='Using XPath in C#'/><author><name>A.m.a.L Hashim</name><uri>http://www.blogger.com/profile/04600206670507170118</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_bxrn2DJZgfo/S28F2fGQN9I/AAAAAAAAAPE/b3GLUwQjrFc/S220/Photo341.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/_bxrn2DJZgfo/SvAgj5mRKGI/AAAAAAAAANo/kXsslfFks8s/s72-c/1_thumb%5B1%5D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9164837514531450619.post-8603312869073134844</id><published>2009-11-03T02:37:00.001-08:00</published><updated>2009-11-06T04:40:01.903-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL 2008'/><title type='text'>SQL Server 2008 Installation</title><content type='html'>&lt;p&gt; &lt;/p&gt;  &lt;p&gt;Start the SQL Server 2008 installation by clicking the following icon&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_bxrn2DJZgfo/SvAHdRky75I/AAAAAAAAALE/CwTB4dO-qQY/s1600-h/33.jpg"&gt;&lt;img style="border-width: 0px; display: inline;" title="3" alt="3" src="http://lh5.ggpht.com/_bxrn2DJZgfo/SvAHeFb0FtI/AAAAAAAAALI/xSFVGzpQHK8/3_thumb1.jpg?imgmax=800" width="644" border="0" height="103" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;This will bring up the following screen&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_bxrn2DJZgfo/SvAHe39tCXI/AAAAAAAAALM/xgAmI6nUoOA/s1600-h/13.jpg"&gt;&lt;img style="border-width: 0px; display: inline;" title="1" alt="1" src="http://lh3.ggpht.com/_bxrn2DJZgfo/SvAHf9jHloI/AAAAAAAAALQ/hD2udDM7m8w/1_thumb1.jpg?imgmax=800" width="644" border="0" height="484" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;From right pane, click on “Installation link”. You will get the following screen.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_bxrn2DJZgfo/SvAHgrFJV3I/AAAAAAAAALU/c5UgcRfW7t0/s1600-h/43.jpg"&gt;&lt;img style="border-width: 0px; display: inline;" title="4" alt="4" src="http://lh4.ggpht.com/_bxrn2DJZgfo/SvAHhJavwaI/AAAAAAAAALY/ZjQsxhHflfw/4_thumb1.jpg?imgmax=800" width="643" border="0" height="484" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;From the left pane, click on the link “New SQL Server stand-alone installation or add features to an existing installation”. The 1st action performed by the installer is checking the setup support rules.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_bxrn2DJZgfo/SvAHhxQSjeI/AAAAAAAAALc/KVGANmK6hJs/s1600-h/53.jpg"&gt;&lt;img style="border-width: 0px; display: inline;" title="5" alt="5" src="http://lh3.ggpht.com/_bxrn2DJZgfo/SvAHiWAVjsI/AAAAAAAAALg/TCD-vM1qhSs/5_thumb1.jpg?imgmax=800" width="644" border="0" height="484" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;You can get a detailed report, by following the link “View detailed report”. Click OK.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_bxrn2DJZgfo/SvAHjHmBGZI/AAAAAAAAALk/9HRua3wUNrk/s1600-h/63.jpg"&gt;&lt;img style="border-width: 0px; display: inline;" title="6" alt="6" src="http://lh4.ggpht.com/_bxrn2DJZgfo/SvAHj8rArwI/AAAAAAAAALo/g8XgiwKEiHY/6_thumb1.jpg?imgmax=800" width="644" border="0" height="484" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Now we need to specify, which version we are going to install. If you have purchased SQL Server 2008 then enter the product key. Click Next.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_bxrn2DJZgfo/SvAHknw_nBI/AAAAAAAAALs/IyjL2ZMg9VI/s1600-h/73.jpg"&gt;&lt;img style="border-width: 0px; display: inline;" title="7" alt="7" src="http://lh5.ggpht.com/_bxrn2DJZgfo/SvAHlR4P3PI/AAAAAAAAALw/JqfIcKt2U1U/7_thumb1.jpg?imgmax=800" width="644" border="0" height="484" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;Accept the agreement and Click Next.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_bxrn2DJZgfo/SvAHlzeb1PI/AAAAAAAAAL0/HuEx8wopDL4/s1600-h/83.jpg"&gt;&lt;img style="border-width: 0px; display: inline;" title="8" alt="8" src="http://lh3.ggpht.com/_bxrn2DJZgfo/SvAHmvMQGGI/AAAAAAAAAL4/YAZqb_-Y8QY/8_thumb1.jpg?imgmax=800" width="644" border="0" height="484" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Hit Install.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_bxrn2DJZgfo/SvAHnVXEEJI/AAAAAAAAAL8/xz0UGYHsouQ/s1600-h/93.jpg"&gt;&lt;img style="border-width: 0px; display: inline;" title="9" alt="9" src="http://lh6.ggpht.com/_bxrn2DJZgfo/SvAHn3K-76I/AAAAAAAAAMA/HUrClHIUyLw/9_thumb1.jpg?imgmax=800" width="644" border="0" height="484" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;For detailed report, follow the link “View detailed Report”. Click Next.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_bxrn2DJZgfo/SvAHosWUPjI/AAAAAAAAAME/nCXzgWUty0o/s1600-h/103.jpg"&gt;&lt;img style="border-width: 0px; display: inline;" title="10" alt="10" src="http://lh4.ggpht.com/_bxrn2DJZgfo/SvAHpXA2dHI/AAAAAAAAAMI/PsiN8KwfZmE/10_thumb1.jpg?imgmax=800" width="644" border="0" height="484" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;Select the features you want to install and Click Next.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_bxrn2DJZgfo/SvAHqHenVtI/AAAAAAAAAMM/gczsuVbiw-4/s1600-h/113.jpg"&gt;&lt;img style="border-width: 0px; display: inline;" title="11" alt="11" src="http://lh6.ggpht.com/_bxrn2DJZgfo/SvAHq3MO7zI/AAAAAAAAAMQ/TzWdSVCMZp4/11_thumb1.jpg?imgmax=800" width="644" border="0" height="484" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Select the instance name and Path. Click Next.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_bxrn2DJZgfo/SvAHrR7SnYI/AAAAAAAAAMU/L6EGzrK7t68/s1600-h/123.jpg"&gt;&lt;img style="border-width: 0px; display: inline;" title="12" alt="12" src="http://lh4.ggpht.com/_bxrn2DJZgfo/SvAHsKHfZCI/AAAAAAAAAMY/kD3MVRgHNBc/12_thumb1.jpg?imgmax=800" width="644" border="0" height="484" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;From the screen we can understand that the minimum disk space we need in C drive is 2040. Click Next.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_bxrn2DJZgfo/SvAHs75JJyI/AAAAAAAAAMc/LN9_9BNyW9A/s1600-h/134.jpg"&gt;&lt;img style="border-width: 0px; display: inline;" title="13" alt="13" src="http://lh3.ggpht.com/_bxrn2DJZgfo/SvAHtrgwQeI/AAAAAAAAAMg/yh0ITVzgy-8/13_thumb1.jpg?imgmax=800" width="644" border="0" height="484" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;In this screen we can specify on which account each of the SQL services should run. Click Next.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_bxrn2DJZgfo/SvAHuLpefhI/AAAAAAAAAMk/DSlWHbX3npI/s1600-h/143.jpg"&gt;&lt;img style="border-width: 0px; display: inline;" title="14" alt="14" src="http://lh4.ggpht.com/_bxrn2DJZgfo/SvAHu0bwF8I/AAAAAAAAAMo/TK67tf8Vab0/14_thumb1.jpg?imgmax=800" width="644" border="0" height="484" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Specify the Authentication Mode. If you want to add the Current User in the SQL Administrators list, then Click Add Current User.  You can enable the FILESTREAM feature by opening the FILESTREAM tab.&lt;/p&gt;&lt;p&gt;Once you are done, Click Next.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_bxrn2DJZgfo/SvAHvqjmnBI/AAAAAAAAAMs/A-O_9wT2FFA/s1600-h/157.jpg"&gt;&lt;img style="border-width: 0px; display: inline;" title="15" alt="15" src="http://lh4.ggpht.com/_bxrn2DJZgfo/SvAHwFc7ibI/AAAAAAAAAMw/MkJXknRNYuU/15_thumb5.jpg?imgmax=800" width="644" border="0" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Provision the accounts that require have admin privileges. Click Next.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_bxrn2DJZgfo/SvAHw2B0N_I/AAAAAAAAAM0/6RO0Znfi8LY/s1600-h/163.jpg"&gt;&lt;img style="border-width: 0px; display: inline;" title="16" alt="16" src="http://lh4.ggpht.com/_bxrn2DJZgfo/SvAHxqgJGzI/AAAAAAAAAM4/_x5eZ8El9Zw/16_thumb1.jpg?imgmax=800" width="644" border="0" height="484" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;In this screen, we must specify how the Reporting Server must be configures. The available options are “Native Mode”, “Sharepoint Integrated Mode”. If you want to access the data from sharepoint lists, then select Sharpoint integrated mode. Else Native mode will be fine. Click Next.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_bxrn2DJZgfo/SvAHyGPrjEI/AAAAAAAAAM8/oG21y2AOVn0/s1600-h/173.jpg"&gt;&lt;img style="border-width: 0px; display: inline;" title="17" alt="17" src="http://lh4.ggpht.com/_bxrn2DJZgfo/SvAHy1GcsyI/AAAAAAAAANA/4_1dWygDvhQ/17_thumb1.jpg?imgmax=800" width="644" border="0" height="484" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Click Next.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_bxrn2DJZgfo/SvAHzeyrM3I/AAAAAAAAANE/yw0eawNSFwo/s1600-h/183.jpg"&gt;&lt;img style="border-width: 0px; display: inline;" title="18" alt="18" src="http://lh3.ggpht.com/_bxrn2DJZgfo/SvAH0FSmRII/AAAAAAAAANI/Hc3JzFUXS08/18_thumb1.jpg?imgmax=800" width="644" border="0" height="484" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Click Next.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_bxrn2DJZgfo/SvAH1koHM4I/AAAAAAAAANM/nYNZgoFjUOQ/s1600-h/193.jpg"&gt;&lt;img style="border-width: 0px; display: inline;" title="19" alt="19" src="http://lh4.ggpht.com/_bxrn2DJZgfo/SvAH2CW3vpI/AAAAAAAAANQ/aZA9SxrVEe8/19_thumb1.jpg?imgmax=800" width="644" border="0" height="484" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Click Install.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_bxrn2DJZgfo/SvAH2zTSSdI/AAAAAAAAANU/VT8Hm2AlCPc/s1600-h/20%5B3%5D.jpg"&gt;&lt;img style="border: 0px none ; display: inline;" title="20" alt="20" src="http://lh6.ggpht.com/_bxrn2DJZgfo/SvAH3iMDtFI/AAAAAAAAANY/WcP1kHdVETg/20_thumb%5B1%5D.jpg?imgmax=800" width="644" border="0" height="484" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Installation Completed. Click Next.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_bxrn2DJZgfo/SvAH4bE7xiI/AAAAAAAAANc/-rwbWH2pTLU/s1600-h/21%5B3%5D.jpg"&gt;&lt;img style="border: 0px none ; display: inline;" title="21" alt="21" src="http://lh6.ggpht.com/_bxrn2DJZgfo/SvAH5GnVAgI/AAAAAAAAANg/h_5IpZBTEEE/21_thumb%5B1%5D.jpg?imgmax=800" width="644" border="0" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9164837514531450619-8603312869073134844?l=lamahashim.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lamahashim.blogspot.com/feeds/8603312869073134844/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9164837514531450619&amp;postID=8603312869073134844' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/8603312869073134844'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/8603312869073134844'/><link rel='alternate' type='text/html' href='http://lamahashim.blogspot.com/2009/11/sql-server-2008-installation.html' title='SQL Server 2008 Installation'/><author><name>A.m.a.L Hashim</name><uri>http://www.blogger.com/profile/04600206670507170118</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_bxrn2DJZgfo/S28F2fGQN9I/AAAAAAAAAPE/b3GLUwQjrFc/S220/Photo341.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/_bxrn2DJZgfo/SvAHeFb0FtI/AAAAAAAAALI/xSFVGzpQHK8/s72-c/3_thumb1.jpg?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9164837514531450619.post-2848485753619081334</id><published>2009-11-02T22:49:00.001-08:00</published><updated>2009-11-02T22:50:25.036-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Sharepoint'/><title type='text'>Sharepoint and Silverlight - 1</title><content type='html'>&lt;p&gt;As part of setting up the environment we must be careful to do the following points&lt;/p&gt;  &lt;h5&gt;&lt;u&gt;Point #1&lt;/u&gt;&lt;/h5&gt;  &lt;p&gt;Changing the MIME type in IIS to support Silverlight application. This can be done as follows&lt;/p&gt;  &lt;p&gt;1. Open run window from Start Menu&lt;/p&gt;  &lt;p&gt;2. Enter inetmgr and click OK&lt;/p&gt;  &lt;p&gt;3. This will bring up the Internet Information Services Manager. From the folder structure on the left side, select the site which is your Sharepoint application.&lt;/p&gt;  &lt;p&gt;4. Now from the right pane select &amp;quot;Mime Types&amp;quot; and &amp;quot;Open Feature&amp;quot;&lt;/p&gt;  &lt;p&gt;5. In Mime Type View, Click Add, add the file extension, and type .xap as the file extension and &amp;quot;application/x-silverlight-2&amp;quot; as the Mime type.&lt;/p&gt;  &lt;h5&gt;&lt;u&gt;Point #2&lt;/u&gt;&lt;/h5&gt;  &lt;p&gt;In the web.config of your Sharepoint application, add the required configurations.&lt;/p&gt;  &lt;p&gt;&lt;u&gt;&lt;strong&gt;Point #3&lt;/strong&gt;&lt;/u&gt;&lt;/p&gt;  &lt;p&gt;Make sure the System.Web.Silverlight.dll is in the GAC&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9164837514531450619-2848485753619081334?l=lamahashim.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lamahashim.blogspot.com/feeds/2848485753619081334/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9164837514531450619&amp;postID=2848485753619081334' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/2848485753619081334'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/2848485753619081334'/><link rel='alternate' type='text/html' href='http://lamahashim.blogspot.com/2009/11/sharepoint-and-silverlight-1.html' title='Sharepoint and Silverlight - 1'/><author><name>A.m.a.L Hashim</name><uri>http://www.blogger.com/profile/04600206670507170118</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_bxrn2DJZgfo/S28F2fGQN9I/AAAAAAAAAPE/b3GLUwQjrFc/S220/Photo341.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9164837514531450619.post-756970004851596469</id><published>2009-11-02T22:48:00.003-08:00</published><updated>2009-11-02T22:50:55.189-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Sharepoint'/><title type='text'>Installing Sharepoint Extensions for VS 2008 in XP/Vista</title><content type='html'>&lt;p&gt;The extensions installer can be downloaded from the following location&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=7bf65b28-06e2-4e87-9bad-086e32185e68&amp;amp;DisplayLang=en" target="_blank"&gt;Download&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Once you have downloaded. You need to modify the registry, for doing that follow the below steps&lt;/p&gt;  &lt;p&gt;1. Open run window from Start Menu&lt;/p&gt;  &lt;p&gt;2. Enter Regedit and Click OK&lt;/p&gt;  &lt;p&gt;3. Open the following location&lt;/p&gt;  &lt;p&gt;HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shared Tools\Web Server Extensions\&lt;/p&gt;  &lt;p&gt;Now create a new Key named “12.0”&lt;/p&gt;  &lt;p&gt;Under 12.0 create a new String “Sharepoint” and give the value “Installed”&lt;/p&gt;  &lt;p&gt;4. Now run the installer you have downloaded from the link above.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9164837514531450619-756970004851596469?l=lamahashim.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lamahashim.blogspot.com/feeds/756970004851596469/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9164837514531450619&amp;postID=756970004851596469' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/756970004851596469'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/756970004851596469'/><link rel='alternate' type='text/html' href='http://lamahashim.blogspot.com/2009/11/installing-sharepoint-extensions-for-vs.html' title='Installing Sharepoint Extensions for VS 2008 in XP/Vista'/><author><name>A.m.a.L Hashim</name><uri>http://www.blogger.com/profile/04600206670507170118</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_bxrn2DJZgfo/S28F2fGQN9I/AAAAAAAAAPE/b3GLUwQjrFc/S220/Photo341.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9164837514531450619.post-6768081553021087757</id><published>2009-11-02T22:48:00.001-08:00</published><updated>2009-11-02T22:51:06.294-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Sharepoint'/><title type='text'>Sharepoint Top-Level Object Model</title><content type='html'>&lt;img src="http://img22.imageshack.us/img22/299/sptoplevelobjectmodel.png" alt="Amal Hashim" /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9164837514531450619-6768081553021087757?l=lamahashim.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lamahashim.blogspot.com/feeds/6768081553021087757/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9164837514531450619&amp;postID=6768081553021087757' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/6768081553021087757'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/6768081553021087757'/><link rel='alternate' type='text/html' href='http://lamahashim.blogspot.com/2009/11/sharepoint-top-level-object-model.html' title='Sharepoint Top-Level Object Model'/><author><name>A.m.a.L Hashim</name><uri>http://www.blogger.com/profile/04600206670507170118</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_bxrn2DJZgfo/S28F2fGQN9I/AAAAAAAAAPE/b3GLUwQjrFc/S220/Photo341.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9164837514531450619.post-3842740660893132101</id><published>2009-11-02T22:46:00.000-08:00</published><updated>2009-11-02T22:51:18.987-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Sharepoint'/><title type='text'>Building and Deploying a Web Part</title><content type='html'>In this article am going to explain how we can develop a simple web part and deploy it in Sharepoint.&lt;br /&gt;&lt;br /&gt;There are two way we can build a web part.&lt;br /&gt;&lt;br /&gt;1. Using Sharepoint extensions for Visual studio.&lt;br /&gt;2. Developing a Class library and manually deploying it in Sharepoint.&lt;br /&gt;&lt;br /&gt;Sharepoint extensions for visual studio can be downloaded from the following location&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=7BF65B28-06E2-4E87-9BAD-086E32185E68"&gt;Download&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Once you have installed the extension, from Visual Studio-&gt;File-&gt;New Project-&gt;Share Point-&gt;Web Part&lt;br /&gt;&lt;br /&gt;This will provide a template with all setting ready for building a web part. Once you have done with the web part, you can deploy it directly from Visual Studio. For doing that open the properties dialog by right click the project from solution explorer, go to the debug tab and enter the sharepoint web application URL and save the settings. You can use the same right click context menu for deploying the web part directly to sharepoint server by clicking the deploy menu item.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Manual development and deployment steps&lt;/b&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;From visual studio File-&gt;New Project-&gt;C#-&gt;Class Library&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Right click and Add Reference of System.Web&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Rename Class.cs to NewWebPart.cs&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Open NewWebPart.cs and add the following code&lt;/li&gt;&lt;br /&gt;using System;&lt;br /&gt;using System.Collections.Generic;&lt;br /&gt;using System.Text;&lt;br /&gt;&lt;br /&gt;namespace NewWebPart&lt;br /&gt;{&lt;br /&gt;   public class NewWebPart: System.Web.UI.WebControls.WebParts.WebPart&lt;br /&gt;   {&lt;br /&gt;       protected override void RenderContents(System.Web.UI.HtmlTextWriter writer)&lt;br /&gt;       {&lt;br /&gt;           writer.Write("Hello World!!!");&lt;br /&gt;       }&lt;br /&gt;   }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;li&gt;Right click project-&gt;Properties-&gt;Signing, and sign the assembly with a key&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Now build the project&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Open visual studio command prompt and use the following command&lt;/li&gt;&lt;br /&gt;gacutil /i C:\bin\NewWebPart.dll&lt;br /&gt;Replace C:\bin\NewWebPart.dll with the location of NewWebPart.dll in your machine&lt;br /&gt;&lt;br /&gt;&lt;li&gt;Open your sharepoint web application's web.config file and add the following entry&lt;/li&gt;&lt;br /&gt;&amp;lt;SafeControl Assembly="NewWebPart, Version=1.0.0.0, Culture=neutral, PublicKeyToken=902d73ff104745c3" Namespace="NewWebPart" TypeName="NewWebPart" Safe="True" /&amp;gt;&lt;br /&gt;&lt;br /&gt;Replace 902d73ff104745c3 with the token of assembly. You can find it by opening c:\windows\assembly&lt;br /&gt;&lt;br /&gt;&lt;li&gt;Open Site Setting from Site Actions menu&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Click on Web Parts&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Click New&lt;/li&gt;&lt;br /&gt;Select NewWebPart.NewWebPart and Click Populate Gallery&lt;br /&gt;&lt;br /&gt;Now you can add web part on your site by editing the page.&lt;br /&gt;&lt;br /&gt;That's it!!!&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9164837514531450619-3842740660893132101?l=lamahashim.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lamahashim.blogspot.com/feeds/3842740660893132101/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9164837514531450619&amp;postID=3842740660893132101' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/3842740660893132101'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/3842740660893132101'/><link rel='alternate' type='text/html' href='http://lamahashim.blogspot.com/2009/11/building-and-deploying-web-part.html' title='Building and Deploying a Web Part'/><author><name>A.m.a.L Hashim</name><uri>http://www.blogger.com/profile/04600206670507170118</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_bxrn2DJZgfo/S28F2fGQN9I/AAAAAAAAAPE/b3GLUwQjrFc/S220/Photo341.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9164837514531450619.post-375543801739596417</id><published>2009-11-02T21:36:00.001-08:00</published><updated>2009-11-02T22:45:24.152-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL 2008'/><title type='text'>SQL Server 2008 Installation Pre-Requisites</title><content type='html'>&lt;p&gt; &lt;/p&gt;  &lt;p&gt;In this blog series, I am going to explain in details about how we can install SQL Server 2008 dev edition on a windows XP box.&lt;/p&gt;  &lt;p&gt;My current configuration is &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Windows XP SP3 &lt;/li&gt;    &lt;li&gt;Visual Studio 2008 (No service pack installed) &lt;/li&gt;    &lt;li&gt;.Net Framework 3.5 SP1 &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Once I started installing SQL Server 2008 on my dev box, I started complaining that it need the KB(KB942288-v2) to be installed. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_bxrn2DJZgfo/Su_BPwSGK1I/AAAAAAAAAKE/CCB4VoCi004/s1600-h/warning%5B4%5D.jpg"&gt;&lt;img style="border: 0px none ; display: block; float: none; margin-left: auto; margin-right: auto;" title="warning" alt="warning" src="http://lh5.ggpht.com/_bxrn2DJZgfo/Su_BRxdOEOI/AAAAAAAAAKI/Nl7bFBjpDao/warning_thumb%5B2%5D.jpg?imgmax=800" width="603" border="0" height="130" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;This KB installer is a hot fix for Windows installer. I clicked Ok and an installer window comes up, and installed that hot fix. Once this hot fix is installed, we needs to reboot our machine.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_bxrn2DJZgfo/Su_BSuQLgrI/AAAAAAAAAKQ/wYw-5gcIFEQ/s1600-h/reboot%5B4%5D.jpg"&gt;&lt;img style="border: 0px none ; display: block; float: none; margin-left: auto; margin-right: auto;" title="reboot" alt="reboot" src="http://lh3.ggpht.com/_bxrn2DJZgfo/Su_BTb96K2I/AAAAAAAAAKY/JUKqgMOsKa4/reboot_thumb%5B2%5D.jpg?imgmax=800" width="468" border="0" height="130" /&gt;&lt;/a&gt; Once the system reboots, execute the SQL 2008 installer. This will bring up the following screen.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_bxrn2DJZgfo/Su_BWbfDb4I/AAAAAAAAAKk/aBBH9ISlftI/s1600-h/1%5B5%5D.jpg"&gt;&lt;img style="border: 0px none ; display: block; float: none; margin-left: auto; margin-right: auto;" title="1" alt="1" src="http://lh5.ggpht.com/_bxrn2DJZgfo/Su_BXpwHVvI/AAAAAAAAAKo/9-tAMbMRwJc/1_thumb%5B3%5D.jpg?imgmax=800" width="644" border="0" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;In this screen if you notice, there is an option called “System Configuration Checker”. Click on that link, which will bring up a utility that can scan and show the components which has passed/failed as shown below.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_bxrn2DJZgfo/Su_BZid3wiI/AAAAAAAAAK0/6iUlP23ohtE/s1600-h/2%5B4%5D.jpg"&gt;&lt;img style="border: 0px none ; display: block; float: none; margin-left: auto; margin-right: auto;" title="2" alt="2" src="http://lh6.ggpht.com/_bxrn2DJZgfo/Su_BaS2dFBI/AAAAAAAAAK4/t99_KjiXgI8/2_thumb%5B2%5D.jpg?imgmax=800" width="644" border="0" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Now, we are ready to start our SQL Server 2008 installation :-)  &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9164837514531450619-375543801739596417?l=lamahashim.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lamahashim.blogspot.com/feeds/375543801739596417/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9164837514531450619&amp;postID=375543801739596417' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/375543801739596417'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/375543801739596417'/><link rel='alternate' type='text/html' href='http://lamahashim.blogspot.com/2009/11/sql-server-2008-installation-pre.html' title='SQL Server 2008 Installation Pre-Requisites'/><author><name>A.m.a.L Hashim</name><uri>http://www.blogger.com/profile/04600206670507170118</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_bxrn2DJZgfo/S28F2fGQN9I/AAAAAAAAAPE/b3GLUwQjrFc/S220/Photo341.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/_bxrn2DJZgfo/Su_BRxdOEOI/AAAAAAAAAKI/Nl7bFBjpDao/s72-c/warning_thumb%5B2%5D.jpg?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9164837514531450619.post-1847915344818031825</id><published>2009-10-31T00:52:00.000-07:00</published><updated>2009-11-02T22:51:44.930-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Sharepoint'/><title type='text'>Using Sharepoint List Webservice</title><content type='html'>Sharepoint exposes some really useful webservices. One among the most useful is the List Webservices.  &lt;br /&gt;&lt;br /&gt;We can take the webreference from the following location  &lt;br /&gt;&lt;br /&gt;http://mossserver/_vti_bin/lists.asmx  &lt;br /&gt;&lt;br /&gt;Once we have added the webservice, we can use following generic method to call webservice  &lt;br /&gt;&lt;br /&gt; &lt;pre class="code"&gt;XmlNode CallWebService(&lt;span style="color:blue;"&gt;bool &lt;/span&gt;isRecursive, ListsService listService,&lt;br /&gt;&lt;span style="color:blue;"&gt;string &lt;/span&gt;listName, &lt;span style="color:blue;"&gt;string &lt;/span&gt;queryObj, &lt;span style="color:blue;"&gt;string &lt;/span&gt;viewID, &lt;span style="color:blue;"&gt;string &lt;/span&gt;viewFieldsInnerXml)&lt;br /&gt;{&lt;br /&gt;  &lt;span style="color:blue;"&gt;try&lt;br /&gt;  &lt;/span&gt;{&lt;br /&gt;      NetworkCredential credential = &lt;span style="color:blue;"&gt;new &lt;/span&gt;NetworkCredential();&lt;br /&gt;      credential.UserName = &lt;span style="color: rgb(163, 21, 21);"&gt;"UserName"&lt;/span&gt;;&lt;br /&gt;      credential.Password = &lt;span style="color: rgb(163, 21, 21);"&gt;"Password"&lt;/span&gt;;&lt;br /&gt;      credential.Domain = &lt;span style="color: rgb(163, 21, 21);"&gt;"Domain"&lt;/span&gt;;&lt;br /&gt;      listService.Credentials = credential;&lt;br /&gt;&lt;br /&gt;      &lt;span style="color:green;"&gt;// Instantiate an XmlDocument object&lt;br /&gt;      &lt;/span&gt;System.Xml.XmlDocument xmlDoc = &lt;span style="color:blue;"&gt;new &lt;/span&gt;System.Xml.XmlDocument();&lt;br /&gt;   &lt;br /&gt;      &lt;span style="color:blue;"&gt;string &lt;/span&gt;viewName = &lt;span style="color:blue;"&gt;string&lt;/span&gt;.Empty;&lt;br /&gt;      &lt;span style="color:blue;"&gt;if &lt;/span&gt;(&lt;span style="color:blue;"&gt;string&lt;/span&gt;.Empty != viewID)&lt;br /&gt;      {&lt;br /&gt;          viewName = viewID;&lt;br /&gt;      }&lt;br /&gt;      &lt;span style="color:blue;"&gt;string &lt;/span&gt;rowLimit = &lt;span style="color: rgb(163, 21, 21);"&gt;"150"&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;      System.Xml.XmlElement query = xmlDoc.CreateElement(&lt;span style="color: rgb(163, 21, 21);"&gt;"Query"&lt;/span&gt;);&lt;br /&gt;      System.Xml.XmlElement viewFields = xmlDoc.CreateElement(&lt;span style="color: rgb(163, 21, 21);"&gt;"ViewFields"&lt;/span&gt;);&lt;br /&gt;      System.Xml.XmlElement queryOptions = xmlDoc.CreateElement(&lt;span style="color: rgb(163, 21, 21);"&gt;"QueryOptions"&lt;/span&gt;);&lt;br /&gt;&lt;br /&gt;      &lt;span style="color:blue;"&gt;if &lt;/span&gt;(isRecursive)&lt;br /&gt;          queryOptions.InnerXml = &lt;span style="color: rgb(163, 21, 21);"&gt;"&amp;lt;ViewAttributes Scope=\"Recursive\" /&amp;gt;"&lt;/span&gt;;&lt;br /&gt;      &lt;span style="color:blue;"&gt;else&lt;br /&gt;          &lt;/span&gt;queryOptions.InnerXml = &lt;span style="color: rgb(163, 21, 21);"&gt;""&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;      &lt;span style="color:blue;"&gt;if &lt;/span&gt;(&lt;span style="color:blue;"&gt;string&lt;/span&gt;.Empty == queryObj)&lt;br /&gt;      {&lt;br /&gt;          query.InnerXml = &lt;span style="color: rgb(163, 21, 21);"&gt;"&amp;lt;Where&amp;gt;&amp;lt;Gt&amp;gt;&amp;lt;FieldRef Name=\"ID\" /&amp;gt;" &lt;/span&gt;+&lt;br /&gt;                              &lt;span style="color: rgb(163, 21, 21);"&gt;"&amp;lt;Value Type=\"Counter\"&amp;gt;0&amp;lt;/Value&amp;gt;&amp;lt;/Gt&amp;gt;&amp;lt;/Where&amp;gt;"&lt;/span&gt;;&lt;br /&gt;      }&lt;br /&gt;      &lt;span style="color:blue;"&gt;else&lt;br /&gt;      &lt;/span&gt;{&lt;br /&gt;          query.InnerXml = queryObj;&lt;br /&gt;      }&lt;br /&gt;&lt;br /&gt;      &lt;span style="color:green;"&gt;// Assign View fields&lt;br /&gt;      &lt;/span&gt;&lt;span style="color:blue;"&gt;if &lt;/span&gt;(&lt;span style="color:blue;"&gt;string&lt;/span&gt;.Empty != viewFieldsInnerXml)&lt;br /&gt;      {&lt;br /&gt;          viewFields.InnerXml = viewFieldsInnerXml;&lt;br /&gt;      }&lt;br /&gt;      &lt;span style="color:blue;"&gt;else&lt;br /&gt;      &lt;/span&gt;{&lt;br /&gt;          viewFields.InnerXml = &lt;span style="color: rgb(163, 21, 21);"&gt;"&amp;lt;FieldRef Name=\"Title\" /&amp;gt;"&lt;/span&gt;;&lt;br /&gt;      }&lt;br /&gt;      System.Xml.XmlNode nodeListItems =&lt;br /&gt;          listService.GetListItems(listName, viewName, query,&lt;br /&gt;viewFields, rowLimit, queryOptions, &lt;span style="color:blue;"&gt;null&lt;/span&gt;);&lt;br /&gt;&lt;br /&gt;      &lt;span style="color:blue;"&gt;return &lt;/span&gt;nodeListItems;&lt;br /&gt;  }&lt;br /&gt;  &lt;span style="color:blue;"&gt;catch &lt;/span&gt;(Exception ex)&lt;br /&gt;  {&lt;br /&gt;      &lt;span style="color:blue;"&gt;throw &lt;/span&gt;ex;&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;p&gt;You can use this generic method for getting the list items.&lt;/p&gt;Pass true to “IsRecursive” if you want to get items inside folder.&lt;br /&gt;&lt;br /&gt;Example:&lt;br /&gt;&lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;string &lt;/span&gt;fields = &lt;span style="color: rgb(163, 21, 21);"&gt;"&amp;lt;FieldRef Name=\"FieldName1\" /&amp;gt;&lt;br /&gt;&lt;/span&gt;&amp;lt;FieldRef Name=\&lt;span style="color: rgb(163, 21, 21);"&gt;"FieldName2\" /&amp;gt;"&lt;/span&gt;;&lt;br /&gt;XmlNode nodeListItems = CallWebService(&lt;span style="color:blue;"&gt;true&lt;/span&gt;, l, &lt;span style="color: rgb(163, 21, 21);"&gt;"Answer Choices"&lt;/span&gt;,&lt;br /&gt;&lt;span style="color:blue;"&gt;string&lt;/span&gt;.Empty, &lt;span style="color:blue;"&gt;string&lt;/span&gt;.Empty, fields);&lt;br /&gt;&lt;/pre&gt;&lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;foreach &lt;/span&gt;(System.Xml.XmlNode listItem &lt;span style="color:blue;"&gt;in &lt;/span&gt;nodeListItems)&lt;br /&gt;{&lt;br /&gt;   &lt;span style="color:blue;"&gt;if &lt;/span&gt;(listItem.ChildNodes.Count &amp;gt; 0)&lt;br /&gt;   {&lt;br /&gt;       &lt;span style="color:blue;"&gt;foreach &lt;/span&gt;(XmlNode node &lt;span style="color:blue;"&gt;in &lt;/span&gt;listItem.ChildNodes)&lt;br /&gt;       {&lt;br /&gt;           &lt;span style="color:blue;"&gt;string &lt;/span&gt;choice = node.Attributes[&lt;span style="color: rgb(163, 21, 21);"&gt;"ows_Title"&lt;/span&gt;]&lt;br /&gt;.Value;               &lt;br /&gt;       }&lt;br /&gt;   }&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9164837514531450619-1847915344818031825?l=lamahashim.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lamahashim.blogspot.com/feeds/1847915344818031825/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9164837514531450619&amp;postID=1847915344818031825' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/1847915344818031825'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/1847915344818031825'/><link rel='alternate' type='text/html' href='http://lamahashim.blogspot.com/2009/10/using-sharepoint-list-webservice.html' title='Using Sharepoint List Webservice'/><author><name>A.m.a.L Hashim</name><uri>http://www.blogger.com/profile/04600206670507170118</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_bxrn2DJZgfo/S28F2fGQN9I/AAAAAAAAAPE/b3GLUwQjrFc/S220/Photo341.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9164837514531450619.post-7269129786430055566</id><published>2009-10-29T00:15:00.000-07:00</published><updated>2009-11-02T22:52:04.262-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Sql server 2005'/><category scheme='http://www.blogger.com/atom/ns#' term='SSRS'/><title type='text'>SSRS report and Webservice as datasource</title><content type='html'>One good feature i found in SSRS report is that, we can provide webservice as the datasource. We can create dataset using webservice methods.&lt;br /&gt;&lt;br /&gt;For creating a dataset using webservice, do the following steps.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Create a new Datasource&lt;/li&gt;&lt;/ul&gt;&lt;ol&gt;&lt;li&gt;From solution explorer, right click "Shared Data Sources".&lt;/li&gt;&lt;li&gt;Click on "Add new Datasource".&lt;/li&gt;&lt;li&gt;In the new window, provide a name for the new datasource.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Select type as "Xml".&lt;/li&gt;&lt;li&gt;In connection string, provide the path of wsdl. Ex: http://localhost/Service1.asmx?wsdl&lt;/li&gt;&lt;li&gt;Hit Ok.&lt;/li&gt;&lt;/ol&gt;&lt;ul&gt;&lt;li&gt;Create a new Dataset&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ol&gt;&lt;li&gt;Select the Data tab.&lt;/li&gt;&lt;li&gt;From the Dataset dropdown, select "New Dataset".&lt;/li&gt;&lt;li&gt;In the Dataset window, Select the dataset we have created.&lt;/li&gt;&lt;li&gt;Select Text as command.&lt;/li&gt;&lt;li&gt;Use the following query&lt;/li&gt;&lt;/ol&gt;&amp;lt;Query&gt;&lt;br /&gt;    &amp;lt;Method Namespace="http://tempuri.org/" Name="MethodName"&gt;&lt;br /&gt;&amp;lt;Parameters&gt;&lt;br /&gt;        &amp;lt;Parameter Name="parameter1"&gt;&lt;br /&gt;            &amp;lt;DefaultValue&gt;1 &amp;lt;/DefaultValue&gt;&lt;br /&gt;        &amp;lt;/Parameter&gt;&lt;br /&gt;    &amp;lt;/Parameters&gt;&lt;br /&gt;&amp;lt;/Method&gt;&lt;br /&gt;    &amp;lt;SoapAction&gt;http://tempuri.org/MethodName &amp;lt;/SoapAction&gt;&lt;br /&gt;&amp;lt;/Query&gt;&lt;br /&gt;&lt;br /&gt;MethodName is the method you want to invoke in the webservice.&lt;br /&gt;parameter1 is the name of the parameter the webservice method is expecting. You need to create a Report Parameter. And in the "Create New Datset" window, open the Parameter tab and add that parameter.&lt;br /&gt;&lt;br /&gt;Now in the query window, execute the query by clicking the "Red Exclamation Icon".&lt;br /&gt;&lt;br /&gt;Done!!!&lt;br /&gt;&lt;br /&gt;For queries and suggestions, please feel free to ping me.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9164837514531450619-7269129786430055566?l=lamahashim.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lamahashim.blogspot.com/feeds/7269129786430055566/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9164837514531450619&amp;postID=7269129786430055566' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/7269129786430055566'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/7269129786430055566'/><link rel='alternate' type='text/html' href='http://lamahashim.blogspot.com/2009/10/ssrs-report-and-webservice-as.html' title='SSRS report and Webservice as datasource'/><author><name>A.m.a.L Hashim</name><uri>http://www.blogger.com/profile/04600206670507170118</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_bxrn2DJZgfo/S28F2fGQN9I/AAAAAAAAAPE/b3GLUwQjrFc/S220/Photo341.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9164837514531450619.post-5738781087760350062</id><published>2009-10-29T00:09:00.001-07:00</published><updated>2009-11-02T22:52:36.147-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Sql server 2005'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='SSRS'/><title type='text'>Report Viewer control and Local Reports</title><content type='html'>&lt;p&gt; &lt;/p&gt;  &lt;p&gt;There will be cases in which we need to load a local report on ReportViewer control. The below code will help to do the same.&lt;/p&gt;&lt;p&gt;//Declare ReportViewer object&lt;/p&gt;&lt;p&gt;public Microsoft.Reporting.WebForms.ReportViewer reportViewer1;&lt;br /&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;reportViewer1.ProcessingMode = ProcessingMode.Local;   &lt;br /&gt;reportViewer1.LocalReport.ReportPath = path;    &lt;br /&gt;reportViewer1.LocalReport.    &lt;br /&gt;ExecuteReportInCurrentAppDomain(    &lt;br /&gt;              System.Reflection.Assembly.GetExecutingAssembly().    &lt;br /&gt;              Evidence); &lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;// The application is responsible for collecting    &lt;br /&gt;// parameters    &lt;br /&gt;ReportParameterInfoCollection parameterInfo =    &lt;br /&gt;              reportViewer1.LocalReport.GetParameters();    &lt;br /&gt;if (parameterInfo.Count &amp;gt; 0)    &lt;br /&gt;{    &lt;br /&gt;List&amp;lt;ReportParameter&amp;gt; param = new List&amp;lt;ReportParameter&amp;gt;();    &lt;br /&gt;ReportParameter yearParam = new ReportParameter("Year", “2009”);    &lt;br /&gt;param.Add(yearParam);    &lt;br /&gt;// Add report data sources&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;ReportDataSource rds = new ReportDataSource("ds", dataSourceObject);   &lt;br /&gt;reportViewer1.LocalReport.DataSources.Add(rds);    &lt;br /&gt;// Add report parameters              &lt;br /&gt;reportViewer1.LocalReport.SetParameters(param);    &lt;br /&gt;} &lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;reportViewer1.LocalReport.Refresh();&lt;/em&gt;&lt;/p&gt;&lt;br /&gt;Hope this helps :)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;If you have any query, please feel free to ping me.&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9164837514531450619-5738781087760350062?l=lamahashim.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lamahashim.blogspot.com/feeds/5738781087760350062/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9164837514531450619&amp;postID=5738781087760350062' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/5738781087760350062'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/5738781087760350062'/><link rel='alternate' type='text/html' href='http://lamahashim.blogspot.com/2009/10/report-viewer-control-and-local-reports.html' title='Report Viewer control and Local Reports'/><author><name>A.m.a.L Hashim</name><uri>http://www.blogger.com/profile/04600206670507170118</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_bxrn2DJZgfo/S28F2fGQN9I/AAAAAAAAAPE/b3GLUwQjrFc/S220/Photo341.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9164837514531450619.post-3728714594691847929</id><published>2009-10-28T23:50:00.000-07:00</published><updated>2009-11-02T22:52:49.895-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Sharepoint'/><title type='text'>Sharepoint Calculated Field - Week Number</title><content type='html'>The following formula will help us to find the week number for a date value.&lt;br /&gt;&lt;br /&gt;=INT(([Date]-DATE(YEAR([Date]),1,1)+(TEXT(WEEKDAY(DATE(YEAR([Date]),1,1)),"d")))/7)+1&lt;br /&gt;&lt;br /&gt;Hope this helps :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9164837514531450619-3728714594691847929?l=lamahashim.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lamahashim.blogspot.com/feeds/3728714594691847929/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9164837514531450619&amp;postID=3728714594691847929' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/3728714594691847929'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/3728714594691847929'/><link rel='alternate' type='text/html' href='http://lamahashim.blogspot.com/2009/10/sharepoint-calculated-field-week-number.html' title='Sharepoint Calculated Field - Week Number'/><author><name>A.m.a.L Hashim</name><uri>http://www.blogger.com/profile/04600206670507170118</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_bxrn2DJZgfo/S28F2fGQN9I/AAAAAAAAAPE/b3GLUwQjrFc/S220/Photo341.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9164837514531450619.post-7676459456097068207</id><published>2009-10-24T07:44:00.000-07:00</published><updated>2009-11-02T22:53:02.854-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Sharepoint'/><title type='text'>Integrating SSRS + Sharepoint + Report Viewer</title><content type='html'>Scenario:&lt;br /&gt;&lt;br /&gt;We need to display a report based on the data spread across multiple list. In such a case we won't be able to use either List View or Data View. One easier way to solve this problem is to create a custom webservice which will basically call the List Web Services provided by Sharepoint, create the dataset and return it back to the SSRS report.&lt;br /&gt;&lt;br /&gt;One problem which we will face is while the deployment in production server. What we can do is in the report viewer control, lets take the rdl file from local instead of server. We can keep the rdl file in sharepoint list only. Thus the rdl file will be secure and can be replaced only by administrators. One drawback of the approach is that, the rdl file will not be available in the Sql Reporting Server. But compared to the ease of deployment, I think we can live with this :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9164837514531450619-7676459456097068207?l=lamahashim.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lamahashim.blogspot.com/feeds/7676459456097068207/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9164837514531450619&amp;postID=7676459456097068207' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/7676459456097068207'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/7676459456097068207'/><link rel='alternate' type='text/html' href='http://lamahashim.blogspot.com/2009/10/integrating-ssrs-sharepoint-report.html' title='Integrating SSRS + Sharepoint + Report Viewer'/><author><name>A.m.a.L Hashim</name><uri>http://www.blogger.com/profile/04600206670507170118</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_bxrn2DJZgfo/S28F2fGQN9I/AAAAAAAAAPE/b3GLUwQjrFc/S220/Photo341.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9164837514531450619.post-9195845675306923580</id><published>2009-10-14T06:32:00.001-07:00</published><updated>2009-11-02T22:53:14.501-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Sharepoint'/><title type='text'>Sharepoint List View - Calculated Columns</title><content type='html'>In some scenarios, while creating views we might need to filter based on complex queries. In List View, filters are available but they are not powerful. For example, if we want to group the condition based on And and or, that feature is not available. &lt;br /&gt;&lt;br /&gt;One workaround for this problem is to add a calculated column in the list and the result of the calculation will say whether that row should be placed in the view or not.&lt;br /&gt;&lt;br /&gt;Example query will be as follows:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;IF(AND(OR([Col1]="Some Value", [Col2]="Some Value"), AND([Col3]="Some Value", [Col4]="Some Value")), "Show Row", "Dont Show")&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9164837514531450619-9195845675306923580?l=lamahashim.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lamahashim.blogspot.com/feeds/9195845675306923580/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9164837514531450619&amp;postID=9195845675306923580' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/9195845675306923580'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/9195845675306923580'/><link rel='alternate' type='text/html' href='http://lamahashim.blogspot.com/2009/10/sharepoint-list-view-calculated-columns.html' title='Sharepoint List View - Calculated Columns'/><author><name>A.m.a.L Hashim</name><uri>http://www.blogger.com/profile/04600206670507170118</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_bxrn2DJZgfo/S28F2fGQN9I/AAAAAAAAAPE/b3GLUwQjrFc/S220/Photo341.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9164837514531450619.post-8135871072508160101</id><published>2009-10-09T05:22:00.000-07:00</published><updated>2009-11-02T22:53:28.477-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Sql server 2005'/><category scheme='http://www.blogger.com/atom/ns#' term='SSRS'/><title type='text'>SSRS - Creating reports with specific rows per page</title><content type='html'>In layout tab, select the table and open the properties windows by right clicking and selecting properties. From the properties windows move to the Groups tab. Click Add and enter the following expression &lt;br /&gt;&lt;br /&gt;=Ceiling(RowNumber(Nothing)/20)&lt;br /&gt;&lt;br /&gt;Replace 20 with the required number of rows per page. Select "Page Break at Start" and uncheck "Page break at Start". If you want the header and footer to be appear on each page then select those options.&lt;br /&gt;&lt;br /&gt;Hope this helps :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9164837514531450619-8135871072508160101?l=lamahashim.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lamahashim.blogspot.com/feeds/8135871072508160101/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9164837514531450619&amp;postID=8135871072508160101' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/8135871072508160101'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/8135871072508160101'/><link rel='alternate' type='text/html' href='http://lamahashim.blogspot.com/2009/10/ssrs-creating-reports-with-specific.html' title='SSRS - Creating reports with specific rows per page'/><author><name>A.m.a.L Hashim</name><uri>http://www.blogger.com/profile/04600206670507170118</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_bxrn2DJZgfo/S28F2fGQN9I/AAAAAAAAAPE/b3GLUwQjrFc/S220/Photo341.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9164837514531450619.post-6293494408370953359</id><published>2009-09-15T10:52:00.001-07:00</published><updated>2009-11-02T22:53:39.301-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Login to FTP Server</title><content type='html'>&lt;p&gt;In this post I am going to put a piece of code I have written for my friend. The requirement was to validate the given username and password are valid for the specified FTP server.&lt;br /&gt;&lt;/p&gt;  &lt;div class="csharpcode"&gt;   &lt;p&gt;static bool CheckFTPLogin(String ftpServer, uint ftpPort, String userName, String password)     &lt;br /&gt;{      &lt;br /&gt;    if (String.IsNullOrEmpty(ftpServer) ||      &lt;br /&gt;        String.IsNullOrEmpty(userName) ||      &lt;br /&gt;        String.IsNullOrEmpty(password))      &lt;br /&gt;        return false; &lt;/p&gt;    &lt;p&gt;    using (TcpClient client = new TcpClient())     &lt;br /&gt;    {      &lt;br /&gt;        try      &lt;br /&gt;        {      &lt;br /&gt;            client.Connect(ftpServer, Convert.ToInt32(ftpPort));      &lt;br /&gt;            NetworkStream nStream = client.GetStream();      &lt;br /&gt;            StreamReader myReader = new StreamReader(nStream);      &lt;br /&gt;            StreamWriter myWriter = new StreamWriter(nStream); &lt;/p&gt;    &lt;p&gt;            string retValue = myReader.ReadLine();     &lt;br /&gt;            Console.WriteLine(retValue);      &lt;br /&gt;            if (retValue.EndsWith("ready.") &amp;amp;&amp;amp; retValue.StartsWith("220"))      &lt;br /&gt;            {      &lt;br /&gt;                myWriter.WriteLine(string.Format("USER {0}", userName));      &lt;br /&gt;                myWriter.Flush();      &lt;br /&gt;                retValue = myReader.ReadLine();      &lt;br /&gt;                Console.WriteLine(retValue);      &lt;br /&gt;                if (retValue.StartsWith("331"))      &lt;br /&gt;                {      &lt;br /&gt;                    myWriter.WriteLine(string.Format("PASS {0}", password));      &lt;br /&gt;                    myWriter.Flush();      &lt;br /&gt;                    retValue = myReader.ReadLine();      &lt;br /&gt;                    Console.WriteLine(retValue);      &lt;br /&gt;                    if (retValue.StartsWith("230"))      &lt;br /&gt;                    {      &lt;br /&gt;                        ///Login Success      &lt;br /&gt;                        myReader.Close();      &lt;br /&gt;                        myWriter.Close();      &lt;br /&gt;                        return true;      &lt;br /&gt;                    }      &lt;br /&gt;                }      &lt;br /&gt;                else      &lt;br /&gt;                {      &lt;br /&gt;                    ///Login Error.      &lt;br /&gt;                    myReader.Close();      &lt;br /&gt;                    myWriter.Close();      &lt;br /&gt;                    return false;      &lt;br /&gt;                }      &lt;br /&gt;            }      &lt;br /&gt;            else      &lt;br /&gt;            {      &lt;br /&gt;                ///FTP Connection error.      &lt;br /&gt;                myReader.Close();      &lt;br /&gt;                myWriter.Close();      &lt;br /&gt;                return false;      &lt;br /&gt;            }      &lt;br /&gt;            return false;      &lt;br /&gt;        }      &lt;br /&gt;        catch      &lt;br /&gt;        {      &lt;br /&gt;            ///FTP Connection Error      &lt;br /&gt;            return false;      &lt;br /&gt;        }      &lt;br /&gt;    }           &lt;br /&gt;}&lt;/p&gt; &lt;/div&gt;  &lt;p&gt;CheckFTPLogin is a generic method which will return a boolean value true if and only if the username and password are valid credentials in the given ftpServer. &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9164837514531450619-6293494408370953359?l=lamahashim.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lamahashim.blogspot.com/feeds/6293494408370953359/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9164837514531450619&amp;postID=6293494408370953359' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/6293494408370953359'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/6293494408370953359'/><link rel='alternate' type='text/html' href='http://lamahashim.blogspot.com/2009/09/login-to-ftp-server.html' title='Login to FTP Server'/><author><name>A.m.a.L Hashim</name><uri>http://www.blogger.com/profile/04600206670507170118</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_bxrn2DJZgfo/S28F2fGQN9I/AAAAAAAAAPE/b3GLUwQjrFc/S220/Photo341.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9164837514531450619.post-860777169276304683</id><published>2009-08-27T00:13:00.001-07:00</published><updated>2009-11-02T22:53:49.209-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Check a URL exist or not using C#</title><content type='html'>static bool CheckURL(String url)&lt;br /&gt;        {&lt;br /&gt;            if(String.IsNullOrEmpty(url))&lt;br /&gt;                return false;&lt;br /&gt;&lt;br /&gt;            WebRequest request = WebRequest.Create(url);&lt;br /&gt;&lt;br /&gt;            try&lt;br /&gt;            {&lt;br /&gt;                HttpWebResponse res = request.GetResponse() as HttpWebResponse;&lt;br /&gt;&lt;br /&gt;                if (res.StatusDescription == "OK")&lt;br /&gt;                    return true;&lt;br /&gt;            }&lt;br /&gt;            catch&lt;br /&gt;            {&lt;br /&gt;            }&lt;br /&gt;            &lt;br /&gt;            return false;&lt;br /&gt;        }&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9164837514531450619-860777169276304683?l=lamahashim.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lamahashim.blogspot.com/feeds/860777169276304683/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9164837514531450619&amp;postID=860777169276304683' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/860777169276304683'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/860777169276304683'/><link rel='alternate' type='text/html' href='http://lamahashim.blogspot.com/2009/08/check-url-exist-or-not-using-c.html' title='Check a URL exist or not using C#'/><author><name>A.m.a.L Hashim</name><uri>http://www.blogger.com/profile/04600206670507170118</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_bxrn2DJZgfo/S28F2fGQN9I/AAAAAAAAAPE/b3GLUwQjrFc/S220/Photo341.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9164837514531450619.post-4561512150643744569</id><published>2009-08-27T00:12:00.000-07:00</published><updated>2009-08-27T00:13:21.552-07:00</updated><title type='text'>Creating a zip file using C#</title><content type='html'>Using the System.IO.Compression namespace in Codeplex a classlibrary project is going on name &lt;a href="http://www.codeplex.com/DotNetZip"&gt;DotNetZip&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The class library has a ZipFile class. Using this, you can create zip files using the below code&lt;br /&gt;&lt;br /&gt;ZipFile zip= new ZipFile("MyNewZip.zip");&lt;br /&gt;&lt;br /&gt;zip.AddDirectory("My Pictures", true); // AddDirectory recurses subdirectories&lt;br /&gt;&lt;br /&gt;zip.Save();&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9164837514531450619-4561512150643744569?l=lamahashim.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lamahashim.blogspot.com/feeds/4561512150643744569/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9164837514531450619&amp;postID=4561512150643744569' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/4561512150643744569'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9164837514531450619/posts/default/4561512150643744569'/><link rel='alternate' type='text/html' href='http://lamahashim.blogspot.com/2009/08/creating-zip-file-using-c.html' title='Creating a zip file using C#'/><author><name>A.m.a.L Hashim</name><uri>http://www.blogger.com/profile/04600206670507170118</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_bxrn2DJZgfo/S28F2fGQN9I/AAAAAAAAAPE/b3GLUwQjrFc/S220/Photo341.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9164837514531450619.post-110232311372738447</id><published>2009-08-25T02:38:00.000-07:00</published><updated>2009-08-25T02:48:09.897-07:00</updated><title type='text'>Encyption/Decryption in C# and Java</title><content type='html'>&lt;b&gt;&lt;u&gt;C# Code&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;string &lt;b&gt;Decrypt&lt;/b&gt;(string textToDecrypt, string key)&lt;br /&gt;{&lt;br /&gt;    RijndaelManaged rijndaelCipher = new RijndaelManaged();&lt;br /&gt;    rijndaelCipher.Mode = CipherMode.CBC;&lt;br /&gt;    rijndaelCipher.Padding = PaddingMode.PKCS7;&lt;br /&gt;  &lt;br /&gt;        rijndaelCipher.KeySize = 0x80;&lt;br /&gt;        rijndaelCipher.BlockSize = 0x80;&lt;br /&gt;        byte[] encryptedData = Convert.FromBase64String(textToDecrypt);&lt;br /&gt;        byte[] pwdBytes = Encoding.UTF8.GetBytes(key);&lt;br /&gt;        byte[] keyBytes = new byte[0x10];&lt;br /&gt;        int len = pwdBytes.Length;&lt;br /&gt;        if (len &gt; keyBytes.Length)&lt;br /&gt;        {&lt;br /&gt;            len = keyBytes.Length;&lt;br /&gt;        }&lt;br /&gt;        Array.Copy(pwdBytes, keyBytes, len);&lt;br /&gt;        rijndaelCipher.Key = keyBytes;&lt;br /&gt;        rijndaelCipher.IV = keyBytes;&lt;br /&gt;        byte[] plainText = rijndaelCipher.CreateDecryptor().TransformFinalBlock(encryptedData, 0, encryptedData.Length);&lt;br /&gt;        return Encoding.UTF8.GetString(plainText);   &lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;string &lt;b&gt;Encrypt&lt;/b&gt;(string textToEncrypt, string key)&lt;br /&gt;{&lt;br /&gt;    RijndaelManaged rijndaelCipher = new RijndaelManaged();&lt;br /&gt;    rijndaelCipher.Mode = CipherMode.CBC;&lt;br /&gt;    rijndaelCipher.Padding = PaddingMode.PKCS7;&lt;br /&gt;   &lt;br /&gt;    rijndaelCipher.KeySize = 0x80;&lt;br /&gt;    rijndaelCipher.BlockSize = 0
