dr ammar dr ammar -4 years ago 237
Javascript Question

Convert viewbag to javascript array

I want to get the data from the ViewBag.mytags to a Javascript array, but I was not able to avhice this

$(function () {
var sampleTags = new Array();
var array = @Html.Raw(Json.Encode(@ViewBag.mytags));
for(var i =0; i<array.length;i++){
sampleTags[i] = array[i];
}
$('#singleFieldTags').tagit({
availableTags: sampleTags,
singleField: true,
singleFieldNode: $('#mySingleField')
});
}


This is my controller

ViewBag.mytags = mp3.TagSuggestion();


This is my Models

public IQueryable<string> TagSuggestion()
{

IQueryable<string> tabs = from s in db.tblTags select s.Title;

return tabs;

}

Answer Source

Please follow these step

public IList<string> TagSuggestion() 
{ 
    IQueryable<string> tabs = from s in db.tblTags select s.Title; 
    return tabs.toList(); 
}

Inside MVC Contoller :

ViewBag.mytags = mp3.TagSuggestion().toList();

In view:

<script>
    $(function () {
        var sampleTags = new Array();
        var array = @Html.Raw(Json.Encode(@ViewBag.mytags));
        for(var i =0; i<array.length;i++){
            sampleTags[i] = array[i];
        }  

        $('#singleFieldTags').tagit({
            availableTags: sampleTags,
            singleField: true,
            singleFieldNode: $('#mySingleField')
        });
    });
</script>
Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download