I'm adding some content to a given web page from code behind. When I want to add a break after some text, I try to do that this way: pDoc.Controls.Add(New Label With {.Text = "whatever"}) pDoc.Controls.Add(New HtmlGenericControl("br")) ,where pDoc is the Panel in which I'm adding the content. But it adds two br tags into the final HTML. I've avoid this behaviour this way: pDoc.Controls.Add(New Label With {.Text = "whatever" & "<br />"}) Anyway, I'm so curious and I want to know why pDoc.Controls.Add(New HtmlGenericControl("br")) is acting that way. I also think my approach is not too fancy.