javascript - 将 viewbag 转换为 javascript 数组

标签 javascript asp.net-mvc arrays viewbag

我想从 ViewBag.mytags 获取数据到一个 Javascript 数组,但是我无法实现这一点

$(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')
    });
}

这是我的 Controller

ViewBag.mytags = mp3.TagSuggestion();

这是我的模型

public IQueryable<string> TagSuggestion() 
{ 

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

    return tabs; 

} 

最佳答案

请按照以下步骤

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

内部 MVC Controller :

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

在 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>

关于javascript - 将 viewbag 转换为 javascript 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12454371/

相关文章:

javascript - 如果验证函数返回true,则关注下一个元素

javascript - 通过在 javascript 中连接对象数组,排序或插入效率更高吗?

javascript - 同位素:从Google Spreadsheet加载的动态JSON

javascript - 对链接数组进行排序

asp.net - ASP.NET 中获取当前域的最佳方法是什么?

asp.net-mvc - FluentValidation 将参数传递给 WithMessage

html - <table> 样式元素未显示

java - 以不同的顺序从测试方法返回输入,然后将它们提供给方法

arrays - flatMap 中的 "Cannot convert return expression",其中包含无意义的表达式

javascript - jQuery-从AJAX响应中分离JSON和HTML