<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:image="http://purl.org/rss/1.0/modules/image/">
    <channel>
        <title>SPBlog.RunsWithElevatedInfo</title>
        <link>http://blog.ksenthil.net/Default.aspx</link>
        <description>A Repository of learnings on my journey towards SharePoint</description>
        <language>en-US</language>
        <copyright>Senthil Kumar</copyright>
        <generator>Subtext Version 2.5.0.3</generator>
        <image>
            <title>SPBlog.RunsWithElevatedInfo</title>
            <url>http://blog.ksenthil.net/images/RSS2Image.gif</url>
            <link>http://blog.ksenthil.net/Default.aspx</link>
            <width>77</width>
            <height>60</height>
        </image>
        <item>
            <title>Sitefinity 4.0 Webinar</title>
            <category>Sitefinity</category>
            <link>http://blog.ksenthil.net/archive/2010/07/27/Sitefinity-4-0-Webinar.aspx</link>
            <description>&lt;p&gt;Yeah your read it right &lt;strong&gt;Sitefinity&lt;/strong&gt; its not SharePoint. I am using telerik control both Classic &amp;amp; Latest ASP.NET Ajax quite sometime now, telerik has rich set of controls in their stack especially I love the Client API each of the Controls support. In recent past I got a chance to work on a CMS product by telerik called Sitefinity, it a very good CMS, easy to use and learn. I was closing following up for next next version of it because it has lots of Promising features built with it. If you are interested in know what's there in box, Attend the &lt;a href="http://telerikwatch.com/2010/06/q2-2010-webinar-week-registration-is.html"&gt;Webinar&lt;/a&gt;, you can &lt;a href="http://telerikwatch.com/2010/06/q2-2010-webinar-week-registration-is.html"&gt;Register Here.&lt;/a&gt; I am going to watch it.&lt;/p&gt;&lt;img src="http://blog.ksenthil.net/aggbug/22.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Senthil Kumar</dc:creator>
            <guid>http://blog.ksenthil.net/archive/2010/07/27/Sitefinity-4-0-Webinar.aspx</guid>
            <pubDate>Tue, 27 Jul 2010 17:42:57 GMT</pubDate>
            <comments>http://blog.ksenthil.net/archive/2010/07/27/Sitefinity-4-0-Webinar.aspx#feedback</comments>
            <wfw:commentRss>http://blog.ksenthil.net/comments/commentRss/22.aspx</wfw:commentRss>
        </item>
        <item>
            <title>LINQ to SQL or LINQ to Entities &amp;ndash; Answer is</title>
            <category>C#</category>
            <link>http://blog.ksenthil.net/archive/2010/05/27/linq-to-sql-or-linq-to-entities-ndash-answer-is.aspx</link>
            <description>&lt;p&gt;Yeah recently I was presented with this Question, I didn't have Idea on Initially but you will love the answer, the Answer is IT DEPENDS !!!!!&lt;/p&gt;  &lt;p&gt;Both share many similarities and which one you wanted to choose depends on your need that moment. I came across this &lt;a href="http://msdn.microsoft.com/en-us/library/cc161164.aspx"&gt;Nice article&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://blog.ksenthil.net/aggbug/21.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Senthil Kumar</dc:creator>
            <guid>http://blog.ksenthil.net/archive/2010/05/27/linq-to-sql-or-linq-to-entities-ndash-answer-is.aspx</guid>
            <pubDate>Fri, 28 May 2010 02:09:26 GMT</pubDate>
            <comments>http://blog.ksenthil.net/archive/2010/05/27/linq-to-sql-or-linq-to-entities-ndash-answer-is.aspx#feedback</comments>
            <wfw:commentRss>http://blog.ksenthil.net/comments/commentRss/21.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Duplicate SharePoint Lists</title>
            <category>SharePoint 2007</category>
            <link>http://blog.ksenthil.net/archive/2010/02/22/duplicate-sharepoint-lists.aspx</link>
            <description>&lt;p&gt;    Today I came across an Issue where every list I create based on a particular Custom Template was displayed as two in the SharePoint UI and while querying through Object Model. &lt;/p&gt;
&lt;p align="justify"&gt;    It was strange because content, Name, URL etc of the list is exact same. There was no issue while working with this list Add/Edit/Delete &amp;amp; view items worked very fine. It affected while fetching Lists for creating a custom WebPart, because Tasks that was fetched from these list were displayed twice. &lt;/p&gt;
&lt;p style="TEXT-ALIGN: center"&gt;&lt;img alt="" src="/BlogPictures/DuplicateList.png" /&gt; &lt;/p&gt;
&lt;p align="justify"&gt;    When I click on each of the list, each takes me to different view, this was my first clue. After an attempt to delete one of the View to see what happens I came to know that both the View are set as default and I was not able to delete either of them. But using the ViewEdit.aspx it is not possible to set two Views as default, because setting a view to default view will reset earlier default view to false. So the issues traced back to Schema.xml&lt;strong&gt;. &lt;/strong&gt;In List Template Schema we have Tags to define Views for the List. And one attribute of that View Tag is called DefaultView. &lt;/p&gt;
&lt;p align="center"&gt; &lt;img alt="" src="/Blogpictures/default.png" /&gt;&lt;/p&gt;
&lt;p align="justify"&gt;    This attribute was set to TRUE for two views. Setting one of them back to FALSE, solved the issue but only for the new lists, existing list were behaving the same way. I wrote a command line utility will get two views and set one of them to false. &lt;/p&gt;
&lt;p style="MARGIN-LEFT: 108pt"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;span style="COLOR: #2b91af"&gt;SPList&lt;/span&gt; oList = oWeb.Lists[&lt;span style="COLOR: #a31515"&gt;"TheList"&lt;/span&gt;]; &lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN-LEFT: 108pt"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;span style="COLOR: #2b91af"&gt;SPView&lt;/span&gt; spView=oList.Views[&lt;span style="COLOR: #a31515"&gt;"X"&lt;/span&gt;]; &lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;                  spView.DefaultView = &lt;span style="COLOR: blue"&gt;false&lt;/span&gt;; &lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN-LEFT: 108pt"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New" /&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;spView.Update(); &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;                                       &lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;span style="COLOR: green"&gt;//Just setting the View X to be non Default didnt work I &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: green; FONT-FAMILY: Courier New"&gt;             //had to set the other to true forcibly &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;                  spView = oList.Views[&lt;span style="COLOR: #a31515"&gt;"Y"&lt;/span&gt;]; &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;                   spView.DefaultView = &lt;span style="COLOR: blue"&gt;true&lt;/span&gt;; &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;                   spView.Update();&lt;/span&gt; &lt;/p&gt;
&lt;p&gt;As noted in the comment just setting the view X to false didn't work, I had to set the other view to true forcibly. I tried to peek through SPView.Update() code but it was obfuscated. Things that we do in SharePoint using Templates (XML) are just passed in, and any small mistake like this will have major impact as well. So be cautious while working on Templates. &lt;/p&gt;&lt;img src="http://blog.ksenthil.net/aggbug/20.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Senthil Kumar</dc:creator>
            <guid>http://blog.ksenthil.net/archive/2010/02/22/duplicate-sharepoint-lists.aspx</guid>
            <pubDate>Tue, 23 Feb 2010 09:31:59 GMT</pubDate>
            <comments>http://blog.ksenthil.net/archive/2010/02/22/duplicate-sharepoint-lists.aspx#feedback</comments>
            <wfw:commentRss>http://blog.ksenthil.net/comments/commentRss/20.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Viewing Site Storage Allocation Details</title>
            <link>http://blog.ksenthil.net/archive/2010/02/16/viewing-site-storage-allocation-details.aspx</link>
            <description>&lt;p&gt;After long long break blogging again. Today I came across a question "how do I know the space used each of the Items in the Site Collection. On a Quick search I was not able find this info, after few mins of search I ran into this &lt;a href="http://blogs.msdn.com/sowmyancs/archive/2008/11/15/how-to-find-out-the-storage-space-allocation-details-a-site-through-code.aspx"&gt;link&lt;/a&gt;. It shows the complete Information in a Real nice UI. Just to preserve the links in my Site, I am taking note of the reference links.
