Pages

Jan 27, 2011

SPUtility : Useful Functions

To access the object, you need to add the following using statement:

using Microsoft.SharePoint.Utilities;

Following are some of the more useful functions this object provides

SPUtility.FormatDate

Allows you to format a given date to any of the SPDateFormat types
DateTime curDate = DateTime.Now();
DateTime regionDate = web.RegionalSettings.TimeZone.UTCToLocalTime
(web.ParentWeb.RegionalSettings.TimeZone.LocalTimeToUTC(curDate));
return Convert.ToDateTime(SPUtility.FormatDate(web, regionDate, SPDateFormat.ISO8601));

Get the 12-Hive filesystem path

Returns the filesystem path for the 12-Hive, or any of the folders beneath it. This is typically
(though not always) going to be C:\Program Files\Common Files\Microsoft Shared\web server extensions\12

string featurePath = SPUtility.GetGenericSetupPath("template\\features");

Get Full (absolute) URL

Converts a relative Url into an absolute Url
//Get url to list item
SPListItem item = spList.Items[1];
string itemUrl = SPUtility.GetFullUrl(spSite, item.Url);

Redirect to page

Send a HTTP redirect to the client's browser
//Redirect to specified page, adding querystring
string url = "http://portal/TestResults/Pages/results.aspx";
string queryString = "successflag=passed";

SPUtility.Redirect(url, SPRedirectFlags.Default, Context, queryString);

Send email

Lets you send an email from the context of the given SPWeb
//Send email from current SPWeb
SPWeb web = SPContext.Current.Site.OpenWeb();
string subject = "Email from the " + web.Title + " web";
string body = "The body of the email";
SPUtility.SendEmail(web, false, false, "someone@somewhere.com", subject, body);

Transfer to SharePoint success/error page

Allows you to transfer the browser to the ootb error and success pages
//Transfer to Error Page
SPUtility.TransferToErrorPage(ex.Message);
//Transfer to success page, and specify url to move onto after "Ok" clicked
SPUtility.TransferToSuccessPage("Operation was completed", @"/Docs/default.aspx", "", "");

No comments: