Wednesday, December 4, 2013

Code to Get the SharePoint Central administration site UR


Code to Get the SharePoint Central administration site URL:

Add namespace:
using Microsoft.Sharepoint.Administration;

Add below code
 
Microsoft.SharePoint.Administration.SPAdministrationWebApplication centralWeb =
SPAdministrationWebApplication.Local;
          
string webAppUrl = centralWeb.Sites[0].Url;

Tuesday, December 3, 2013

How to access added item values of List Item in ItemAdded event handlers into SharePoint

 
 Code:
 
 
public override void ItemAdded(SPItemEventProperties properties)
        {
            base.ItemAdded(properties);
            string strTitle = string.Empty;
           using (SPSite site = new SPSite(properties.WebUrl))
           {
           using (SPWeb web = site.OpenWeb())
           {
           SPList list = web.Lists[properties.ListTitle ];
           SPListItem item = list.GetItemByIdSelectedFields(properties.ListItemId, "Title");
           strTitle = (String)item.DisplayName ;
            }
            }
 

Working with BeforeProperties and AfterProperties on SPItemEventReceiver

Here are the results for a list:
List
BeforeProperties
AfterProperties
properties.ListItem
ItemAdding
No value
New value
Null
ItemAdded
No value
New value
New value
ItemUpdating
No value
Changed value
Original value
ItemUpdated
No value
Changed value
Changed value
ItemDeleting
No value
No value
Original value
ItemDeleted
No value
No value
Null
No value means that column value in the hash table was not available. 
New value means that the correct value for the column was available. 
Changed value means that the correct updated value was available.
Original value means that the correct original value was available.
Here is the same test against a document library:
Library
BeforeProperties
AfterProperties
properties.ListItem
ItemAdding
No value
No value
Null
ItemAdded
No value
No value
New value
ItemUpdating
Original value
Changed value
Original value
ItemUpdated
Original value
Changed value
Changed value
ItemDeleting
No value
No value
Original value
ItemDeleted
No value
No value
Null

Properties.ListItem refers the the current value for the list item at that point in the event.  Null means that the item is not available.  My analysis yields the following results:
  • Not surprisingly, we get null values for for ItemAdding (before item is added) and ItemDeleted (after item is deleted). 
  • As correctly documented in the SDK, item events for lists do not expose BeforeProperties.
  • ItemAdding and ItemAdded correctly report the value in the AfterProperties for an list item, but not a library item.  This is curious.