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

新建一个 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的一个属性了,可以参数表设置。

你可能感兴趣的:(Ajax,职场,休闲,动态画图)