Write HTML to string

前端 未结 18 1564
一生所求
一生所求 2020-12-13 00:04

I have code like this. Is there a way to make it easier to write and maintain? Using C# .NET 3.5.

string header(string title)
{
    StringWriter s = new Stri         


        
18条回答
  •  难免孤独
    2020-12-13 00:40

    You're probably better off using an HtmlTextWriter or an XMLWriter than a plain StringWriter. They will take care of escaping for you, as well as making sure the document is well-formed.

    This page shows the basics of using the HtmlTextWriter class, the gist of which being:

    StringWriter stringWriter = new StringWriter();
    
    using (HtmlTextWriter writer = new HtmlTextWriter(stringWriter))
    {
        writer.AddAttribute(HtmlTextWriterAttribute.Class, classValue);
        writer.RenderBeginTag(HtmlTextWriterTag.Div); // Begin #1
    
        writer.AddAttribute(HtmlTextWriterAttribute.Href, urlValue);
        writer.RenderBeginTag(HtmlTextWriterTag.A); // Begin #2
    
        writer.AddAttribute(HtmlTextWriterAttribute.Src, imageValue);
        writer.AddAttribute(HtmlTextWriterAttribute.Width, "60");
        writer.AddAttribute(HtmlTextWriterAttribute.Height, "60");
        writer.AddAttribute(HtmlTextWriterAttribute.Alt, "");
    
        writer.RenderBeginTag(HtmlTextWriterTag.Img); // Begin #3
        writer.RenderEndTag(); // End #3
    
        writer.Write(word);
    
        writer.RenderEndTag(); // End #2
        writer.RenderEndTag(); // End #1
    }
    // Return the result.
    return stringWriter.ToString();
    

提交回复
热议问题