Asp.net mvc 3 剑道网格,显示带有客户端模板的列表

Asp.net mvc 3 剑道网格,显示带有客户端模板的列表,asp.net-mvc-3,kendo-grid,Asp.net Mvc 3,Kendo Grid,我试图让剑道网格在客户机模板中使用for循环来显示一个值列表,但在我尝试时它会不断破坏网格。网格如下所示: @( Html.Kendo().Grid<ProjectXMVC3.ViewModel.PersonnelIndexViewModel>() .Name("Personnel") .Columns(columns => { columns.Bound(o => o.AssetId).Hidden(); colu

我试图让剑道网格在客户机模板中使用for循环来显示一个值列表,但在我尝试时它会不断破坏网格。网格如下所示:

@( Html.Kendo().Grid<ProjectXMVC3.ViewModel.PersonnelIndexViewModel>()
    .Name("Personnel")
    .Columns(columns =>
    {
        columns.Bound(o => o.AssetId).Hidden();
        columns.Bound(o => o.Num).Hidden();
        columns.Bound(o => o.Name).Width(150);
        columns.Bound(o => o.Email).Width(200);
        columns.Bound(o => o.AssetSubType).ClientTemplate("# var j = AssetSubType.length; for(var i = 0; i < j; i++){# #: AssetSubType[i] #  #}#"  );
        columns.Bound(o => o.DateBirth).Format("{0:d}").Width(100);
        columns.Bound(o => o.Country).Title("Nationality").Width(200);
        columns.Command(com => {
            com.Custom("Details").Click("onPersonSelected");
            com.Custom("Block").Click("onBlocked");
        });
    })
    .DataSource(d => d
        .Ajax()
        .Model(model => model.Id(p => p.AssetId))
        .Read(read => read.Action("Read_Personnel", "Personnel"))
    )
@(Html.Kendo().Grid())
.姓名(“人员”)
.列(列=>
{
columns.Bound(o=>o.AssetId.Hidden();
columns.Bound(o=>o.Num).Hidden();
columns.Bound(o=>o.Name).Width(150);
columns.Bound(o=>o.Email).Width(200);
columns.Bound(o=>o.AssetSubType).ClientTemplate(“#var j=AssetSubType.length);for(var i=0;io.DateBirth.Format(“{0:d}”).Width(100);
列。装订(o=>o.Country)。标题(“国籍”)。宽度(200);
columns.Command(com=>{
com.Custom(“详细信息”)。单击(“onPersonSelected”);
com.Custom(“Block”)。单击(“onBlocked”);
});
})
.DataSource(d=>d
.Ajax()
.Model(Model=>Model.Id(p=>p.AssetId))
.Read(Read=>Read.Action(“Read_personal”,“personal”))
)
)

我可以使用if语句来显示单个AssetSubType,但一旦我放入循环,它就会抛出一个双6并放弃。AssetSubType是ViewModel的IEnumerable

我做过任何分类,过滤等等。我也是剑道新手


非常感谢您的帮助

我也遇到了同样的问题,用这样的方法解决了它:

首先添加一个新脚本,并在其中移动for循环:

<script type="text/javascript">
    function printAssetSubType(AssetSubType) {
        var result = "";
        var j = AssetSubType.length; 
        for(var i = 0; i < j; i++) {
            result += AssetSubType[i];
        }
        return result;
    }
</script>

您还可以在PersonnelIndexViewModel类中添加一个新字段,并准备要在控制器中显示的服务器端字符串

控制器:

myViewModel.AssetSubTypeString = String.Join(", ", myAssetSubTypes);
视图:

myViewModel.AssetSubTypeString = String.Join(", ", myAssetSubTypes);
columns.Bound(o => o.AssetSubTypeString);