2011-03-21 74 views
6

我在我的模型有一個列表來填充在JavaScript數組,EmployeeList的如何使用通過型號列表發送的數據

在我看來,我想填充從EmployeeList的(從模型)的數組,並用它作爲自動完成爲標籤。看起來這個數組並沒有從列表中出現,也沒有自動完成工作。請幫助。

在查看代碼如下:

<title>jQuery Autocomplete example</title> 
<script type="text/javascript" src="../../scripts/jquery-1.2.6.js"></script> 
<script type="text/javascript" src="../../scripts/jquery.autocomplete.js"></script> 

<!-- Listing 14.3 --> 
<script type="text/javascript"> 
    $(document).ready(function() { 

    var employeeList = '@Model.EmployeeLis.toArray();' 


     $("#tags").autocomplete({ 
      source: employeeList 

     }); 
    }); 
</script> 

<h1>Type your name here</h1> 
<%= Html.TextBox("tags") %> 

回答

15

您可以使用JavaScriptSerializer類,這將產生你的模型數組JSON表示:

@using System.Web.Script.Serialization 
<title>jQuery Autocomplete example</title> 
<script type="text/javascript" src="@Url.Content("~/scripts/jquery-1.2.6.js")"></script> 
<script type="text/javascript" src="@Url.Content("~/scripts/jquery.autocomplete.js")"></script> 
<!-- Listing 14.3 --> 
<script type="text/javascript"> 
    $(function() { 
     var employeeList = @Html.Raw(new JavaScriptSerializer().Serialize(Model.EmployeeList)); 
     $('#tags').autocomplete({ 
      source: employeeList 
     }); 
    }); 
</script> 

另請注意我在腳本包含中使用Url.Content幫助程序的方式,以避免在部署應用程序時可能無法使用的硬編碼URL。