自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

ASP.NET中實(shí)現(xiàn)可動(dòng)態(tài)更新Flash統(tǒng)計(jì)圖

開發(fā) 后端
使用AjaxControlToolkit的UpdatePanelAnimation實(shí)現(xiàn)UpdatePanel的顯示效果,使用jQuery實(shí)現(xiàn)div的滑動(dòng)效果,使用flash統(tǒng)計(jì)圖(餅狀圖、柱狀圖....),這其中最麻煩的就是用Flash了,本文將介紹ASP.NET中實(shí)現(xiàn)可動(dòng)態(tài)更新Flash統(tǒng)計(jì)圖。

怎么在自己的ASP.NET頁(yè)面插入可動(dòng)態(tài)更新Flash統(tǒng)計(jì)圖呢?網(wǎng)上的資源倒是不少(Fusioncharts、amCharts……),
但我覺得效果最炫的還是amcharts的統(tǒng)計(jì)圖,還可以與用戶交互

可動(dòng)態(tài)更新Flash統(tǒng)計(jì)圖效果圖:

(柱狀圖)


(餅狀圖)

(股票圖)


(怎么樣?效果夠炫吧?趕緊去官網(wǎng)體驗(yàn)一下吧,會(huì)比你想象的用起來還要好~還可以自己設(shè)置很多的效果)

amcharts官網(wǎng)上各種各樣的都可以下載,而且可以免費(fèi)使用,唯一不足的就是免費(fèi)版會(huì)顯示它公司的鏈接,不過這是可以破解的,

下載amcharts_key.txt放到flash的相同目錄下即可。

我所使用的flash是兩個(gè)不同的版本,一個(gè)是直接在官網(wǎng)下載的柱狀圖、另一個(gè)不知道的哪下的餅狀圖,不過也是amcharts的,但貌似是經(jīng)過破解的,只有一個(gè)xml文件(一般來說都應(yīng)該有兩個(gè),一個(gè)主要設(shè)置內(nèi)容,一個(gè)主要設(shè)置外觀)如下圖:

     
準(zhǔn)備工作:統(tǒng)計(jì)圖的swf文件、相關(guān)的xml數(shù)據(jù)文件、swfobject1.5(現(xiàn)在2.x都有了,不過感覺1.5用著舒服些)
先說說從官網(wǎng)下載下來的使用方法吧。直接以代碼呈現(xiàn):(關(guān)于swfobject請(qǐng)查看官方文檔)

  1.  <script type="text/javascript" src="js/swfobject.js"></script> 
  2.  <div id="flashcontent"> 
  3.      <strong>You need to upgrade your Flash Player</strong> 
  4.  </div> 
  5.  <script type="text/javascript"> 
  6.  // <![CDATA[  
  7.      var rand = Rand();  
  8.      var so = new SWFObject("amcolumn.swf", "column", "360", "300", "8", "#FFFFFF");  
  9.      so.addVariable("settings_file", encodeURIComponent("amcolumn_settings.xml?"+Math.random()));  
  10.     so.addVariable("data_file", encodeURIComponent("amcolumn_data.xml?"+Math.random()));  
  11.     so.write("flashcontent");  
  12. // ]]> 
  13. </script> 

首先引用swfobject.js,不然編譯器會(huì)罷工的噢~ : )

然后就是一個(gè)div,也可以是span,里面有一句"You need to upgrade your Flash Player”,你肯定猜得到在flash未加
載時(shí)就會(huì)顯示這句話,這是為什么呢?(破有小沈陽的味道)請(qǐng)繼續(xù)往下看,SWFObject(注意大小寫哦)里的***句就引用了想要加載的flash路徑,然后下面兩句關(guān)聯(lián)上xml文件,如果要?jiǎng)討B(tài)改變flash的話就必須在xml后加上一個(gè)隨機(jī)變量,否則flash只會(huì)在你重新運(yùn)行或者清空緩存之后改變,***一個(gè)so.write就是用flash替換掉div中的內(nèi)容。

