0

Es gibt viele Beispiele, wie Symbol aus statischem Inhalt festgelegt wird. Zum Beispiel:Kendo Autocomplete-Vorlage img src aus der Datenbank

Html.Kendo().AutoComplete() 
    .Name("employess") 
    .Placeholder("Find Product..") 
    .DataTextField("Name") 
    .HighlightFirst(true) 
    .Template("<span><img src='/Content/Images/default-photo.jpg' " + 
    "width='20' height='20' />&nbsp;${data.Name}</span>") 
... 

Ist es möglich, Bild src aus der Datenbank von $ {} data.ImageId gesetzt? Ich habe versucht, Controller-Methode zu machen und Url.Action anstelle von default-photo einfügen, aber Compiler versteht nicht, was ich tun möchte.

Danke für den Fortschritt!

+0

Es sollte funktionieren. Ihre Aktion sollte etwas wie [dies] (http://stackoverflow.com/a/1349318/1267304) und '' sollte auch funktionieren. – DontVoteMeDown

+0

@DontVoteMeDown Ich kann den Bild-ID-Wert nicht übergeben: 'Url.Action (" GetImage "," Suche ", neue {imageId = data.ImageId})' – user3818229

+0

Dieser Teil ist einfach, überprüfen Sie meine Antwort. – DontVoteMeDown

Antwort

2

Wenn Sie die Bildnamen in Ihrem data Objekt haben und das Bild in Ihrem Content-Ordner, können Sie Url.Content() verwenden Sie den Pfad, um es zu bekommen, wie here zeigten. So könnte Ihre Vorlage wie: Content/Images/image.jpg:

.Template("<span><img src='" + Url.Content("~/Images/") + "${data.ImageName}' " + 
"width='20' height='20' />&nbsp;${data.Name}</span>") 

Die URL in so etwas wie führen.

Aber wenn Sie nur die ID haben und müssen das Bild als HTTP-Antwort generieren, können Sie eine Aktion-Methode für das Erstellen, wie here zeigte. So würde die Vorlage sein: Search/GetImage/1:

.Template("<span><img src='" + Url.Action("GetImage", "Search") + "/${data.ImageId}' " + 
"width='20' height='20' />&nbsp;${data.Name}</span>") 

Die URL in so etwas wie führen.

In beiden Fällen müssen Sie irgendwie concat das Javascript-Variable in einem ASP.Net-String, wie in this answer von einem Freund von mir zeigt.