ASP.NET MVC, jquery autocomplete de la valeur et un champ de texte

contrôleur

public ActionResult Search(string id)
{
     id= Request.QueryString["term"];         
     var routeList = db.Movies.Where(r => r.Title.Contains(id))
                   .Take(5)
                   .Select(r => new { id = r.MovieID, label = r.Title, name = "MovieID" });
     return Json(routeList, JsonRequestBehavior.AllowGet);
}

Vue:

<input type="hidden"   id="MovieID"  name="MovieID" />
<input type="text" id="SelectedMovie" value=""/>
<script type="text/javascript" language="javascript">
   $("#SelectedMovie").autocomplete({
       source: function (request, response) {
           $.ajax({
              url: "/Transaction/Search", type: "POST", dataType: "json",                        
              data: { id: request.term }, 
              success: function (data) {
              response($.map(data, function (item) {                                
                return { label: item.label, value: item.id }; //updated code
               }));
             }
         });
     },
     select: function (event, ui) {
         $("#MovieID").val(ui.item.value);
         $("#SelectedMovie").val(ui.item.label);
         return false;
     }
  });
</script>

J'ai une sorte de videostore app. Quand je vais louer un film que j'ai besoin d'un combobox avec les films que j'ai peut sélectionner à l'aide de la saisie semi-automatique.
Aussi exigence est que seul le code (valeur) est enregistrée dans le databas et non le texte lui-même.

EDIT: voici l'intégralité de travail exqample

  • Le 1er s'il vous plaît dites-moi si mon contrôleur est OK ? quand je le lance manuellement je n'obtenez pas de résultats , en terme de recherche (id) est passé comme nulle ??
  • Je m'attends à passer request.term PAS request.id à la $.ajax() appel.
InformationsquelleAutor Jalle | 2012-09-20