下面是改變內(nèi)容的代碼:(因?yàn)橥耆皇煜ml,自己瞎琢磨出的一個(gè)方法,僅作參考)

  1. using System.Xml;  
  2. XmlDocument doc = new XmlDocument();  
  3. doc.Load(Server.MapPath("amcolumn_data.xml"));   
  4. XmlNodeList nodelist = doc.GetElementsByTagName("value"); //獲取所有標(biāo)簽名為value的節(jié)點(diǎn)  
  5. nodelist.Item(4).InnerText = "4000";  //設(shè)置想要修改的節(jié)點(diǎn)的串聯(lián)值  
  6. doc.Save(Server.MapPath("amcolumn_data.xml")); //保存到xml 

好了,這樣就大功告成了~

然后再說說我的另外一個(gè)flash的用法吧,這個(gè)就麻煩多了,中外的網(wǎng)站都給翻遍了(有點(diǎn)夸張,不過我確實(shí)是從晚上11點(diǎn)直到早上5點(diǎn)半才把它給解決),開始說了,這個(gè)flash只有一個(gè)xml如果用前面的方法想要實(shí)現(xiàn)動(dòng)態(tài)的話是不可能的,因?yàn)檫@個(gè)flash是從內(nèi)部讀取xml的,在外面怎么改都不能動(dòng)態(tài)顯示,我***還想通過禁用緩存的方法來解決,但也是不可能的,我甚至想了一個(gè)更絕的辦法:直接拿修改后的xml去覆蓋windows臨時(shí)文件夾的xml。

但還是行不通,***實(shí)在不行了就只能把flash給反編譯了,不過幸好flash的代碼不那么麻煩,沒找多久久找到了那個(gè)載入的函數(shù)

  1. function load(url)  
  2. {  
  3.       xml.load(url);  

然后我直接在url后加上了隨機(jī)變量

  1. function load(url)  
  2. {  
  3.       xml.load(url+“?"+Math.random());  

這樣ASP.NET中實(shí)現(xiàn)可動(dòng)態(tài)更新Flash統(tǒng)計(jì)圖就OK了

本文來自Darryn博客園文章《在ASP.NET中使用可動(dòng)態(tài)更新的flash統(tǒng)計(jì)圖

【編輯推薦】

  1. ASP.NET控件學(xué)習(xí)總結(jié)
  2. 有關(guān)ASP.NET MVC框架的一些基礎(chǔ)知識(shí)
  3. 再談ASP.NET緩存機(jī)制:開發(fā)效率與優(yōu)化的平衡
  4. 如何避免ASP.NET緩存占用系統(tǒng)資源
  5. 點(diǎn)評(píng)一下ASP.NET的WEB控件
責(zé)任編輯:彭凡 來源: 博客園
相關(guān)推薦

2009-07-28 10:01:16

ASP.NET Exc

2009-08-04 18:05:37

動(dòng)態(tài)編譯ASP.NET

2009-07-29 13:43:52

UpdatePanelASP.NET

2009-08-02 11:48:58

ASP.NET水晶報(bào)表ASP.NET

2009-07-21 15:40:59

Asp.Net動(dòng)態(tài)頁(yè)面

2009-08-04 18:10:35

ASP.NET動(dòng)態(tài)編譯

2009-07-28 15:29:03

實(shí)現(xiàn)HTTP請(qǐng)求ASP.NET

2009-04-01 12:00:43

ASP.NETMVC

2009-08-04 15:58:06

ASP.NET動(dòng)態(tài)控件

2009-07-28 13:48:28

ASP.NET樹形圖

2009-07-22 17:45:35

ASP.NET教程

2010-12-29 09:02:30

動(dòng)態(tài)構(gòu)建語句ASP.NET

2009-07-30 15:50:49

ASP.NET中網(wǎng)站訪

2009-08-03 14:22:33

什么是ASP.NET

2009-07-28 17:17:19

ASP.NET概述

2009-07-27 09:31:06

定義JavaScripASP.NET

2009-07-27 15:25:40

aspx頁(yè)面ASP.NET

2009-01-04 13:27:10

URL RewriteIISASP.NET

2009-07-27 12:22:03

ASP.NET和ASPASP.NET入門教程

2009-07-21 11:11:44

刪除CookieASP.NET
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)