HtmlControls(以下简称HC)是对大部分Html标签的复制,这些标签原来是什么样,经过服务器解释后的HC就是什么样。要使用HC,只需要在相应的html标签内加上runat=“server”属性。例如:
<table border=1 cellspacing=0 cellpadding=4 Runat="Server"> <td Runat="Server"> Table Data </td>
Web controls(以下简称WC)是微软在原有html标签的基础上重新设计整理并抽象后的一套控件,虽然它最终还是会解释成html标签,但是它是对现有html标签的一种更合理更有意义的逻辑表示。为什么要建立这种不同的抽象?例如<select>标签,如果要建立一个单选下拉列表框,则如下:
<select name="favColor"> <option> Red </option> <option> Blue </option> <option> Green </option> </select>
如果要建立一个多选下拉列表框,则如下:
<select name="favColor" Size="3" MULTIPLE> <option> Red </option> <option> Blue </option> <option> Green </option> </select>
运行结果:
可以看到,代码上很小的差别,显示出来的效果却差了很远。为了在代码中更清晰的表示这种差别,微软提供了两种<select>标签对应的WC:DropDownList 和 ListBox。
要使用WC,则按照如下形式:
<asp:TextBox id="username" Columns="30" Runat="Server"/>
另有一个例子说明了两者之间的区别
<%@ Page Language="C#" AutoEventWireup="true" %> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title>HtmlButton使用示例</title> <script language="javascript" type="text/javascript"> function onClientclick() { alert("单击了按钮"); } </script> <script type="text/C#" runat="server"> protected void ButtonOnclick(object sender, EventArgs e) { Response.Write("服务器端处理按钮事件"); } </script> </head> <body> <form id="form1" runat="server"> <div> <h3>HtmlButton使用示例</h3> </div> <button id ="button1" onclick="onClientclick()" >客户端按钮</button> <br /><br /> <button id ="button2" runat="server" onserverclick="ButtonOnclick" >服务器端按钮</button> </form> </body> </html>