0

有很多示例如何从静态内容中设置图标。例如:

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

是否可以通过 ${data.ImageId} 从数据库中设置图像 src?我试图制作控制器方法并粘贴Url.Action而不是default-photo但编译器不明白我想要做什么。

感谢提前!

4

1 回答 1

2

如果您的data对象中有图像名称并且图像在您的 Content 文件夹中,您可以使用Url.Content()它来获取它的路径,如此处所示。所以你的模板可能是这样的:

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

该 url 将导致类似:Content/Images/image.jpg.

但是,如果您只有 id 并且需要将图像 成为 http 响应,您可以为此创建一个操作方法,如此处所示。所以你的模板是:

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

该 url 将导致类似:Search/GetImage/1.

在这两种情况下,您都以某种方式将Javascript变量连接到 ASP.Net 字符串中,如我朋友的这个答案所示。

于 2016-03-31T18:03:49.707 回答