2014-09-02 59 views
1

我發送ListViewBagView必須通過此列表作爲參數傳遞給函數,但我不能在我的函數中獲取該列表。傳遞一個列表到圖像src

下面的代碼:

@{ 
     List<Statistic> i = ViewBag.list ; 
    } 

<img src="/Chart/[email protected](System.Web.UI.DataVisualization.Charting.SeriesChartType.Column)&[email protected]" alt="" /> 

所以,請幫助我。

+0

請看看StackOverflow的幫助>遊覽(按鈕在右上角)並發表評論。 – pid 2014-09-02 11:10:22

回答

0

你必須將它轉換到該類型:

@{ 
     var i = ViewBag.list as List<Statistic>; 

} 

或:

@{ 
      var i = (List<Statistic>)ViewBag.list; 

} 
0

指派該值的Image src做像下面。

您的值賦值不適合圖像src。

<img src="/Chart/CreateChart?chartType=" + @(System.Web.UI.DataVisualization.Charting.SeriesChartType.Column) + "&list=" + @i alt="" /> 

我們不能直接給img src分配一個類。它永遠不會在Html中編譯。你有沒有其他Js/Cs圖書館編輯在你的最後?

+0

對象統計包含兩個屬性X和Y,我需要孔列表來創建我的圖表 – soumia 2014-09-02 11:12:08

+0

@soumia請參閱我的更新答案。並在此發佈您的答案作爲評論。因爲它不是答案。它應該是一個評論。 – RajeshKdev 2014-09-02 11:41:12

+0

好吧,我在這裏很新很抱歉 – soumia 2014-09-02 13:24:56

0

我通過我把它放在SRC之前執行我的列表的系列化解決了這個問題,然後我反序列化時,我拿回來在我的功能象下面這樣:

首先在我的控制器序列化的我的名單

string jsonString = JsonHelper.JsonSerializer<IList<Statistic>>(list); 

     ViewBag.list =jsonString; 

,並在我的行動createchart我反序列化我的列表:

IList<Statistic> lists = JsonHelper.JsonDeserialize<IList<Statistic>>(list); 

,這是JsonHelper類:

public class JsonHelper 
{ 
    /// <summary> 
    /// JSON Serialization 
    /// </summary> 
    public static string JsonSerializer<T>(T t) 
    { 
     DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(T)); 
     MemoryStream ms = new MemoryStream(); 
     ser.WriteObject(ms, t); 
     string jsonString = Encoding.UTF8.GetString(ms.ToArray()); 
     ms.Close(); 
     return jsonString; 
    } 
    /// <summary> 
    /// JSON Deserialization 
    /// </summary> 
    public static T JsonDeserialize<T>(string jsonString) 
    { 
     DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(T)); 
     MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(jsonString)); 
     T obj = (T)ser.ReadObject(ms); 
     return obj; 
    }