您的位置:首页 > 其它

利用Ajax无全页面提交实现动态画图

2007-10-29 14:17 465 查看
新建一个Ajax模板的项目





放置一个ScriptManager,一个updatePanel,一个Timer,在updatePanel中放置一个image。





再新建一个image.aspx页,并建一个方法HT,方法内部实现为:

//建立一个画图层

Bitmap bm = new Bitmap(500, 500);

//取得画图层的Graphics

Graphics g = Graphics.FromImage(bm);

//初始化面板为白色

g.Clear(Color.White);

//建立一个笔刷

Brush b = new SolidBrush(Color.Green);

//画第一个扇形

g.FillPie(b, 10, 10, 400, 400, 0,Convert.ToInt32 (DateTime.Now.Second) *6);

//再建立一个笔刷

Brush b1 = new SolidBrush(Color.Red);

//画第二个扇形

g.FillPie(b1, 10, 10, 400, 400, Convert.ToInt32(DateTime.Now.Second) * 6,360- Convert.ToInt32(DateTime.Now.Second) * 6);

//把图画以jpg格式到画板上

bm.Save(this.Response.OutputStream, ImageFormat.Jpeg);

//注销Griphics

g.Dispose();

//注销面板

bm.Dispose();

最后在Timer1中的确良Tick事件中写入

Image1.ImageUrl = "image.aspx?cs="+DateTime.Now.Second.ToString () ;

大家发现是把一个Image1控件的ImageUrl赋值成一个带参数的页面。首先,image.aspx生成以后是一个图形页面,如果参数不一样,每次都会实现向后台提交。

页面的刷新也可以用 <meta http-equiv="refresh" content="5"/>此时的时间间隔只有通过原代码改,如果换成用Asp.Net Ajax,时间间隔就成为Timer1的一个属性了,可以参数表设置。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: