Question: Why would I ever run Html controls on the server? As in, why would I want to do this?

```
<p runat = "server">This is a paragraph.</p>

```

Answer: 
One reason you might want to use the HTML controls versus the server controls is to force the rendered HTML to be of a certain element. 

For example, a `GridView` by default will render as an HTML table, but you may want it to render as DIVs for a table-less layout. 

HTML controls give your more flexibility in the HTML output; which is one of the reasons people like ASP.NET MVC over ASP.NET WebForms, because you are controlling more of the end result instead of the ASP.NET engine deciding certain things for you. 

Obviously, with power comes responsibility, you will lose some of the conveniences of server controls.
This allows you to set the value and control all attributes server-side

```
<p id="p" runat="server">Value<p>

```

Code Behind:

```
p.Visible = true;
p.text = "NewValue";
p.attributes.add("style", "width:90px");

```

[This link has more info](http://msdn.microsoft.com/en-us/library/7a9d6h4f%28v=vs.100%29.aspx)