您的位置:首页 > 其它

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

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



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



再新建一个image.aspx页,并建一个方法HT,方法内部实现为:
[align=left]//建立一个画图层 [/align]
[align=left] Bitmap bm = new Bitmap(500, 500);[/align]
[align=left] //取得画图层的Graphics[/align]
[align=left] Graphics g = Graphics.FromImage(bm);[/align]
[align=left] //初始化面板为白色[/align]
[align=left] g.Clear(Color.White); [/align]
[align=left] //建立一个笔刷[/align]
[align=left] Brush b = new SolidBrush(Color.Green);[/align]
[align=left] //画第一个扇形[/align]
[align=left] g.FillPie(b, 10, 10, 400, 400, 0,Convert.ToInt32 (DateTime.Now.Second) *6);[/align]
[align=left] //再建立一个笔刷[/align]
[align=left]Brush b1 = new SolidBrush(Color.Red);[/align]
[align=left]//画第二个扇形[/align]
[align=left] g.FillPie(b1, 10, 10, 400, 400, Convert.ToInt32(DateTime.Now.Second) * 6,360- Convert.ToInt32(DateTime.Now.Second) * 6); [/align]
[align=left] //把图画以jpg格式到画板上[/align]
[align=left] bm.Save(this.Response.OutputStream, ImageFormat.Jpeg);[/align]
[align=left] //注销Griphics[/align]
[align=left] g.Dispose();[/align]
[align=left]//注销面板[/align]
[align=left] bm.Dispose();[/align]

[align=left]最后在Timer1中的确良Tick事件中写入[/align]
[align=left] Image1.ImageUrl = "image.aspx?cs="+DateTime.Now.Second.ToString () ;[/align]
大家发现是把一个Image1控件的ImageUrl赋值成一个带参数的页面。首先,image.aspx生成以后是一个图形页面,如果参数不一样,每次都会实现向后台提交。
页面的刷新也可以用 <meta http-equiv="refresh" content="5"/>此时的时间间隔只有通过原代码改,如果换成用Asp.Net Ajax,时间间隔就成为Timer1的一个属性了,可以参数表设置。本文出自 “桂素伟” 博客,请务必保留此出处http://axzxs.blog.51cto.com/730810/150003
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: