I'd seen references to SPUtility before, and probably even used the
object when basing code of blog posts I'd found on the net, but inspiration
struct me the other day, and I decided to look it up in the SDK.
It is a static object that contains a number of useful functions - it also
contains a number of obsolete functions, and some downright weird ones (like
SPUtility.HideTaiwan and SPUtility.IsEastAsia strike me as ones that won't be
widely used).
To access the object, you need to add the following using statement:
using
Microsoft.SharePoint.Utilities;
I had a quick go through the SDK, an the following are what strikes me as
some of the more useful functions this object provides (note, I havent used all
of these yet, just went through the SDK then googled the functions I thought
sounded interesting):
- 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
//Get path to features directory
//Would
typically return "C:\Program Files\Common Files\Microsoft Shared\web server
extensions\12\TEMPLATE\FEATURES"
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", "", "");
There are a bunch of others on there, and although they are not really very
well documented, they are certainly worth a look through.