【问题标题】:Kendo Grid with MultiSelect in EditPop, Sending [Object Object] to the server on Save在 EditPop 中使用 MultiSelect 的 Kendo Grid,在保存时将 [Object Object] 发送到服务器
【发布时间】:2013-12-11 14:30:50
【问题描述】:

我将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...

UIHintLabels.cshtml是这样的:

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

当我添加/编辑一个项目并点击保存时,我总是在服务器端的 Labels 属性中收到[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]

【问题讨论】:

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


    【解决方案1】:

    以下设置应该可以解决您的问题,问题描述为here

     data-value-primitive="true"
    

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

    【讨论】:

      猜你喜欢
      • 2012-10-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多