ASP.NET Server Controls:
ASP.NET之中最基本的控件类型就是ASP.NET Server Controls。Server Controls可能有相关的方法(method)和事件处理器(event handlers),这些代码都是在服务器端运行的。ASP.NET Server Controls提供了一致性的编程模式。例如:在HTML中,input标签可用于buttons,single-line text fields,checkboxes,hidden fields 和 passwords;对于多行文本域(multiline text fields),你就必须使用<textarea>标签。如果你使用ASP.NET Server Controls,每个不同功能类型有不同的空间与之对应。例如:文本就使用TextBox control,文本行数用一个属性值指定就可以了。ASP.NET Server Controls使用语法如下:
<asp:controlType
id="ControlID"
runat="server"
thisProperty="this value"
thatProperty="that value"/>
例如TextBox控件:
<asp:TextBox ID="txtBookName"
runat="server"
Width="250px"
Text="Enter a book name."/>
HTML Server Controls:
正常的标签如<h1>,<a>,<input>不会被服务器处理,只是被直接发送至浏览器去显示。将标准的HTML Controls变成HTML Server Controls就可以被投递到服务器端并进行处理。把标准的HTML Controls变成HTML Server Controls只需添加属性 runat="server",此外可能还需一个id属性值,以便控件的内容能通过程序进行访问和控制。HTML Server Controls变成实例(针对button):
1.页面的HTML代码如下:注意属性runat="server",特别留意最后的一行代码的写法。
<table style="width: 241px">
<tr>
<td style="width: 61px" align="right">
Name:</td>
<td>
<input id="txtName" type="text" runat="server"/></td>
</tr>
<tr>
<td style="width: 61px" align="right">
Street</td>
<td>
<input id="txtStreet" type="text" runat="server"/></td>
</tr>
<tr>
<td style="width: 61px" align="right">
City</td>
<td>
<input id="txtCity" type="text" runat="server" /></td>
</tr>
<tr>
<td style="width: 61px" align="right">
State</td>
<td>
<input id="txtState" type="text" runat="server"/></td>
</tr>
<tr>
<td style="width: 61px" align="right">
</td>
<td>
</td>
</tr>
<tr>
<td style="width: 61px" align="right">
</td>
<td id="tdInnerHtml" runat="server">
</td>
</tr>
</table>
<br />
<input id="btnDoIt" type="button" value="Do It!" runat="server" onserverclick="btnDoIt_ServerClick"/>
2.在对应的.aspx.cs文件中添加如下代码相应按钮被按下的动作:
protected void Button1_Click(object sender, EventArgs e)
{
string strHtml = "";
strHtml += txtName.Value + "<br/>";
strHtml += txtStreet.Value + "<br/>";
tdInnerHtml.InnerHtml = strHtml;
}
代码不言而喻,就是在上面的id号为tdInnerHtml的td中添加内容。整个过程主要在上面html中button按钮上添加必要的属性,同时在对应aspx.cs文件中附上对应的处理代码即可。