コード例 #1
0
 public void Inject(bool head, HtmlWriter writer)
 {
     if (head)
     {
         if (this.injectHead != null && !this.headInjected)
         {
             if (this.injectionFormat == HeaderFooterFormat.Text)
             {
                 writer.WriteStartTag(HtmlNameIndex.TT);
                 writer.WriteStartTag(HtmlNameIndex.Pre);
                 writer.WriteNewLine();
             }
             this.CreateHtmlToHtmlConverter(this.injectHead, writer);
             while (!this.fragmentToHtmlConverter.Flush())
             {
             }
             this.headInjected = true;
             if (this.injectTail == null)
             {
                 ((IDisposable)this.fragmentToHtmlConverter).Dispose();
                 this.fragmentToHtmlConverter = null;
             }
             if (this.injectionFormat == HeaderFooterFormat.Text)
             {
                 writer.WriteEndTag(HtmlNameIndex.Pre);
                 writer.WriteEndTag(HtmlNameIndex.TT);
                 return;
             }
         }
     }
     else
     {
         if (this.injectHead != null && !this.headInjected)
         {
             this.headInjected = true;
         }
         if (this.injectTail != null && !this.tailInjected)
         {
             if (this.injectionFormat == HeaderFooterFormat.Text)
             {
                 writer.WriteStartTag(HtmlNameIndex.TT);
                 writer.WriteStartTag(HtmlNameIndex.Pre);
                 writer.WriteNewLine();
             }
             if (this.fragmentToHtmlConverter == null)
             {
                 this.CreateHtmlToHtmlConverter(this.injectTail, writer);
             }
             else
             {
                 this.fragmentToHtmlConverter.Initialize(this.injectTail, this.injectionFormat == HeaderFooterFormat.Text);
             }
             while (!this.fragmentToHtmlConverter.Flush())
             {
             }
             ((IDisposable)this.fragmentToHtmlConverter).Dispose();
             this.fragmentToHtmlConverter = null;
             this.tailInjected            = true;
             if (this.injectionFormat == HeaderFooterFormat.Text)
             {
                 writer.WriteEndTag(HtmlNameIndex.Pre);
                 writer.WriteEndTag(HtmlNameIndex.TT);
             }
         }
     }
 }
コード例 #2
0
ファイル: HtmlInjection.cs プロジェクト: yankaics/cms-1
        public void Inject(bool head, HtmlWriter writer)
        {
            if (head)
            {
                if (injectHead != null && !headInjected)
                {
                    if (injectionFormat == HeaderFooterFormat.Text)
                    {
                        writer.WriteStartTag(HtmlNameIndex.TT);
                        writer.WriteStartTag(HtmlNameIndex.Pre);
                        writer.WriteNewLine();
                    }

                    CreateHtmlToHtmlConverter(injectHead, writer);

                    while (!fragmentToHtmlConverter.Flush())
                    {
                    }

                    headInjected = true;


                    if (injectTail == null)
                    {
                        ((IDisposable)fragmentToHtmlConverter).Dispose();
                        fragmentToHtmlConverter = null;
                    }

                    if (injectionFormat == HeaderFooterFormat.Text)
                    {
                        writer.WriteEndTag(HtmlNameIndex.Pre);
                        writer.WriteEndTag(HtmlNameIndex.TT);
                    }
                }
            }
            else
            {
                if (injectHead != null && !headInjected)
                {
                    InternalDebug.Assert(false);


                    headInjected = true;
                }

                if (injectTail != null && !tailInjected)
                {
                    if (injectionFormat == HeaderFooterFormat.Text)
                    {
                        writer.WriteStartTag(HtmlNameIndex.TT);
                        writer.WriteStartTag(HtmlNameIndex.Pre);
                        writer.WriteNewLine();
                    }

                    if (fragmentToHtmlConverter == null)
                    {
                        CreateHtmlToHtmlConverter(injectTail, writer);
                    }
                    else
                    {
                        fragmentToHtmlConverter.Initialize(
                            injectTail,
                            (injectionFormat == HeaderFooterFormat.Text));
                    }

                    while (!fragmentToHtmlConverter.Flush())
                    {
                    }


                    ((IDisposable)fragmentToHtmlConverter).Dispose();
                    fragmentToHtmlConverter = null;

                    tailInjected = true;

                    if (injectionFormat == HeaderFooterFormat.Text)
                    {
                        writer.WriteEndTag(HtmlNameIndex.Pre);
                        writer.WriteEndTag(HtmlNameIndex.TT);
                    }
                }
            }
        }