Kendo Grid с MultiSelect в EditPop, отправка [Object Object] на сервер при сохранении

Я использую 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 
}

Я прошел через это и некоторые другие даже пытались перехватить запрос на RequestStart и явно изменить добавленное/отредактированное значение item .Labels, тем не менее, мой объект (на сервере) получает [Object Object].


person Manish Mishra    schedule 11.12.2013    source источник


Ответы (1)


Следующая настройка должна помочь вам разобраться, проблема описана здесь:

 data-value-primitive="true"

Выбранное значение из вашего множественного выбора представляет собой пару ключ-значение текста и идентификатора, которая является источником [Object Object]. Вы также можете исправить эту и любые другие проблемы, связанные с параметрами, в parameterMap.

person Vojtiik    schedule 11.12.2013