我有一个名为 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#") + "'/>'");
最佳答案
该问题可能是由 '/../../'
引起的在你的网址的开头。
打开浏览器的开发者工具,查看单元格可以看到那里有什么网址。
如果您的内容文件夹位于您的主目录或项目目录中,则使用 Priority
中的文本重新创建 URL 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#'>
相同的结果
关于asp.net-mvc - 如何在 Kendo 网格单元格上将图标显示为值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32215230/