J’ai les champs suivants dans mon modèle de vue et j’essaie de l’utiliser dans une complétion automatique. Dans le cas où la valeur n’existe pas, ajoutez une nouvelle valeur à la table.
Cependant, la valeur transmise au contrôleur est toujours null
.
Je pense que le problème est ici
“@ Html.TextBoxFor ( m => m.Genres , nouveau {@class =” contrôle de formulaire “, @ id =” terme “})”
- pourquoi webgrid passe toujours par défaut
- téléchargement d’une image avec ajax MVC
- Le champ de formulaire anti-falsification requirejs «__RequestVerificationToken» n’est pas présent dans l’appel ajax
- Comment envoyer des données et une image ensemble via ajax json dans asp.net mvc
- Que se passe-t-il entre un clic sur un bouton et l’exécution de la méthode Javascript?
Je dois obtenir la propriété .Name . Je préfère ne pas changer de machine virtuelle.
public class LectureFormViewModel { public int Id { get; set; } //Values public byte Genre { get; set; } public IEnumerable Genres { get; set; } } public JsonResult GetGenresName(ssortingng term) { var genre = _context.Genres .Where(gn => term == null || gn.Name.ToLower().Contains(term.ToLower())).Select(x => new { id = x.Id, value = x.Name }).Distinct().ToList(); return Json(genre, JsonRequestBehavior.AllowGet); } @using (Html.BeginForm("Create", "VoosUp", FormMethod.Post, new {enctype = "multipart/form-data", id = "RestoForm"})) { //values @Html.LabelFor(model => Model.Genre, new {@class = "control-label"}) @Html.TextBoxFor(m => m.Genres, new {@class = "form-control", @id = "term"}) @Html.ValidationMessageFor(m => m.Genres) } @section scripts { @Scripts.Render("~/bundles/jqueryval") $("#term").autocomplete({ source: function(request, response) { $.ajax({ url: '@Url.Action("GetGenresName", "VoosUp")', data: "{'GetGenresName': '" + request.term + "' }", dataType: 'json', type: "POST", contentType: "application/json; charset=utf-8", dataFilter: function(data) { return data; }, success: function(data) { console.log(term), console.debug(); response($.map(data, function(item) { return { label: item.value, value: item.value, id: item.id } })); } }); }, minLength: 2 });