&lt;/p&gt;&lt;ul style="margin-left: 72pt"&gt;&lt;li&gt;Configure the Quota Limit for the Site Collection. Refer &lt;a href="http://technet.microsoft.com/en-us/library/cc263223.aspx"&gt;this&lt;/a&gt;
		&lt;/li&gt;&lt;li&gt;&lt;div&gt;Open the Site Collection and View &lt;strong&gt;Site Settings-&amp;gt;Site Collection 
&lt;/strong&gt;&lt;/div&gt;&lt;p style="margin-left: 36pt"&gt;&lt;strong&gt;Administrator-&amp;gt;Storage Space Allocation&lt;/strong&gt;. &lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;img src="http://blog.ksenthil.net/aggbug/19.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Senthil Kumar</dc:creator>
            <guid>http://blog.ksenthil.net/archive/2010/02/16/viewing-site-storage-allocation-details.aspx</guid>
            <pubDate>Tue, 16 Feb 2010 17:06:39 GMT</pubDate>
            <comments>http://blog.ksenthil.net/archive/2010/02/16/viewing-site-storage-allocation-details.aspx#feedback</comments>
            <wfw:commentRss>http://blog.ksenthil.net/comments/commentRss/19.aspx</wfw:commentRss>
        </item>
        <item>
            <title>SharePoint 2010 &amp;ndash; Resources</title>
            <category>SharePoint 2010</category>
            <link>http://blog.ksenthil.net/archive/2009/11/06/sharepoint-2010-ndash-resources.aspx</link>
            <description>&lt;blockquote&gt; &lt;p align="justify"&gt;It has been a while since I blogged, I got held up with an &lt;a href="http://blog.ksenthil.net/archive/2009/11/06/new-release.aspx" target="_blank"&gt;important movements in my Life&lt;/a&gt;. And back to the topic , recently Microsoft had a public talk in its &lt;a href="http://www.mssharepointconference.com/" target="_blank"&gt;SharePoint Conference 2009&lt;/a&gt; about the product Microsoft SharePoint 2010, that has created so much of expectation in the field. Unlike MOSS 2007 this release of SharePoint has lots of information right from the day one. I just wanted to share with you the following links that will help you to get started&lt;/p&gt;&lt;/blockquote&gt; &lt;blockquote&gt; &lt;p align="justify"&gt;Prior to the conference Jeff had a three part article posted in the SharePoint Team Blog that gave a complete history of SharePoint, its definitely a must read articles to understand how SharePoint has reached a state of how it is now. &lt;/p&gt; &lt;p&gt;You need to go through the items in the same order as Listed.&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;a href="http://blogs.msdn.com/sharepoint/archive/2009/10/05/sharepoint-history.aspx" target="_blank"&gt;SharePoint History Part 1&lt;/a&gt;  &lt;/li&gt;&lt;li&gt;&lt;a href="http://blogs.msdn.com/sharepoint/archive/2009/10/11/engineering-sharepoint.aspx" target="_blank"&gt;SharePoint History Part 2&lt;/a&gt;  &lt;/li&gt;&lt;li&gt;&lt;a href="http://blogs.msdn.com/sharepoint/archive/2009/10/19/sharepoint-2010.aspx" target="_blank"&gt;SharePoint History Part 3&lt;/a&gt;  &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.mssharepointconference.com/pages/videoplayer.aspx?vhid=7" target="_blank"&gt;Key Note on SharePoint Conference 2009 by Steve Ballmer&lt;/a&gt;  &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.mssharepointconference.com/pages/videoplayer.aspx?vhid=8" target="_blank"&gt;Key note is followed by Jeff Talk&lt;/a&gt;  &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.mssharepointconference.com/pages/videoplayer.aspx?vhid=1" target="_blank"&gt;Tom Rizzo &amp;amp; Apran Shah Demo&lt;/a&gt;  &lt;/li&gt;&lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ee539826(office.14).aspx" target="_blank"&gt;New Features in SharePoint Foundation 2010&lt;/a&gt;  &lt;/li&gt;&lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ee557323(office.14).aspx" target="_blank"&gt;New Features in SharePoint 2010&lt;/a&gt;  &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.andrewconnell.com/blog/archive/2009/10/19/the-new-service-application-architecture-in-sharepoint-server-2010.aspx" target="_blank"&gt;Andrew Connell Article about the SharePoint Foundation 2010 (Previously Know as WSS 3.0)&lt;/a&gt;  &lt;/li&gt;&lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ee662217(office.14).aspx" target="_blank"&gt;Article on Upgrading the SharePoint custom code to 2010&lt;/a&gt;  &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.andrewconnell.com/blog/archive/2009/11/04/sharepoint-2010-changes-to-rendering.aspx" target="_blank"&gt;Change in rendering model by AC&lt;/a&gt;  &lt;/li&gt;&lt;li&gt;And finally there is an new Q &amp;amp; A site exclusively for SharePoint it is called &lt;a href="http://www.sharepointoverflow.com/questions" target="_blank"&gt;SharePointOverflow&lt;/a&gt;.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt; &lt;/p&gt;&lt;/blockquote&gt; &lt;blockquote&gt; &lt;p&gt;At last I am going to upgrade my Desktop to 64 bit, so I will share my experience about the process in the following blog posts.&lt;/p&gt; &lt;div class="wlWriterEditableSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:e73b5d69-e9d5-4252-b00c-8771d9742cfd" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;&lt;a href="http://blog.ksenthil.net/sharepoint2010" rel="tag"&gt;sharepoint2010&lt;/a&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;img src="http://blog.ksenthil.net/aggbug/18.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Senthil Kumar</dc:creator>
            <guid>http://blog.ksenthil.net/archive/2009/11/06/sharepoint-2010-ndash-resources.aspx</guid>
            <pubDate>Sat, 07 Nov 2009 08:50:35 GMT</pubDate>
            <comments>http://blog.ksenthil.net/archive/2009/11/06/sharepoint-2010-ndash-resources.aspx#feedback</comments>
            <wfw:commentRss>http://blog.ksenthil.net/comments/commentRss/18.aspx</wfw:commentRss>
        </item>
        <item>
            <title>New Release</title>
            <link>http://blog.ksenthil.net/archive/2009/11/06/new-release.aspx</link>
            <description>&lt;blockquote&gt; &lt;p align="justify"&gt;Yes, on eighteenth October of two thousand nine, my wife and me blessed with a baby girl. We had named her Diya. Last two weeks was very though as they both had few complication after birth, and by god grace it all went well now. So not to mention now I have an added responsibility.Definitely it is a different feeling to be a dad. Here is how she looks.&lt;/p&gt; &lt;p align="justify"&gt;&lt;a href="http://blog.ksenthil.net/images/blog_ksenthil_net/WindowsLiveWriter/NewRelease_D942/diya.jpg"&gt;&lt;img title="diya" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="530" alt="diya" src="http://blog.ksenthil.net/images/blog_ksenthil_net/WindowsLiveWriter/NewRelease_D942/diya_thumb.jpg" width="701" border="0" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;p align="justify"&gt;Diya I know some day you will read this Post and I wanted to let you know that as always I  love you so much.&lt;/p&gt; &lt;div class="wlWriterEditableSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:5c4d6f7c-ca68-406a-9942-9355fe545414" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;&lt;a href="http://blog.ksenthil.net/personal" rel="tag"&gt;personal&lt;/a&gt;, &lt;a href="http://blog.ksenthil.net/general" rel="tag"&gt;general&lt;/a&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;img src="http://blog.ksenthil.net/aggbug/17.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Senthil Kumar</dc:creator>
            <guid>http://blog.ksenthil.net/archive/2009/11/06/new-release.aspx</guid>
            <pubDate>Sat, 07 Nov 2009 08:30:56 GMT</pubDate>
            <comments>http://blog.ksenthil.net/archive/2009/11/06/new-release.aspx#feedback</comments>
            <wfw:commentRss>http://blog.ksenthil.net/comments/commentRss/17.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Join Two Array &amp;ndash; Zipping</title>
            <category>.NET 4.0</category>
            <link>http://blog.ksenthil.net/archive/2009/08/08/join-two-array-ndash-zipping.aspx</link>
            <description>&lt;p align="justify"&gt;Last week I had a requirement where I need to Join two array,there was no relation that I could use to  join LINQ. &lt;/p&gt;  &lt;pre&gt;Int32[] iArrayOne = {12,34,45,89};&lt;br /&gt;&lt;br /&gt;String[] sArrayTwo= { “Value1”,”value2”,”value3”,”Value4”}&lt;br /&gt;&lt;/pre&gt;

