更清洁的方式来编辑KendoGrid模板

时间:2014-12-11 04:14:33

标签: javascript c# asp.net-mvc razor kendo-grid

我想为我的KendoGird使用自定义模板,我在网格中嵌套了详细信息 这是我的代码:

@(Html.Kendo()
      .Grid(Model)
      .Name("grid")
      .Columns(columns =>
          {
              columns.Template(@<text></text>)
                     .ClientTemplate(
                          "<div>" +                                      
                          "<div style=\"float:left\">#= SomeFeild1#</div>" +                                      
                          "<div style=\"clear:both;\">" +
                          "#= SomeFeild2#" +
                          "</div>" +
                          "<div class=\"attache\" style=\"clear:both\">" +
                          "#=CreateGrid(Id)#" +
                          "</div>" +                                     
                          "</div>");
          })
   .Sortable()
   .Pageable()
   .DataSource(dataSource => dataSource
                   .Ajax().PageSize(20)
                   .ServerOperation(false)))

并且此JavaScript函数以html格式返回嵌套详细信息:

function CreateGrid(id) {
    return "Some more html";
}

一切正常,但很糟糕,如果我想做出最轻微的改变就很难 我怎么能以更清洁的方式做到这一点?

1 个答案:

答案 0 :(得分:2)

你可以这样做:

 columns.Bound(p => p.Column1).ClientTemplate("#= getTemplate() #");

<script>
function getTemplate() {
    var html = kendo.format("<a href='{0}/{1}'>Show Product Details</a>",
        param1,
        param2
    );

    return html;
}
</script>

this link

中的更多信息