2015-05-24 2 views
0

Я работаю с Chart.js. Я требую -Получить строку [] в режиме просмотра бритвы javascript от контроллера mvc

labels : ["Jan","Feb","Mar","Apr","May","Jun","Jul"], 

В моем коде контроллера я делаю this-

string[] Labels = new string[tbl.Rows.Count]; 
    for (int i = tbl.Rows.Count-1; i >0 ; i--) 
    { 
     Labels[i] = Convert.ToDateTime(tbl.Rows[i][0]).ToString("MMM") ; 
    } 

    Labels[0]= Convert.ToDateTime(tbl.Rows[0][0]).ToString("MMM") ; 
    ViewBag.ChartLabel = Labels; 

Все хорошо до этого момента.

Проблема возникает, когда я хочу использовать это значение на странице бритвы.

<script> 
    labels : [], //How can i use ViewBag.ChartLabel here? 
</script> 

ответ

3

Самый простой способ сделать это - вставить значения в массив.

<script> 
var labels = []; 
@foreach(var label in ViewBag.ChartLabel) 
{ 
    <text> 
     labels.push('@label'); 
    </text> 
} 
</script> 

Вы можете найти здесь более ways to convert, тот, который я думаю, что это лучший

var labels = @Html.Raw(Json.Encode(ViewBag.ChartLabel)); 
+0

Да, его работа. Любая другая идея без цикла? –

Смежные вопросы