Remember To Encode SharePoint Link* Fields Correctly
When using a SPGridView control or a similar interface control representing fields out of a SharePoint list, it is important to remember that the SharePoint Link* fields are encoded correctly. Most other types when using something like SPListItem.GetFormattedValue will be fine, but when LinkTitle, LinkDiscussionTitle, etc. are hit you can use something like the below to HTML encode it.
-
string.Format("<a href=\"{0}/{1}?ID={2}\">{3}</a>", SPListItem.Web.Url, SPListItem.ParentList.Forms[PAGETYPE.PAGE_DISPLAYFORM].Url, SPListItem.ID, SPListItem.GetFormattedValue(SPField.InternalName));
To test the type just use , then employ an equality test:
-
if (Equals(SPListItem.GetFormattedValue(SPField.InternalName), "LinkTitle"))
Related posts:
- Returning GUID’s For Internal SharePoint Fields
- Returning The SharePoint Start Workflow Link
- Remember When Using SPUtility.FormatDate To UTC (Extension Method)
- Building Master SPFile WebForm Collections, Remember SPListItems!
- Get A SharePoint Field By Name
1 Comment »
RSS feed for comments on this post. TrackBack URL























Articles & Research
SharePoint Architecture
Research Methodology
Personal/Off-Topic
Article Or Research Filed Under 

[...] Remember To Encode SharePoint Link* Fields Correctly [...]
Pingback by Links (9/10/2009 « Steve Pietrek – Everything SharePoint) — September 10, 2009 @ 4:33 pm