2011-03-21 21 views
6

Tengo una lista en mi modelo, employeeListCómo rellenar una matriz de Javascript a partir de datos enviados a través de la Lista Modelo de

en mi opinión, yo quiero a rellenar una matriz de employeeList (de Modelo) y utilizarlo como autocompletar para etiquetas Parece que la matriz no está siendo poblada de la Lista ni tampoco funciona la autocompletar. Ayuda por favor.

El código en la vista es el siguiente:

<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") %> 

Respuesta

15

usted podría utilizar la clase JavaScriptSerializer que generará una representación JSON de que el modelo de matriz:

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

También tenga en cuenta la forma en que he utilizado el auxiliar Url.Content en las inclusiones de guiones para evitar urls de codificación rígida que podrían no funcionar cuando se implementa su aplicación.

Cuestiones relacionadas