【问题标题】:Kendo autocomplete template img src from database来自数据库的剑道自动完成模板 img src
【发布时间】:2016-07-20 06:46:34
【问题描述】:

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

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 但编译器不明白我想要做什么。

感谢您的提前!

【问题讨论】:

  • 它应该可以工作。您的操作应该类似于 this&lt;img src='" + Url.Action("Image/1") + "' /&gt; 应该也可以。
  • @DontVoteMeDown 我无法传递图像 ID 值:Url.Action("GetImage", "Search", new {imageId = data.ImageId})
  • 这部分很简单,看看我的答案。

标签: javascript asp.net-mvc kendo-ui autocomplete kendo-template


【解决方案1】:

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

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

该网址将产生类似:Content/Images/image.jpg

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

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

该网址将产生类似:Search/GetImage/1

在这两种情况下,您都以某种方式 concat ASP.Net 字符串中的 Javascript 变量,如我朋友的this answer 所示。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-17
    • 2018-12-31
    • 2014-10-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多