2013-06-01 159 views
0

我試圖建立在我的Asp.net網頁中的圖表,我的代碼是在如下代碼隱藏文件從Javascript中的類訪問函數?

  string WriteStr = ""; 
      WriteStr = ""; 
      WriteStr += "<?xml version='1.0' encoding='UTF-8'?>"; 
      if (DtIndsutry.Rows.Count > 0) 
      { 
       WriteStr += "<chart>"; 
       WriteStr += "<series>"; 
       for (int i = 0; i < DTTable.Rows.Count; i++) 
       { 

        WriteStr += "<value xid='" + i + "'>"; 

        string Data = DTTable.Rows[i]["Name"].ToString(); 

        WriteStr += Data; 
        WriteStr += "</value>"; 
       } 


       WriteStr += "</series>"; 
       WriteStr += "<graphs>"; 
       WriteStr += "<graph gid='1'>"; 
      } 
      for (int i = 0; i < DTTable.Rows.Count; i++) 
      { 

       WriteStr += "<value xid='" + i + "'>"; 

       string percent= DTTable.Rows[i]["Percent"].ToString(); 

       WriteStr += percent; 
       WriteStr += "</value>"; 
      } 


      WriteStr += "</graph>"; 

      WriteStr += "</graphs>"; 
      WriteStr += "</chart>"; 

      Response.Write(WriteStr); 

,並在我的aspx頁面

  <script type="text/javascript" language="javascript"> 

    function GetBarChart() { 

     var RequestUrl = "../Client/ChartPage.aspx"; 

     var oi = new SWFObject("../amcolumn/amcolumn.swf", "CategoryRet", "1000", "280", "8", "#ffffff"); 
     oi.addVariable("path", "../amcolumn/"); 
     oi.addVariable("settings_file", encodeURIComponent("../amcolumn/amcolumn_settings_mf.xml")); 
     oi.addParam("wmode", "opaque"); 
     oi.addVariable("data_file", encodeURIComponent(RequestUrl)); 
     oi.write("GetBarChart"); 
    } 

 <div id="GetBarChart"> 
      <script language="javascript" type="text/javascript"> 
       GetBarChart(); 
      </script> 
     </div> 

現在我的問題是當我的代碼後面包含一些其他代碼D當我嘗試創建此圖表會發生什麼是數據打印在我不想要的xml格式的網頁頂部

但是,當我爲圖表創建一個單獨的類時,圖表顯示正常。 然而,第二種方法的問題是每個圖表都必須創建一個新的類,這也是不推薦的。

我該如何實現這個目標? 我可以使用JavaScript訪問類中的方法嗎?

謝謝大家

回答

0

您是否嘗試過使用Page.ClientScript.RegisterStartupScript()?

string jsScript = null; 

jsScript = "<script type='text/javascript'>" + Constants.vbCrLf; 
jsScript += "function GetBarChart();" + Constants.vbCrLf; 
jsScript += "{" + Constants.vbCrLf; 
       /* add your logic here */ 
jsScript += "}" + Constants.vbCrLf; 
jsScript += "</script>"; 

Page.ClientScript.RegisterStartupScript(this.GetType(), "myscript", jsScript); 

您也可以參考此鏈接http://msdn.microsoft.com/en-us/library/asz8zsxy.aspx