2011-12-16 95 views
1

我想用后端函数填充几个名称来填充jquery数组。 这是脚本:从IList列表中填充jquery数组

var availableTags = '@Url.Action("PopSearch", "Home")'; 
    $("#searchtxt").autocomplete({ 
     source: availableTags 
    }); 

public ActionResult PopSearch() 
    { 
     IndustryManager manager = new IndustryManager(); 
     ProductRangeManager manager2 = new ProductRangeManager(); 
     ProductCategoryManager manager3 = new ProductCategoryManager(); 

     IList<Industry> industryList = manager.GetIndustries(); 
     IList<ProductRange> rangeList = manager2.GetAllProductRanges(); 
     IList<ProductCategory> categoryList = manager3.GetAllProductCategories(); 
+1

为什么不提取和交付的名字服务器端作为一个列表,而不是三? – tvanfosson 2011-12-16 11:52:06

回答

0

为了更好的服务表现,你可以prepeare在服务器端的数据,并在单个阵列中返回。在客户端,这是很简单的修改使用remote datasource

$("#searchtxt").autocomplete({ 
     source: '@Url.Action("PopSearch", "ControllerName")' 
    }); 

更新:您可以coimbine像值:

var result = industryList.Select(x => x.Name) 
       .Union(rangeList.Select(x => x.Name)) 
       .Union(categoryList.Select(x => x.Name)).ToArray(); 
+0

你可以使用linq来组合它。也许这不是一个最好的解决方案,但我添加了样本。 – Samich 2011-12-16 12:02:59