0

Ich versuche Kendo Autocomplete mit ihrem Tutorial zu konfigurieren. Das Problem ist, dass die automatische Vervollständigung Kontrollanzeige anstelle von Sachwert-Objekte, die ich in Kendo Initialisierung gesetzt (siehe Capture):Kendo Autocomplete zeigt [Objekt Objekt] anstelle von propery Wert

@(
    Html.Kendo().AutoComplete() 
    .Name("products") 
    .Placeholder("Find Product...") 
    .DataTextField("Name") 
    .Template("<span><img src='/Content/Images/default-photo.jpg' " + 
    "width='20' height='20' />&nbsp;${data}</span>") 
    .DataSource(source => 
    { 
     source.Read(read => 
     { 
      read.Action("GetProducts", "Search") 
      .Data("onAdditionalData"); 
     }) 
      .ServerFiltering(true); 
    }) 

) 

<script> 
    function onAdditionalData() { 
     return { 
      text: $("#products").val() 
     }; 
    } 
</script> 

enter image description here

Nachdem ich diesen Artikel klicken Sie auf den Namen zeigt richtig: enter image description here

Meine Aktion Rückgabetyp ist return Json(products, JsonRequestBehavior.AllowGet); wo Produkte ist ICollection<VmProduct> Was ist los?

+0

Der Rückgabetyp von 'onAdditionalData' ist ein Objekt mit einem Text namens' text'. versuche direkt '$ (" # products ") zurückzugeben. val()' –

Antwort

1

Sie haben DataTextField eingestellt, aber Sie überschreiben es, wenn Sie Template einstellen, weil Kendo die Vorlage ausführen wird, anstatt das von Ihnen festgelegte Feld zu erhalten. Aber das ist nicht das Problem, das Problem ist, dass Sie in Ihrer Vorlage das Objekt data drucken, was eigentlich ein Objekt ist. Sie müssen die Eigenschaft, die sich auf den Vorschlagstext bezieht, z. B.

senden

Geben Sie es einen Versuch und sagen Sie uns, was passiert.

+0

Du rettest mein Leben! Vielen Dank! – user3818229

+0

@ user3818229 np, froh zu helfen! Denken Sie daran, als Antwort zu markieren. – DontVoteMeDown