1、如何使得vs2005支持ajax,见文章http://blog.csdn.net/fupei/archive/2008/09/17/2942450.aspx
2、新建网站,选择模板ajax enabled web site
3、添加web页面
4、将ajax控件“updatepanel” 拖入页面,将timer空间拖入updatepanel,将label标签拖入updatepanel,设置timer属性inerval=5000,双击timer,编写timer的tick事件的处理函数,设置updatepanel属性triggers 添加 asyncpostbacktrigger 设置 controlid为timer的id,设置eventname为tick;
5、为了对比看出效果,在updatepanel之外再搞一个图片img,一个asp按钮
6、运行,每隔5秒label会被更新一次,显示服务器时间,同时图片不会刷新;如果点按钮,则整页刷新
web页的后台主要代码
//button click事件处理函数
protected void Button1_Click(object sender, EventArgs e)
{
this.Label1.Text = System.DateTime.Now.ToString();
}
//timer tick函数
protected void Timer1_Tick(object sender, EventArgs e)
{
this.Label1.Text = System.DateTime.Now.ToString();
}
总结,updatepanel就是通过关联事件,使得该事件触发提交请求获得服务器响应,而浏览器只更新updatepanel包含的控件;基于事件的程序架构不改变;