1

我正在使用我Kendo MultiSelect的. 我正在尝试以逗号分隔的字符串将 multiSelect 的选定值发送到数据绑定项中的服务器。UIHintKendo Grid

具有 的实体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]在服务器端的 Labels 属性中收到值,如下所示:

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

   // rest of the logic 
}

我已经经历了这个和其他几个,甚至试图拦截请求并明确RequestStart修改添加/编辑的值,仍然,我的 obj(at server) 接收。item .Labels[Object Object]

4

1 回答 1

2

以下设置应该可以解决您的问题,此处描述了问题:

 data-value-primitive="true"

从您的多选中选择的值是文本和 id 的键值对,即[Object Object]. 您还可以在 parameterMap 中修复此问题以及任何其他与参数相关的问题

于 2013-12-11T17:00:14.080 回答