在EditPop中使用MultiSelect进行Kendo Grid,在保存时将[Object Object]发送到服务器

时间:2013-12-11 14:30:51

标签: kendo-ui kendo-grid mvc-editor-templates kendo-multiselect

我使用Kendo MultiSelect作为UIHint作为Kendo Grid中的一列。我试图将逗号分隔字符串中的multiSelect的选定值发送到数据绑定项中的服务器。

具有UIHint的实体是这样的:

public class Test 
{
    [UIHint("Labels")]
    public string Labels { get; set; }
    //other properies
}

我有一个Test类型的剑道网格,即

@(Html.Kendo().Grid<Test>().Name("gridMain").Colum...

UIHint Labels.cshtml是这样的:

@(Html.Kendo().MultiSelect().Name("Labels") 
    .DataValueField("Id") 
    .DataTextField("Name") 
    .DataSource(s =>
    {
        s.Read(read => read.Action("Labels_Read", "Library"))
    })
)

当我添加/编辑项目并单击“保存”时,我总是在服务器端的“标签”属性中收到[Object Object]值,如:

public ActionResult Test_Save(Test obj)
{
   //obj.Labels is always having "[Object Object]" value

   // rest of the logic 
}

我经历了this和其他几个人,甚至尝试拦截RequestStart上的请求并明确修改添加/编辑的item .Labels值,仍然是我的obj(在服务器上) )收到[Object Object]

1 个答案:

答案 0 :(得分:2)

以下设置应该对您进行排序,问题描述为here

 data-value-primitive="true"

来自多选的选定值是keyvalue对text和id,它是[Object Object]的来源。您还可以在parameterMap

中修复此问题以及任何其他与参数相关的问题