GetVersionString() public static method

Generates the standard 5-digit Page Version string.
public static GetVersionString ( int version ) : string
version int The Page version.
return string
示例#1
0
        /// <summary>
        /// Prints the history.
        /// </summary>
        public void PrintHistory()
        {
            if (page == null)
            {
                return;
            }

            StringBuilder sb = new StringBuilder();

            if (Request["Revision"] == null)
            {
                // Show version list
                List <int> revisions = Pages.GetBackups(page);
                revisions.Reverse();

                List <RevisionRow> result = new List <RevisionRow>(revisions.Count + 1);

                result.Add(new RevisionRow(-1, Content.GetPageContent(page, false), false));

                foreach (int rev in revisions)
                {
                    PageContent content = Pages.GetBackupContent(page, rev);

                    result.Add(new RevisionRow(rev, content, canRollback));
                }

                rptHistory.DataSource = result;
                rptHistory.DataBind();
            }
            else
            {
                int rev = -1;
                if (!int.TryParse(Request["Revision"], out rev))
                {
                    UrlTools.Redirect(page.FullName + Settings.PageExtension);
                }

                List <int> backups = Pages.GetBackups(page);
                if (!backups.Contains(rev))
                {
                    UrlTools.Redirect(page.FullName + Settings.PageExtension);
                    return;
                }
                PageContent revision = Pages.GetBackupContent(page, rev);
                sb.Append(@"<table class=""box"" cellpadding=""0"" cellspacing=""0""><tr><td>");
                sb.Append(@"<p style=""text-align: center;""><b>");
                if (rev > 0)
                {
                    sb.Append(@"<a href=""");
                    UrlTools.BuildUrl(sb, "History.aspx?Page=", Tools.UrlEncode(page.FullName),
                                      "&amp;Revision=", Tools.GetVersionString((int)(rev - 1)));

                    sb.Append(@""">&laquo; ");
                    sb.Append(Properties.Messages.OlderRevision);
                    sb.Append("</a>");
                }
                else
                {
                    sb.Append("&laquo; ");
                    sb.Append(Properties.Messages.OlderRevision);
                }

                sb.Append(@" - <a href=""");
                UrlTools.BuildUrl(sb, "History.aspx?Page=", Tools.UrlEncode(page.FullName));
                sb.Append(@""">");
                sb.Append(Properties.Messages.BackToHistory);
                sb.Append("</a> - ");

                if (rev < backups.Count - 1)
                {
                    sb.Append(@"<a href=""");
                    UrlTools.BuildUrl(sb, "History.aspx?Page=", Tools.UrlEncode(page.FullName),
                                      "&amp;Revision=", Tools.GetVersionString((int)(rev + 1)));

                    sb.Append(@""">");
                    sb.Append(Properties.Messages.NewerRevision);
                    sb.Append(" &raquo;</a>");
                }
                else
                {
                    sb.Append(@"<a href=""");
                    UrlTools.BuildUrl(sb, Tools.UrlEncode(page.FullName), Settings.PageExtension);
                    sb.Append(@""">");
                    sb.Append(Properties.Messages.CurrentRevision);
                    sb.Append("</a>");
                }
                sb.Append("</b></p></td></tr></table><br />");

                sb.Append(@"<h3 class=""separator"">");
                sb.Append(Properties.Messages.PageRevision);
                sb.Append(": ");
                sb.Append(Preferences.AlignWithTimezone(revision.LastModified).ToString(Settings.DateTimeFormat));
                sb.Append("</h3><br />");

                sb.Append(FormattingPipeline.FormatWithPhase3(FormattingPipeline.FormatWithPhase1And2(revision.Content,
                                                                                                      false, FormattingContext.PageContent, page).Replace(Formatter.EditSectionPlaceHolder, ""), FormattingContext.PageContent, page));
            }

            lblHistory.Text = sb.ToString();
        }