Click here to Skip to main content
Licence 
First Posted 19 Mar 2006
Views 50,440
Bookmarked 24 times

A Simple HTML Builder Utility Class

By | 19 Mar 2006 | Article
When your application requirements for html formatting of texts (example: print page, e-mail text etc) are pretty simple, this simple builder class will save your development time.

Sample Image - HTML_Build_Clss.png

Introduction

 

When you develop a web based application, you need some texts to be converted to HTML tags for a convenient format. This is required especially when you have to send e-mail or show text in 'Print' page. Definitely there are lots of utility classes and tools are available in web. But fortunately some of my application requirements regarding HTML text were very simple and unfortunately I didn't find anything in the web to get a simple HTML builder utility to format my simple texts. However, as usual I decided to write an utility class, which is very simple to use.

 

Using the class

 

Let's look at the sample codes that use our Simplified HTML Builder Class.

public static void UseThis()
{
Ashraf.HTMLUtil util = new Ashraf.HTMLUtil();

util.AppendHeader("Header");
util.AppendSubHeader("Sub Header");
util.AppendPara("Hello this is a para");
util.AppendPara("Hello this is the second para");
util.AppendBlankRow();
util.FormatToRowInColonSeparatedText("Label 1","Value 1", false);
util.FormatToRowInColonSeparatedText("Label 2","Value 2", false);
util.AppendBlankRow();
util.AppendPara("Hello this is footer para");
util.AppendSubHeader("Sub Footer");
util.AppendHeader("Footer");

System.Web.HttpContext.Current.Response.Write(util.FormattedHTMLText);
}

 

At first you have to create an instance of "HTMLUtil" class. After then using different methods you can add your contents into this instance. Internally a System.Text.StringBuilder class instance is the container of all of the contents in the corresponding format. The utility class methods wrap all of contents to an html table so that the contents can easily be placed anywhere. Using the "HTMLUtil" instance you can add header, sub-header, normal texts, blank rows etc.

util.AppendHeader("Header");
util.AppendSubHeader("Sub Header");
util.AppendPara("Hello this is a para");
util.AppendBlankRow();

 

However as you see in the code, there is a method named "FormatToRowInColonSeparatedText". This method appends colon separated row in the System.Text.StringBuilder container along with the passed parameters as caption and value. This is useful when you want to format html for database table fields.

 

util.FormatToRowInColonSeparatedText("Label 1","Value 1", false);

 

 

When you finish your texts to be built in desired formatting, you are ready to use that. You will get all the texts in proper formatted thru the "FormattedHTMLText" property of the class.

 

System.Web.HttpContext.Current.Response.Write(util.FormattedHTMLText);

 

However, you can define the size of the fonts of header, sub-header, normal text and the font face for the builder class by the following properties.

 

public int HeaderTextSize{get;set;} //default size is 4 
public int SubHeaderTextSize{get;set;} //default size is 3 
public int NormalTextSize{get;set;} //default size is 2 
public string FontFace{get;set;} // default is "verdana"

 

Conclusion:

 

Any advice or correction for this class will be highly appreciated.

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here

About the Author

Mohammad Ashraful Alam

Chief Technology Officer

Bangladesh Bangladesh

Member

Mohammad Ashraful Alam is a Software Engineer, who is dedicated to Microsoft .NET based development. This Bangladeshi national is involved with project management and development of several US based software projects from his country. Already he has managed and developed 15 software projects, which are being used by several users of different countries, such as USA, Canada, Australia, and Bangladesh. While developing and managing a team, he contains and maintains a set of well defined engineering practices developed by him and other online developer community. Beside software development, he has also written several technical articles and research papers published by IEEE Computer Society and many other worlds recognized publishers.
 
Before becoming engaged with software development, he was involved with Bengali literature and several Bengali news papers as freelance journalist and published around 150 articles, essays and short stories.
 
Due to his willingness to give effort to improve and share better software development practices, Ashraf has awarded as “Most Valuable Professional” (MVP) in ASP.NET category by Microsoft for multiple times, since 2007.
 
When not engaged with technical stuffs, he likes to pass time with his friends, and family members, listens music or watches TV.
 
Check his portfolio at: http://www.ashraful.net/.
 
Check his blog: http://blog.ashraful.net/.
 
Catch him thru mail: admin [attt] ashraful [dotttt] net (anti-spam text).

Sign Up to vote   Poor Excellent
Add a reason or comment to your vote: x
Votes of 3 or less require a comment

Comments and Discussions

 
You must Sign In to use this message board. (secure sign-in)
 
Search this forum  
 FAQ
    Noise  Layout  Per page   
  Refresh
GeneralThe codes could be more decent PinmemberMoim Hossain10:11 28 Nov '08  
QuestionWhy? PinmemberGeorge L. Jackson5:20 19 Mar '06  
AnswerRe: Why? PinmemberMohammad Ashraful Alam20:33 19 Mar '06  
AnswerRe: Why? Pinmembertomstrummer6:35 20 Mar '06  
GeneralRe: Why? PinmemberMohammad Ashraful Alam8:30 20 Mar '06  
GeneralRe: Why? PinmemberMohammad Ashraful Alam8:32 20 Mar '06  
GeneralRe: Why? PinmemberGeorge L. Jackson12:59 20 Mar '06  
GeneralRe: Why? PinmemberMohammad Ashraful Alam20:42 20 Mar '06  
GeneralRe: Why? PinmemberGeorge L. Jackson0:27 21 Mar '06  
GeneralRe: Why? PinmemberJames Curran5:01 28 Mar '06  
GeneralRe: Why? PinmemberMohammad Ashraful Alam20:22 28 Mar '06  
Thanks for the codes. This code is specifically useful when you are concerned the HTML rendering of any specific controls or special HTML formatting, where this method will provide necessary piece of HTML. Big Grin | :-D
 
However having several controls which contains data to be rendered in HTML as well as formatting the layout of the overall page are a bit complex and time consuming. When our application requirements to render data from data (which may contain in UI control or data-source), our "HTML Builder" class will save your time. Wink | ;)
 
Thanks all for your time to think about it.
 
Mohammad Ashraful Alam Cool | :cool: Blush | :O Roll eyes | :rolleyes: OMG | :OMG: WTF | :WTF: Laugh | :laugh: Poke tongue | ;-P Smile | :) ,
.NET Software Engineer

AnswerRe: Why? PinmemberSean Stapleton10:24 27 Mar '06  
AnswerRe: Why? Pinmembersdfgasdfsfgsdfg5:46 29 Mar '06  
GeneralRe: Why? PinmemberMohammad Ashraful Alam7:12 29 Mar '06  
GeneralRe: Why? PinmemberAshaman2:00 31 Mar '06  
GeneralThanks for feedback PinmemberMohammad Ashraful Alam2:59 31 Mar '06  

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

Permalink | Advertise | Privacy | Mobile
Web01 | 2.5.120529.1 | Last Updated 19 Mar 2006
Article Copyright 2006 by Mohammad Ashraful Alam
Everything else Copyright © CodeProject, 1999-2012
Terms of Use
Layout: fixed | fluid