I have a page with a XsltListViewWebPart. That is displaying a list with People objects (Person, Department, Email, Phone). I am trying to override the Email to be an actual mailto instead of loading the person card in the mysite.

I am trying to avoid a data grid view as it does not have the sort and add capabilities.

In sharepoint designer I click on one of the TD for the email and click on Customize XSLT and select Customize Item. In the code view i see it changed the web part to have custom XSLT.

I find the display part:

<xsl:value-of disable-output-escaping="yes" select="$thisNode/@*[name()=current()/@Name]" />

And change it to:

<a href="mailto:{$thisNode/@Email.title}"><xsl:value-of disable-output-escaping="yes" select="$thisNode/@Email.title" /></a>

In sharepoint designer it updates correctly. I click save and go to preview the page and nothing changed. If I click the refresh page in sharepoint designer the whole XSLT customization is gone (not just the part I changed). The page is checked out to me and even if I save and then check the page back in the customization is gone.

Am I doing it wrong? Is there something that prevents this customization?

1 Answer 1


Sounds like the ghost attribute isn't clear. Search for the ddwrt:ghost attribute on your templates.

Try clearing "show_all", "show", or "hide" from the attribute, or remove the attribute altogether.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.