&lt;p align="justify"&gt;Later which I posted a question in &lt;a href="http://stackoverflow.com/questions/1176653/linq-zip-in-string-array" target="_blank"&gt;SO&lt;/a&gt;,in fact it was not possible directly in LINQ.&lt;a href="http://blogs.msdn.com/ericlippert/archive/2009/05/07/zip-me-up.aspx" target="_blank"&gt;Eric&lt;/a&gt; has written a Post that solves my requirement. Yes the operation is termed as Zipping. Until .NET 4.0 we need to use the below snippet to achieve it and starting 4.0 we will have that function as part of the .NET. &lt;/p&gt;

&lt;pre&gt;public static IEnumerable&amp;lt;TResult&amp;gt; Zip&amp;lt;TFirst, TSecond, TResult&amp;gt;&lt;br /&gt;    (this IEnumerable&amp;lt;TFirst&amp;gt; first, &lt;br /&gt;    IEnumerable&amp;lt;TSecond&amp;gt; second, &lt;br /&gt;    Func&amp;lt;TFirst, TSecond, TResult&amp;gt; resultSelector) &lt;br /&gt;{&lt;br /&gt;    if (first == null) throw new ArgumentNullException("first");&lt;br /&gt;    if (second == null) throw new ArgumentNullException("second");&lt;br /&gt;    if (resultSelector == null) throw new ArgumentNullException("resultSelector");&lt;br /&gt;    return ZipIterator(first, second, resultSelector);&lt;br /&gt;} &lt;br /&gt;&lt;br /&gt;private static IEnumerable&amp;lt;TResult&amp;gt; ZipIterator&amp;lt;TFirst, TSecond, TResult&amp;gt;&lt;br /&gt;    (IEnumerable&amp;lt;TFirst&amp;gt; first, &lt;br /&gt;    IEnumerable&amp;lt;TSecond&amp;gt; second, &lt;br /&gt;    Func&amp;lt;TFirst, TSecond, TResult&amp;gt; resultSelector) &lt;br /&gt;{&lt;br /&gt;    using (IEnumerator&amp;lt;TFirst&amp;gt; e1 = first.GetEnumerator())&lt;br /&gt;        using (IEnumerator&amp;lt;TSecond&amp;gt; e2 = second.GetEnumerator())&lt;br /&gt;            while (e1.MoveNext() &amp;amp;&amp;amp; e2.MoveNext())&lt;br /&gt;                yield return resultSelector(e1.Current, e2.Current);&lt;br /&gt;} &lt;br /&gt;&lt;/pre&gt;

&lt;pre&gt;Zipping operation is defined as 
var qry = from row in iArrayOne.Zip(sArrayTwo, (temp1, temp2) =&amp;gt; &lt;br /&gt;new { ArrayObject1 = temp1, ArrayObject2 = temp2 })&lt;/pre&gt;

