asp.net-mvc - 剑道格子形象栏

标签 asp.net-mvc asp.net-mvc-4 kendo-ui kendo-grid kendo-asp.net-mvc

在处理 MVC4 项目时,我尝试向我的剑道网格添加一列来显示图像。

<div id="datagrid">
    @(Html.Kendo().Grid<SustIMS.Models.ConcessionModel>()
    .Name("datagrid_Concessions")
    .Columns(columns =>
    {
        columns.Bound(c => c.Code).Title(ViewBag.lblCode);
        columns.Bound(c => c.Description).Title(ViewBag.lblDescription);
        columns.Template(@<text>
                <img src='@item.Image' /> 
            </text>
            ).Title("Image");
    })

我已经尝试过了,但没有成功。还尝试过:

columns.Template(@<text>
         <img src='../../Images/pic.png' /> 
    </text>
    ).Title("Image");

无论我在 Controller 中定义图像 src 还是直接将其写入 View 中,图像都不会显示。

我已经检查了 thisthis问题但图像未显示。

有人可以帮忙吗?

编辑

这是特许经营模式:

public class ConcessionModel
    {
        public string Id { get; set; }
        public string Code { get; set; }
        public string Description { get; set; }
        public string TrafficOpeningDate { get; set; }
        public string CreationDate { get; set; }
        public string CreationUser { get; set; }
        public string Image { get; set; }
        ...

Image 属性是一个字符串,其中包含类似“C:\whatever\pic.png”的内容

最佳答案

尝试这样,

columns.Template(e => { }).ClientTemplate("<img src='../../Images/pic.png'/>").Width(140).Title("Image");

演示:

查看

@(Html.Kendo().Grid<Category>().Name("people")
    .DataSource(dataSource => dataSource
        .Ajax()
        .Model(model =>
        {
            model.Id(m => m.Id);
        })
            .Read(read => read.Action("GetCategory", "Category"))
    )
    .Columns(columns =>
    {
        columns.Bound(c => c.Id);
        columns.Bound(c => c.ImageUrl).ClientTemplate("<img src='" + Url.Content("~/CategoryImage/") + "#=ImageUrl#' alt='#=Name #' Title='#=Name #' height='62' width='62'/>");

    })
)

型号

public class Category
    {
        [ScaffoldColumn(false)]
        public int Id { get; set; }

        public string Name { get; set; }

        [UIHint("FileUpload")]
        [Required]
        public string ImageUrl { get; set; }

        public string FileName { get; set; }

        internal static object ToDataSourceResult(Kendo.Mvc.UI.DataSourceRequest dsRequest)
        {
            throw new NotImplementedException();
        }
    }

Controller

 public static List<Category> Category = new List<Category>();

        private int _nextid = 4;

        static CategoryController()
        {
            Category.Add(new Category { Id = 1, Name = "Desert", ImageUrl = "Desert.jpg" });
            Category.Add(new Category { Id = 2, Name = "Hydrangeas", ImageUrl = "Hydrangeas.jpg" });
            Category.Add(new Category { Id = 3, Name = "Tulips", ImageUrl = "Tulips.jpg" });
        }

        public ActionResult Index()
        {
            ViewData["Category"] = Category;
            return View();
        }

        public ActionResult GetCategory([DataSourceRequest] DataSourceRequest dsRequest)
        {
            var result = Category.ToDataSourceResult(dsRequest);
            return Json(result);
        }

关于asp.net-mvc - 剑道格子形象栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25014428/

相关文章:

java - 在输入中插入数据并选择下拉选项后,提交按钮在 IE11 中使用 selenium 的表单中无效

javascript - Aurelia JS - 在 Kendo UI slider 更改时运行函数?

asp.net-mvc-4 - Web Api 共享 DTO

asp.net-mvc-4 - 如何为 Web API Controller 方法指定 ContentType

asp.net - 在 url 中手动使用 Web api 方法

javascript - jQuery.cookie 不存储我的 JSON 字符串

jquery - 无法在 mvc 4 中使用 jquery ajax 更新部分 View

angularjs - 无法获取 angularjs 中折叠树节点的数据源

asp.net-mvc - ASP.NET MVC 将包含表单的 HTML 页面转换为 PDF

c# - 将 Google map 包含在 .Net Core 中的正确方法?