I'm trying to build a megamenu with two levels of personalization for every user:
- Filtered links driven by list-based content. I'm using a DVWP for this. The DVWP is all set up and works great in a standalone aspx page.
- Links coming from User Profile properties. This is almost a no-brainer if I do it with jQuery and SPServices client-side.
We can't seem to get a control into the master page (it has to be the master page because this is the top nav we're talking about) that contains the User Profile value I need to filter the DVWP. It's not a problem to have the value show up in a control in the browser, but the page pipeline seems to populate the control after the DVWP is emitted.
In a page or page layout, we can use the Current User Filter Web Part (CUFWP) to grab the User Profile Property that we want. However, the CUFWP can't be in the master page, as it throws the error
The Hidden property cannot be set on Web Part ‘g_8271d6f6_a902_4fa4_88ce_ca9ae1b0d463′, since it is a standalone Web Part.
I don't want to render the whole top nav in script using SPServices to grab the list-based content because that would introduce an uncomfortable lag on page load, which would be bad UX. (Though doing this wouldn't be very hard.)
Any ideas on how to expose a User Profile property in the master page at the right time in the page pipeline?