【问题标题】:Kendo UI Grid - MVC - Looping collection of entity (view model) on ClientRowTemplateKendo UI Grid - MVC - ClientRowTemplate 上的实体(视图模型)循环集合
【发布时间】:2013-04-05 13:35:44
【问题描述】:

是否可以使用包含复杂类型列表的实体模型创建 clientrowtemplate 以显示某些字段?我创建了一个服务器端行模板,但是当我在数据源上切换 ajax 时,它不起作用。我认为这是预期的。但是如何创建一个复杂的模板来显示带有 ajax 的集合作为 MVC 上的自定义行模板呢?

【问题讨论】:

    标签: asp.net-mvc templates telerik kendo-ui kendo-grid


    【解决方案1】:

    已解决

    对于干净的代码,将委托与任何其他代码块分开。注意代码末尾的 ToString() 以字符串形式获取结果,而不是 HelperResult。

    @{
        Func<Grid<MyModel>, string> clientRowTemplate = @<div class="order-info">
            <div class="order-info-items cell">
            # if (data.OrderItemList) { #
                # for (var i in data.OrderItemList) { #
                    # if (data.OrderItemList[i].ID) { #
                        <img src="#= data.OrderItemList[i].ImageUrl #" alt="#= data.OrderItemList[i].ItemName #" width="100" height="100" />
                    # } #
                # } #
            # } #
            </div>
        </div>.ToString();
    }
    

    然后将其作为参数传递给 ClientRowTemplate 方法:

    @(Html.Kendo().Grid(Model)
        .Name("grd")
        .Columns(columns =>
        {
            /*columns*/
        })
        .DataSource(dataSource => dataSource
            .Ajax()
            .Read(read => read.Action("Orders_Read", "Home"))
        )
        .ClientRowTemplate(clientRowTemplate)
    

    希望对你有帮助。

    【讨论】:

    • 感谢今天对我的帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多