The "Microsoft.SharePoint.Publishing" namespace offers a lot of controls to use in your page. One of them is the RichLinkSelector. You can use it to browse a site, list or document and to create a link to that object. The link can be stored in a column as meta data. The RichLinkSelector has a property named Value you can use to access the selected link:
RichLinkSelector mLinkSelector = new RichLinkSelector();
HtmlTagValue htmlTagValue = mLinkSelector.Value;
So where is the magic? In order to access e.g. the navigate URL or the tool tip you have to create a LinkFieldValue object from the HtmlTagValue:
LinkFieldValue link = new LinkFieldValue(mLinkSelector.Value.ToString());
The LinkFieldValue offers you the following properties with get and set:
link.Text
link.NavigateUrl
link.Target
link.ToolTip
If you want to fill the control with an existing link you can set the properties of the link object and assign it to the mLinkSelector.Value:
mLinkSelector.Value = link;
That's it.