&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:eca7dc16-888a-467b-83db-3e8aa805d03a" class="wlWriterEditableSmartContent"&gt;&lt;span class="tags"&gt;Tags : &lt;a href="http://blog.ksenthil.net/tags/.NET+4.0/default.aspx" rel="tag"&gt;.NET 4.0&lt;/a&gt;, &lt;a href="http://blog.ksenthil.net/tags/LINQ/default.aspx" rel="tag"&gt;LINQ&lt;/a&gt; &lt;/span&gt;&lt;/div&gt;&lt;img src="http://blog.ksenthil.net/aggbug/16.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Senthil Kumar</dc:creator>
            <guid>http://blog.ksenthil.net/archive/2009/08/08/join-two-array-ndash-zipping.aspx</guid>
            <pubDate>Sun, 09 Aug 2009 11:11:25 GMT</pubDate>
            <comments>http://blog.ksenthil.net/archive/2009/08/08/join-two-array-ndash-zipping.aspx#feedback</comments>
            <wfw:commentRss>http://blog.ksenthil.net/comments/commentRss/16.aspx</wfw:commentRss>
        </item>
        <item>
            <title>SharePoint Getting Started</title>
            <category>SharePoint 2007</category>
            <category>SharePoint 2010</category>
            <link>http://blog.ksenthil.net/archive/2009/07/30/sharepoint-getting-started.aspx</link>
            <description>&lt;p&gt;Few weeks back I saw a question in the &lt;a href="http://stackoverflow.com/questions/1141687" target="_blank"&gt;Stackoverflow&lt;/a&gt;. The question was &lt;em&gt;&lt;strong&gt;How to start learning SharePoint&lt;/strong&gt;&lt;/em&gt;. Well at first it seem simple, I couldn't get an answer straight away. I did a Google but no luck all links I landed up was about some SharePoint books. The user who posted the question specifically mentioned that he doesn't want go through books to get the hold of it. Well I am of the same kind I hate going through 500+ pages books. Finally I answer the question on how I learnt SharePoint. Below is my answer for the question.&lt;/p&gt;  &lt;p&gt;First step is to get created with a SharePoint site, from your System admin. &lt;/p&gt;  &lt;p&gt;If you are the one who need to kick start the SharePoint. Then follow the steps and for each of the steps you can find ample number of links using Google &lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Install SharePoint and Configure it. &lt;/li&gt;    &lt;li&gt;Create a Site Collection &lt;/li&gt;    &lt;li&gt;Go to the Site and in the Right Corner you will find a Menu called &lt;strong&gt;Site Settings&lt;/strong&gt; &lt;/li&gt;    &lt;li&gt;Select that and play around with each and every options out there. &lt;/li&gt;    &lt;li&gt;Most of the options can be understood by the Name &lt;/li&gt;    &lt;li&gt;If you struck up some where come to &lt;strong&gt;&lt;a href="http://www.stackoverflow.com"&gt;SO&lt;/a&gt;&lt;/strong&gt; or Start over again. &lt;/li&gt;    &lt;li&gt;Make sure that you always ask the question why this behaves this way &amp;amp; why this implemented this way. &lt;/li&gt;    &lt;li&gt;Try creating pages Same Site Settings Menu has option to create page. &lt;/li&gt;    &lt;li&gt;There is some thing called Web Part which is actually a Pluggable component UI/ functionally which can be customized as per the user needs. &lt;/li&gt;    &lt;li&gt;Try using those web parts (Lost of Out of the Box) &lt;/li&gt;    &lt;li&gt;Later move in to Web Part development,create your own, deploy it &lt;/li&gt;    &lt;li&gt;Start using the Microsoft.SharePoint.dll to access the SharePoint site using you custom code. &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;To give you a brief description. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Microsoft Office SharePoint Server 2007 is an integrated suite of server capabilities that can help improve organizational effectiveness by providing comprehensive content management and enterprise search, accelerating shared business processes, and facilitating information-sharing across boundaries for better business insight. Additionally, this collaboration and content management server provides IT professionals and developers with the platform and tools they need for server administration, application extensibility, and interoperability.&lt;/strong&gt; &lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;I call it as Application development platform &lt;/li&gt;    &lt;li&gt;For anything you wanted to do there will be a option directly / indirectly in SharePoint &lt;/li&gt;    &lt;li&gt;Basically it is a Web Application built on top of ASP.NET 2.0 &lt;/li&gt;    &lt;li&gt;Main entry point to it is an Web Application (Central Administration Site) you get this once you install SharePoint. &lt;/li&gt;    &lt;li&gt;This is where you can Create Web Application (Nothing but a Site in the IIS &amp;amp; Content DB) &lt;/li&gt;    &lt;li&gt;Yes you read it right Database,SharePoint stores all its content in Database &lt;/li&gt;    &lt;li&gt;Web Application is directly not usable (Its like empty DB and Empty IIS site) you need to have some content to be display to the user. &lt;/li&gt;    &lt;li&gt;Then Site collection comes, it give content to the User.You need to at least create Site collection under Web Application (Through Central Admin). &lt;/li&gt;    &lt;li&gt;While Creating Site Collection you will be provided with a Site Template (Template is nothing but a Blue print sort of thing that will dictate what your site will look like and what it have) there are template For Project Management,Bug Tracking (has options to track Bug, kind of basic infrastructure that will be needed in any Bug Tracking system). &lt;/li&gt;    &lt;li&gt;Next level is Sub site, under site collection you can have Site( here too you have an option to select the template), and under that Site you can have another Sub Site so on. &lt;/li&gt;    &lt;li&gt;And there is another important thing in SharePoint called &lt;strong&gt;List&lt;/strong&gt;, its a similar to Table in SQL server but not exactly same (because list content are internally stored in SQL Tables), and List contains Fields (Similar to Column in Table). You can use them to store your custom data. While creating the list also you will have Templates (Say for example to Represent a Announcement you have a template, this will have all the fields that are needed to represent announcement) &lt;/li&gt;    &lt;li&gt;And you have a Option to Create your own List Structure as well. &lt;/li&gt;    &lt;li&gt;There is a special kind of List in SharePoint called Document Library which can store documents. &lt;/li&gt;    &lt;li&gt;One final thing &lt;strong&gt;Security&lt;/strong&gt;, managing Security is out of the Box. You can control who has access to you Site and what they can Access (Only Announcement , only Published documents) and what they can do with the item (Edit/Read-only/Delete) etc. &lt;/li&gt;    &lt;li&gt;You can create fine grained permission as you wish. &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;Welcome to &lt;strong&gt;THE SHAREPOINT WORLD&lt;/strong&gt;&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:19bc58af-fbce-4b05-8a50-89039aed8872" class="wlWriterEditableSmartContent"&gt;&lt;span class="tags"&gt;Tags : &lt;a href="http://blog.ksenthil.net/tags/getting+started+sharepoint/default.aspx" rel="tag"&gt;getting started sharepoint&lt;/a&gt; &lt;/span&gt;&lt;/div&gt;&lt;img src="http://blog.ksenthil.net/aggbug/15.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Senthil Kumar</dc:creator>
            <guid>http://blog.ksenthil.net/archive/2009/07/30/sharepoint-getting-started.aspx</guid>
            <pubDate>Thu, 30 Jul 2009 17:09:51 GMT</pubDate>
            <comments>http://blog.ksenthil.net/archive/2009/07/30/sharepoint-getting-started.aspx#feedback</comments>
            <wfw:commentRss>http://blog.ksenthil.net/comments/commentRss/15.aspx</wfw:commentRss>
        </item>
        <item>
            <title>.NET 4.0 &amp;ndash; Part 1</title>
            <category>.NET 4.0</category>
            <category>ASP.NET</category>
            <link>http://blog.ksenthil.net/archive/2009/07/29/net-40-e28093-part-1.aspx</link>
            <description>&lt;p align="justify"&gt;You should be aware that .Net 4.0 is currently in CTP and I am currently in process of exploring the new features in .Net 4.0. Channel9 have a good series of &lt;a href="http://channel9.msdn.com/10-4/"&gt;videos&lt;/a&gt; that will help you to get started. This is where I started my journey towards .Net 4.0. I would like to share all the learning I had from the above videos and additions to that I would like to share few items that I noticed during my learning. Altogether you will find information about .Net 4.0, ASP.NET Visual Studio 2010. How well it integrates with SharePoint &amp;amp; more. To practice this you will need a CTP version of Visual Studio 2010 and .Net FX 4.0. You can download it from this &lt;a href="http://tinyurl.com/GetCTP"&gt;location&lt;/a&gt;. Also be sure to follow &lt;a href="http://channel9.msdn.com/shows/10-4/10-4-Episode-1-Working-with-the-Visual-Studio-2010-CTP-VPC/"&gt;these&lt;/a&gt; steps before you open the Visual Studio 2010 because it comes with a hardcoded value of 1 Jan 09 as expire date.&lt;/p&gt;  &lt;p&gt;[&lt;strong&gt;&lt;span style="color: #ff0000"&gt;Update: June 21,2009 :&lt;/span&gt;&lt;/strong&gt; .Net 4.0 and Visual Studio 2010 Beta 1 is now available, please refer to the &lt;a href="http://tinyurl.com/vs2010beta1" target="_blank"&gt;post &lt;/a&gt;for more information.]&lt;/p&gt;  &lt;p&gt;This article will host Table of Links for the all Upcoming posts.&lt;/p&gt;  &lt;table border="1" cellspacing="0" cellpadding="2" width="400"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="400"&gt;&lt;strong&gt;ASP.NET 4.0&lt;/strong&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="400"&gt;ClientID (this) &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="400"&gt;&lt;a title="EnableViewStage &amp;amp; ViewStateMode" href="http://weblogs.asp.net/despos/archive/2009/06/13/asp-net-4-0-more-control-on-viewstate-management.aspx" target="_blank"&gt;EnableViewStage &amp;amp; ViewStateMode&lt;/a&gt;(Refering Dino's Post) &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="400"&gt;&lt;strong&gt;C# 4.0&lt;/strong&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="400"&gt;&lt;a href="http://skurocks.wordpress.com/2009/05/06/optional-parameter-named-arguments-default-values-c-40/" target="_self"&gt;Named and Optional Parameters&lt;/a&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="400"&gt;&lt;strong&gt;Visual Studio 2010&lt;/strong&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="400"&gt;&lt;a href="http://skurocks.wordpress.com/2009/06/21/asp-net-4-0-snippet/"&gt;Snippets option for ASP.NET and HTML code&lt;/a&gt;  &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p align="justify"&gt;One feature that has everyone's attention when it comes to ASP.NET 4.0 is ClientID. Till now we had the ClientID as the getter and renders the id based on the naming container, from 4.0 we will be able to decide how the client ID is render to the browser. Each of the server control in the ASP.NET 4.0 has three new Properties that decide how the client Id is rendered.&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;&lt;strong&gt;ClientID&lt;/strong&gt;                 -    ID that we wish to give to the server control when rendered to                                               the browser. &lt;/li&gt;    &lt;li&gt;     &lt;div&gt;&lt;strong&gt;ClientIDMode&lt;/strong&gt;        -    Mode that decides how the client ID is generated.Can            anyone of the following value&lt;/div&gt;   &lt;/li&gt; &lt;/ol&gt;  &lt;ul style="margin-left: 108pt"&gt;   &lt;li&gt;     &lt;div align="justify"&gt;Inherit         -    Gets the mode that is set to the parent. &lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;Predictable    -    Gives us an option to predict the ClientID that is goingto get rendered. (In the case of data bound control it generates a auto increment number&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;Legacy        -    No change works as like the previous version and thisis the default value.&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;Static        -    Static value that we set will render as it is.&lt;/div&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p align="justify"&gt;      3. &lt;strong&gt;RowClientIDSuffix&lt;/strong&gt;    -    Sometimes when we use the Predictable option for ClientIDMode we might need to have a different pattern of the value as the suffix rather than having auto increment. In such a case we can provide a Comma Separated Value of Data Fields (Off course this option is available for the data bound controls) so the client Id will have the value of the Data field appended to the suffix.&lt;/p&gt;  &lt;p&gt;Let's see an Example of the above. I have a User Control (ClientIDUserControl.ascx) with a Label inside that, which is used in the page. You can see my project structure in the screen shot.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;ClientIDMode:: Legacy&lt;/strong&gt; : In the below picture you will see the even though I set the client ID of the Label control it renders client ID based on the naming container, because by default the ClientIDMode is Legacy, I didn't specified the ClientIDMode attribute so it defaults to Legacy.&lt;/p&gt;  &lt;p&gt;&lt;img alt="" src="http://skurocks.files.wordpress.com/2009/04/042109-0652-net40part1.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;ClientIDMode:: Static&lt;/strong&gt; : In the below picture you will see that both the client ID and ClientIDMode (Static) is set hence the client ID that is rendered to the client is same as the one we set in the Code.&lt;/p&gt;  &lt;p&gt;&lt;img alt="" src="http://skurocks.files.wordpress.com/2009/04/042109-0652-net40part2.jpg" /&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;strong&gt;ClientIDMode:: Inherit&lt;/strong&gt; : In the below picture you will see that client id that was rendered is based on the Naming container because for the Label I set the ClientIDMode as Inherit. Because of this label check its parent (in this case it's the User Control) for the ClientIDMode and as it doesn't have one it goes to the Page and checks for the ClientIDMode, as &lt;strong&gt;page&lt;/strong&gt; as well doesn't have one, it further goes to the web config and check for the ClientIDMode and as it doesn't have one it by defaults to the Legacy mode. You can also set the ClientIDMode property at the page or the WebApplication level.Refer to the notes section at the end of the article.&lt;/p&gt;  &lt;p&gt;&lt;img alt="" src="http://skurocks.files.wordpress.com/2009/04/042109-0652-net40part3.jpg" /&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;strong&gt;ClientIDMode:: Predictable&lt;/strong&gt; : In the below picture you will see that ClientIDMode is set to &lt;strong&gt;Predictable&lt;/strong&gt; and ClientID is set to "deleteEmployee" and as a result it renders the client id as a AutoIncremented value "DeleteEmployee_0" and soon. When setting the Predictable make sure that Parent control also has the ClientIDMode value set. Refer notes section in the end of the article.&lt;/p&gt;  &lt;p&gt;&lt;img alt="" src="http://skurocks.files.wordpress.com/2009/04/042109-0652-net40part4.jpg" /&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;strong&gt;ClientIDMode:Predictable and RowClientIDSuffix:      &lt;br /&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;strong&gt;    &lt;/strong&gt;When using the Predicatble option there is another tweak we can perform that is to generate our own predictable ID rather than using the auto incremented value of (0,1,2 …).In the below picture I have used &lt;strong&gt;RowClientIDSuffix &lt;/strong&gt;to ID and Company, hence the rendered element has the ID in the format DeleteEmployee_&lt;strong&gt;[ID]_[Company]&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;img alt="" src="http://skurocks.files.wordpress.com/2009/04/042109-0652-net40part5.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Notes:      &lt;br /&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;ol style="margin-left: 54pt"&gt;   &lt;li&gt;     &lt;div align="justify"&gt;While using the &lt;strong&gt;ClientIDMode&lt;/strong&gt;=&lt;strong&gt;"Predictable"&lt;/strong&gt; you need to set the &lt;strong&gt;ClientIDMode&lt;/strong&gt; property in the parent control as well else the ClientID generated by the client control will not have the predictable value, it will default to Naming container method of generating the ID. In the above case I have set the ClientIDMode of the GridView to &lt;strong&gt;Static&lt;/strong&gt; and the CheckBox which is the child control to Predictable. &lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;In addition to the setting the &lt;strong&gt;ClientIDMode&lt;/strong&gt; to the each and every control you can set this value at the Page Level or at the Application level &lt;strong&gt;(Web.Config).&lt;/strong&gt;When there is no explicitly set &lt;strong&gt;ClientIDMode&lt;/strong&gt; to any of the control it will get the value from the page or Web.Config level if one is set else it default to the &lt;strong&gt;legacy&lt;/strong&gt; mode.  &lt;/div&gt;   &lt;/li&gt; &lt;/ol&gt;  &lt;div&gt;   &lt;table style="border-collapse: collapse" border="0"&gt;&lt;colgroup&gt;&lt;col /&gt;&lt;col /&gt;&lt;col /&gt;&lt;col /&gt;&lt;col /&gt;&lt;/colgroup&gt;&lt;tbody&gt;       &lt;tr style="height: 20px"&gt;         &lt;td style="border-bottom: #c0504d 0.5pt solid; border-right-style: none; padding-left: 7px; padding-right: 7px; border-left-style: none; border-top: #c0504d 0.5pt solid" valign="bottom"&gt;&lt;span style="color: #953735"&gt;&lt;strong&gt;Mode&lt;/strong&gt;&lt;/span&gt;&lt;/td&gt;          &lt;td style="border-bottom: #c0504d 0.5pt solid; border-right-style: none; padding-left: 7px; padding-right: 7px; border-left-style: none; border-top: #c0504d 0.5pt solid" valign="bottom"&gt;&lt;span style="color: #953735"&gt;&lt;strong&gt;ID&lt;/strong&gt;&lt;/span&gt;&lt;/td&gt;          &lt;td style="border-bottom: #c0504d 0.5pt solid; border-right-style: none; padding-left: 7px; padding-right: 7px; border-left-style: none; border-top: #c0504d 0.5pt solid" valign="bottom"&gt;&lt;span style="color: #953735"&gt;&lt;strong&gt;ClientID&lt;/strong&gt;&lt;/span&gt;&lt;/td&gt;          &lt;td style="border-bottom: #c0504d 0.5pt solid; border-right-style: none; padding-left: 7px; padding-right: 7px; border-left-style: none; border-top: #c0504d 0.5pt solid" valign="bottom"&gt;&lt;span style="color: #953735"&gt;&lt;strong&gt;Suffix&lt;/strong&gt;&lt;/span&gt;&lt;/td&gt;          &lt;td style="border-bottom: #c0504d 0.5pt solid; border-right-style: none; padding-left: 7px; padding-right: 7px; border-left-style: none; border-top: #c0504d 0.5pt solid" valign="bottom"&gt;&lt;span style="color: #953735"&gt;&lt;strong&gt;Client ID At the Browser&lt;/strong&gt;&lt;/span&gt;&lt;/td&gt;       &lt;/tr&gt;        &lt;tr style="background: #f2dddc; height: 20px"&gt;         &lt;td style="border-bottom-style: none; border-right-style: none; padding-left: 7px; padding-right: 7px; border-top-style: none; border-left-style: none" valign="bottom"&gt;&lt;span style="color: #953735"&gt;Legacy/Nothing Set&lt;/span&gt;&lt;/td&gt;          &lt;td style="border-bottom-style: none; border-right-style: none; padding-left: 7px; padding-right: 7px; border-top-style: none; border-left-style: none" valign="bottom"&gt;&lt;span style="color: #953735"&gt;A&lt;/span&gt;&lt;/td&gt;          &lt;td style="border-bottom-style: none; border-right-style: none; padding-left: 7px; padding-right: 7px; border-top-style: none; border-left-style: none" valign="bottom"&gt;&lt;span style="color: #953735"&gt;C&lt;/span&gt;&lt;/td&gt;          &lt;td style="border-bottom-style: none; border-right-style: none; padding-left: 7px; padding-right: 7px; border-top-style: none; border-left-style: none" valign="bottom"&gt;&lt;span style="color: #953735"&gt;-&lt;/span&gt;&lt;/td&gt;          &lt;td style="border-bottom-style: none; border-right-style: none; padding-left: 7px; padding-right: 7px; border-top-style: none; border-left-style: none" valign="bottom"&gt;&lt;span style="color: #953735"&gt;[ParentNamingContanierID]_A&lt;/span&gt;&lt;/td&gt;       &lt;/tr&gt;        &lt;tr style="height: 20px"&gt;         &lt;td style="border-bottom-style: none; border-right-style: none; padding-left: 7px; padding-right: 7px; border-top-style: none; border-left-style: none" valign="bottom"&gt;&lt;span style="color: #953735"&gt;Static&lt;/span&gt;&lt;/td&gt;          &lt;td style="border-bottom-style: none; border-right-style: none; padding-left: 7px; padding-right: 7px; border-top-style: none; border-left-style: none" valign="bottom"&gt;&lt;span style="color: #953735"&gt;A&lt;/span&gt;&lt;/td&gt;          &lt;td style="border-bottom-style: none; border-right-style: none; padding-left: 7px; padding-right: 7px; border-top-style: none; border-left-style: none" valign="bottom"&gt;&lt;span style="color: #953735"&gt;C&lt;/span&gt;&lt;/td&gt;          &lt;td style="border-bottom-style: none; border-right-style: none; padding-left: 7px; padding-right: 7px; border-top-style: none; border-left-style: none" valign="bottom"&gt;&lt;span style="color: #953735"&gt;-&lt;/span&gt;&lt;/td&gt;          &lt;td style="border-bottom-style: none; border-right-style: none; padding-left: 7px; padding-right: 7px; border-top-style: none; border-left-style: none" valign="bottom"&gt;&lt;span style="color: #953735"&gt;C&lt;/span&gt;&lt;/td&gt;       &lt;/tr&gt;        &lt;tr style="background: #f2dddc; height: 20px"&gt;         &lt;td style="border-bottom-style: none; border-right-style: none; padding-left: 7px; padding-right: 7px; border-top-style: none; border-left-style: none" valign="bottom"&gt;&lt;span style="color: #953735"&gt;Predictable&lt;/span&gt;&lt;/td&gt;          &lt;td style="border-bottom-style: none; border-right-style: none; padding-left: 7px; padding-right: 7px; border-top-style: none; border-left-style: none" valign="bottom"&gt;&lt;span style="color: #953735"&gt;A&lt;/span&gt;&lt;/td&gt;          &lt;td style="border-bottom-style: none; border-right-style: none; padding-left: 7px; padding-right: 7px; border-top-style: none; border-left-style: none" valign="bottom"&gt;&lt;span style="color: #953735"&gt;C&lt;/span&gt;&lt;/td&gt;          &lt;td style="border-bottom-style: none; border-right-style: none; padding-left: 7px; padding-right: 7px; border-top-style: none; border-left-style: none" valign="bottom"&gt;&lt;span style="color: #953735"&gt;-&lt;/span&gt;&lt;/td&gt;          &lt;td style="border-bottom-style: none; border-right-style: none; padding-left: 7px; padding-right: 7px; border-top-style: none; border-left-style: none" valign="bottom"&gt;&lt;span style="color: #953735"&gt;C_0,C_1&lt;/span&gt;&lt;/td&gt;       &lt;/tr&gt;        &lt;tr style="height: 20px"&gt;         &lt;td style="border-bottom: #c0504d 0.5pt solid; border-right-style: none; padding-left: 7px; padding-right: 7px; border-top-style: none; border-left-style: none" valign="bottom"&gt;&lt;span style="color: #953735"&gt;Predictable&lt;/span&gt;&lt;/td&gt;          &lt;td style="border-bottom: #c0504d 0.5pt solid; border-right-style: none; padding-left: 7px; padding-right: 7px; border-top-style: none; border-left-style: none" valign="bottom"&gt;&lt;span style="color: #953735"&gt;A&lt;/span&gt;&lt;/td&gt;          &lt;td style="border-bottom: #c0504d 0.5pt solid; border-right-style: none; padding-left: 7px; padding-right: 7px; border-top-style: none; border-left-style: none" valign="bottom"&gt;&lt;span style="color: #953735"&gt;C&lt;/span&gt;&lt;/td&gt;          &lt;td style="border-bottom: #c0504d 0.5pt solid; border-right-style: none; padding-left: 7px; padding-right: 7px; border-top-style: none; border-left-style: none" valign="bottom"&gt;&lt;span style="color: #953735"&gt;ID&lt;/span&gt;&lt;/td&gt;          &lt;td style="border-bottom: #c0504d 0.5pt solid; border-right-style: none; padding-left: 7px; padding-right: 7px; border-top-style: none; border-left-style: none" valign="bottom"&gt;&lt;span style="color: #953735"&gt;C_[ID],C_[IDNext]&lt;/span&gt;&lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/div&gt;  &lt;p&gt;   &lt;/p&gt;&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:fff4e3cf-ded8-4871-a05a-3342667bb36a" class="wlWriterEditableSmartContent"&gt;&lt;span class="tags"&gt;Tags : &lt;a href="http://blog.ksenthil.net/tags/ASP.NET/default.aspx" rel="tag"&gt;ASP.NET&lt;/a&gt;, &lt;a href="http://blog.ksenthil.net/tags/.NET+4.0/default.aspx" rel="tag"&gt;.NET 4.0&lt;/a&gt;, &lt;a href="http://blog.ksenthil.net/tags/Visual+Studio+2010/default.aspx" rel="tag"&gt;Visual Studio 2010&lt;/a&gt;, &lt;a href="http://blog.ksenthil.net/tags/ASP.NET+4.0/default.aspx" rel="tag"&gt;ASP.NET 4.0&lt;/a&gt; &lt;/span&gt;&lt;/div&gt;&lt;img src="http://blog.ksenthil.net/aggbug/14.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Senthil Kumar</dc:creator>
            <guid>http://blog.ksenthil.net/archive/2009/07/29/net-40-e28093-part-1.aspx</guid>
            <pubDate>Wed, 29 Jul 2009 18:20:28 GMT</pubDate>
            <comments>http://blog.ksenthil.net/archive/2009/07/29/net-40-e28093-part-1.aspx#feedback</comments>
            <wfw:commentRss>http://blog.ksenthil.net/comments/commentRss/14.aspx</wfw:commentRss>
        </item>
        <item>
            <title>A control with the specified ID could not be found within the scope of the current naming container : SPGridView &amp;ndash; SPMenuField</title>
            <category>SharePoint 2007</category>
            <link>http://blog.ksenthil.net/archive/2009/07/27/a-control-with-the-specified-id-could-not-be-found-again.aspx</link>
            <description>&lt;p align="justify"&gt;Lately I was working on the &lt;a href="http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.webcontrols.spgridview.aspx" target="_blank"&gt;SPGridView&lt;/a&gt; provided by SharePoint.One of the requirement I had was to have a column in &lt;a href="http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.webcontrols.spgridview.aspx" target="_blank"&gt;SPGridView&lt;/a&gt; as a Menu one that is similar to ECB of the List items, it  was straight forward, refer to the &lt;a href="http://blogs.msdn.com/powlo/archive/2007/02/25/displaying-custom-data-through-sharepoint-lists-using-spgridview-and-spmenufield.aspx" target="_blank"&gt;Paul article&lt;/a&gt; for the example, though the example was targeted towards building Webpart and controls were created programmatically, converting it to work with UserControl is not a big deal, Visual Studio Intellisense will help you and Property names are pretty straight forward.&lt;/p&gt;  &lt;p align="justify"&gt;While I was adding a &lt;a href="http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.webcontrols.spmenufield_members.aspx" target="_blank"&gt;SPMenuField&lt;/a&gt; there were couple of Properties of &lt;a href="http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.webcontrols.spmenufield_members.aspx" target="_blank"&gt;SPMenuField&lt;/a&gt; that drawn my attention.&lt;/p&gt;  &lt;p align="justify"&gt;To help you understand the issue better I have given the screen shot of my code {bear with me As I don't have a tool that will format the code with color, I have given it as a screenshot,so that it will be easy to understand}&lt;/p&gt;  &lt;h2&gt;HiddenMenuItemIdsFields&lt;/h2&gt;  &lt;p align="justify"&gt;From the name of the property it is clear that it will help us to define which menu item that needs to be Hidden. So I jumped in to and gave the Id of one of the MenuItemTemplate I wanted to disable in my case &lt;strong&gt;MenuItemTemplate1&lt;/strong&gt;, result &lt;strong&gt;System.InvalidOperationException: Field not found: MenuItemTemplate1&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;ul&gt;     &lt;ul&gt;       &lt;ul&gt;         &lt;ul&gt;           &lt;ul&gt;             &lt;ul&gt;               &lt;p align="justify"&gt;&lt;a href="http://blog.ksenthil.net/blogpictures/AcontrolwiththespecifiedIDcouldnotbefoun_14E0E/SPMenuTemplate.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="SPMenuTemplate" border="0" alt="SPMenuTemplate" src="http://blog.ksenthil.net/blogpictures/AcontrolwiththespecifiedIDcouldnotbefoun_14E0E/SPMenuTemplate_thumb.png" width="599" height="265" /&gt;&lt;/a&gt;  &lt;/p&gt;                &lt;p align="justify"&gt;From the exception I got, it was pretty clear that it is expecting a &lt;strong&gt;Field&lt;/strong&gt; from the DataSource, List in our case. So Next thing I tried was to put a &lt;strong&gt;Field&lt;/strong&gt; in the &lt;strong&gt;List&lt;/strong&gt;, instead of the Id of the &lt;strong&gt;MenuItemTemplate&lt;/strong&gt;, and now I got &lt;strong&gt;System.ArgumentException: A control with the specified ID could not be found within the scope of the current naming container: XYZ, &lt;/strong&gt;this time It gave me different exception. I ran through net and didn't find any thing that gave a right approach. Finally after going through the Reflector and  with the Value of &lt;strong&gt;XYZ &lt;/strong&gt;in the Exception Message I got the actual meaning of it. &lt;/p&gt;                &lt;blockquote&gt;                 &lt;p align="justify"&gt;It means that &lt;strong&gt;HiddenMenuItemIdsFields&lt;/strong&gt; expects a field from the list, whose  value corresponds to the &lt;strong&gt;MenuItemTemplate &lt;/strong&gt;that needs to be hidden. &lt;/p&gt;               &lt;/blockquote&gt;                &lt;p align="justify"&gt;And if this confuses you refer the below diagram.&lt;/p&gt;                &lt;p align="justify"&gt; &lt;/p&gt;                &lt;p align="justify"&gt;&lt;a href="http://blog.ksenthil.net/blogpictures/AcontrolwiththespecifiedIDcouldnotbefoun_14E0E/SPMenuTemplate1.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="SPMenuTemplate1" border="0" alt="SPMenuTemplate1" src="http://blog.ksenthil.net/blogpictures/AcontrolwiththespecifiedIDcouldnotbefoun_14E0E/SPMenuTemplate1_thumb.png" width="594" height="147" /&gt;&lt;/a&gt; &lt;/p&gt;                &lt;p align="justify"&gt; &lt;/p&gt;                &lt;p align="justify"&gt;I have two column in the List “&lt;strong&gt;Title,MenuItemValueToDisable&lt;/strong&gt;” the trick is in &lt;strong&gt;MenuItemValueToDisable&lt;/strong&gt; field. We need to set the value For &lt;strong&gt;HiddenMenuItemIdsField&lt;/strong&gt;=”&lt;strong&gt;MenuItemValueToDisable&lt;/strong&gt;” and the value in the Field should have an Id of the &lt;strong&gt;MenuItemTemplate&lt;/strong&gt;. As in the example I have two value respective to the each of the MenuItemTemplate I have defined so for the first row I will not have the “&lt;strong&gt;Details&lt;/strong&gt;” menu option and for the second &lt;strong&gt;More Details&lt;/strong&gt; menu option will be disabled.&lt;/p&gt;                &lt;p align="justify"&gt;Same rule applies for the following fields as well &lt;/p&gt;             &lt;/ul&gt;              &lt;li&gt;&lt;strong&gt;DisabledMenuItemIdsFields&lt;/strong&gt; - (Not only the Single field you can give more than one fields separated by comma) &lt;/li&gt;              &lt;li&gt;&lt;strong&gt;CheckedMenuItemIdsFields&lt;/strong&gt; (I didn't know how to use it – If someone has used it please let me know I can I utilize it)(Not only the Single field you can give more than one fields separated by comma) &lt;/li&gt;              &lt;li&gt;&lt;strong&gt;MenuTemplateIdField&lt;/strong&gt;  - One one Field is accepted here. &lt;/li&gt;           &lt;/ul&gt; The fields you have specified for any of the above property should have a valid value, in case if it has value.If it is empty there will not be any error, control will render all the menus.             &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:79ba7b2d-c88f-4913-8a46-be5713af03c7" class="wlWriterEditableSmartContent"&gt;&lt;span class="tags"&gt;Tags : &lt;a href="http://blog.ksenthil.net/tags/sharepoint/default.aspx" rel="tag"&gt;sharepoint&lt;/a&gt;, &lt;a href="http://blog.ksenthil.net/tags/customization/default.aspx" rel="tag"&gt;customization&lt;/a&gt;, &lt;a href="http://blog.ksenthil.net/tags/SPGridView/default.aspx" rel="tag"&gt;SPGridView&lt;/a&gt;, &lt;a href="http://blog.ksenthil.net/tags/SPMenuField/default.aspx" rel="tag"&gt;SPMenuField&lt;/a&gt; &lt;/span&gt;&lt;/div&gt;         &lt;/ul&gt;       &lt;/ul&gt;     &lt;/ul&gt;   &lt;/ul&gt; &lt;/ul&gt;&lt;img src="http://blog.ksenthil.net/aggbug/13.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Senthil Kumar</dc:creator>
            <guid>http://blog.ksenthil.net/archive/2009/07/27/a-control-with-the-specified-id-could-not-be-found-again.aspx</guid>
            <pubDate>Tue, 28 Jul 2009 05:06:56 GMT</pubDate>
            <comments>http://blog.ksenthil.net/archive/2009/07/27/a-control-with-the-specified-id-could-not-be-found-again.aspx#feedback</comments>
            <wfw:commentRss>http://blog.ksenthil.net/comments/commentRss/13.aspx</wfw:commentRss>
        </item>
    </channel>
</rss>