Carrotware.CMS.UI.Components.ContentPageNext.GetHtml C# (CSharp) Method

GetHtml() public method

public GetHtml ( ) : string
return string
        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;
            }
        }