0

Существует множество примеров установки значка из статического содержимого. Например:Kendo autocomplete template img src из базы данных

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

Можно ли установить SRC изображения из базы данных с помощью $ {data.ImageId}? Я попытался сделать метод контроллера и вставить Url.Action вместо default-photo, но компилятор не понимает, что я хочу делать.

Спасибо за наступление!

+0

Он должен работать. Ваше действие должно быть чем-то вроде [this] (http://stackoverflow.com/a/1349318/1267304) и '' должно работать. – DontVoteMeDown

+0

@DontVoteMeDown Я не могу передать значение идентификатора изображения: 'Url.Action (« GetImage »,« Поиск », новый {imageId = data.ImageId})' – user3818229

+0

Эта часть проста, проверьте мой ответ. – DontVoteMeDown

ответ

2

Если у вас есть имя изображения в вашем data объект и изображение находится в папке Content, вы можете использовать Url.Content(), чтобы получить путь к нему, как показал here. Таким образом, ваш шаблон может быть как:

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

URL, приведет к чему-то вроде: Content/Images/image.jpg.

Но если у вас есть только идентификатор и необходимо, чтобы сгенерировал изображение как ответ http, вы можете создать для него способ действия, как показано here. Так что ваш шаблон будет:

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

URL, приведет к чему-то вроде: Search/GetImage/1.

В обоих случаях вы как-то concat переменная Javascript в строке ASP.Net, как показано в this answer моего друга.