我有一个名为Priority的表,它有一个名为IconUrl的列,用于存储图标的路径,如下所示:
| ID | Priority | IconUrl
------------------------------------------------------------|
| 0 | Normal | /../../Content/icons/normal.png |
| 1 | Urgent | /../../Content/icons/urgent.png |
| 2 | Blocker | /../../Content/icons/blocker.png |
我想根据Kendo Grid上每条记录的IconUrl值显示图标。我尝试了一些如下所示的方法,但它们都没有解决问题。如何设法只显示图标图像?
columns.Bound(c => c.Priority).ClientTemplate("<img src='" + Url.Content("~/") + "#=IconUrl#' height='62' width='62'/>");
或
columns.Bound(c => c.Priority).ClientTemplate("<img src='" + Url.Content("#=Model.IconUrl#") + "'/>'");
答案 0 :(得分:2)
问题可能是由您网址开头的'/../../'
造成的。
打开浏览器开发人员工具,查看单元格可以看到哪些URL。
如果您的内容文件夹位于您的主目录或项目目录中,那么使用Priority
col中的文本重新创建网址可能会有效。
columns.Bound(c => c.Priority).ClientTemplate("<img src='" + Url.Content("~/Content/icons/") + "#=Priority.toLowerCase()#.png' height='62' width='62'/>");
Url.Content function is used to map virtual paths。例如,在其他应用中使用应用。如果在传递给函数的字符串的开头没有波浪号,它将只返回url字符串。
因此,在您的第二个示例中,调用"<img src='" +Url.Content("#=IconUrl#") + "'/>'"
将产生与<a src='#=IconUrl#'>