如何从模型列表中将数据自动完成传递给视图

时间:2013-10-08 13:32:29

标签: c# jquery asp.net-mvc-4 asp.net-web-api

我有一个问题:我使用MVC作为Web API,我想使用'data-autocomplete'选项作为'输入',但我不想用'@ Url.Action(字符串)获取数据actionName,string controllerName);' ,我想从视图中获取数据,因为模型列表从控制器传递。 与此@model List<Project_2.Models.CartiModels>一样,我不想像以下那样自动填充输入:data-autocomplete="@Url.Action("method", "controller")"

这是因为我希望列表在第一页加载时加载到视图中,并且每次客户端将另一个值引入文本框时都不会生成自己。

请帮帮我!谢谢

1 个答案:

答案 0 :(得分:0)

在您的视图中,您可以按以下方式执行此操作:

<script type="text/javascript">    
    $(document).ready(function() {
        // Assign your list to Jquery variable
         var list = @Model.Name; 
    }    

$(".txtAutocomplete").autocomplete({
    // Specify the source as the jquery variable
    source: function (request, response) {
        $.each(list, function (index, item) { // Iterate through your list
                itemList.push({ label: item.PropertyName, value: item.PropertyName2 });
        });
        response(itemList);
    },
    ..... 
 </script>