public override string GetHtml()
{
string sFieldValue = string.Empty;
if (this.ContentPage == null) {
this.ContentPage = SiteData.GetCurrentPage();
}
SiteNav navNext = new SiteNav();
if (this.NavigationDirection != NavDirection.Unknown) {
using (ISiteNavHelper navHelper = SiteNavFactory.GetSiteNavHelper()) {
if (NavigationDirection == NavDirection.Prev) {
navNext = navHelper.GetPrevPost(SiteData.CurrentSiteID, this.ContentPage.Root_ContentID, !SecurityData.IsAuthEditor);
}
if (NavigationDirection == NavDirection.Next) {
navNext = navHelper.GetNextPost(SiteData.CurrentSiteID, this.ContentPage.Root_ContentID, !SecurityData.IsAuthEditor);
}
if (navNext != null) {
if (this.UseDefaultText) {
string sField = this.CaptionDataField.ToString();
object objData = ReflectionUtilities.GetPropertyValue(navNext, sField);
if (objData != null) {
sFieldValue = String.Format("{0}", objData);
}
this.NavigateText = sFieldValue;
}
this.NavigateUrl = navNext.FileName;
} else {
this.NavigateUrl = String.Empty;
}
}
} else {
this.NavigateUrl = String.Empty;
}
if (!String.IsNullOrEmpty(this.NavigateUrl)) {
var lnkBuilder = new TagBuilder("a");
lnkBuilder.MergeAttribute("href", this.NavigateUrl);
lnkBuilder.InnerHtml = this.NavigateUrl;
if (!String.IsNullOrEmpty(this.NavigateText)) {
lnkBuilder.InnerHtml = this.NavigateText;
}
var lnkAttribs = (IDictionary<string, object>)HtmlHelper.AnonymousObjectToHtmlAttributes(linkAttributes);
lnkBuilder.MergeAttributes(lnkAttribs);
return lnkBuilder.ToString(TagRenderMode.Normal);
} else {
return String.Empty;
}
}