ASP.NET学习笔记:服务器控件 (2009.11.9)
服务器控件
服务器控件是指在服务器上执行程序逻辑的控件,包括能生成一定的用户界面。
ASP.NET中所有的控件都在服务器上运行,将HTML代码发送到客户端。
按控件是否嵌入Web表单页面为标准,可将ASP.NET服务器控件分为: HTML服务器控件,Web服务器控件,用户控件。
Web服务器控件具体可分为以下6中类型:
1. 标准控件 2. 数据控件 3. 验证控件 4. 站点导航控件 5. WebParts控件 6. 登录控件
OnClientClick与OnClick
OnClientClick是客户端事件方法,一般采用JaveScript来进行处理,也就是直接在IE端运行。
OnClick是服务器端事件处理方法,在服务器端也就是在IIS中运行,点击按钮后,执行postback,在运行。
(postback,很多人叫做数据回发,就是从客户端把数据提交到服务器,通常在Load事件里写的 if(!postback)是说,页面不是回发数据,而是第一次加载)
OnClientClick中我们常用来做一些客户端的检测,当然也可以防止服务器端检测,但是与服务器进行交互,消耗资源,用户体验不好。
也可以通过Btn.Attribute.Add()方法来实现。
PostBackUrl
获取或设置单击Button控件时从当前客户端页面提交到服务器端处理页面的URL,通过这个属性,可以使用Button控件执行跨页发送。默认为空,即传回本页。
LinkButton与HyperLink
对于网页浏览而言,HyperLink和LinkButton是一样的,但他们在功能方面有较大的差异。当用户单击时,HyperLink控件会立即将用户导航到目标Url,该页不会回送到服务器上。LinkButton控件则首先将该页发回到服务器,然后再将用户导航到目标Url。因此,在到达目标Url之前需要进行服务器端处理的,使用LinkButton,如果无需进行服务器端处理,则可以使用HyperLink控件。
DropDownList
例:将过去10年的年份反映到DropDownList中:
for (int i = 0; i < 10; i++)
{
DropDownList1.Items.Add((yy-i).ToString());
}
AutoPostBack
DropDownList 和 ListBox 的 SelectIndexChanged 事件,CheckBox的CheckChanged和 CheckBoxList 的SelectIndexChanged 事件等,是控件的选择状态发生改变时触发,要触发这些事件,必须把AutoPostBack属性设置为True才能生效。
Table
table.Rows,TableRow.Cells
动态地创建表:(注意:这里的表是<asp:Table ID="tTable" runat="server" ></asp:Table>)