Introduction
The main difference between
HTML controls and ASP.Net controls is HTML controls never uses runtat="server"
attribute to the tag. We declare HTML controls in a different way than we
declare standard ASP.NET controls. The ASP.NET Framework enables us to take any
HTML tag (real or imaginary) and add a runat="server"
attribute to the tag. The runat="server"
attribute converts the HTML tag into a server-side ASP.NET control. For example,
the code given below contains a <span>
tag, which has been converted into an ASP.NET control.
<%@ Page Language="VB"
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Sub Page_Load()
timenow.InnerText =
DateTime.Now.ToString("T")
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>HTML
Controls vs ASP.Net Controls</title>
</head>
<body>
<form id="form1" runat="server">
<div>
System Time :
<span id="timenow" runat="server" />
</div>
</form>
</body>
</html>
Notice that the <span>
tag given above looks just like a normal HTML <span>
tag except for the addition of the runat="server"
attribute. Because the <span>
tag is a server-side HTML control, we can program against it. In above code, the
current date and time are assigned to the <span>
tag in the
Page_Load()
method. The HTML controls are included in the ASP.NET Framework to make it
easier to convert existing HTML pages to use the ASP.NET Framework.