0

前言:这在某一时刻有效,我改变了一些东西,但我不知道是什么导致它停止工作。这是在带有剑道 2014.3.1411.545 的 MVC5 上

所以我有一个 kendo mvc 网格,我的模板是这样调用的

.Editable(configurator =>
      configurator
          .Mode(GridEditMode.PopUp)
          .TemplateName("someEditor")
          .Window(x => x.Width(850))
          .CreateAt(GridInsertRowPosition.Bottom)
          .AdditionalViewData(new {CompanyId = Model})

好吧,好吧,没什么疯狂的。编辑器模板有一个像这样的剑道多选

@(Html.Kendo().MultiSelectFor(model => model.OrderIds)
  .DataTextField("Text")
  .DataValueField("Value")
  .DataSource(data =>
  {
      data.Read("AllOrders", "Orders", new { categoryId });
  })

我的模型有一个 orderIds 列表,它们只是字符串

public class SomeModel 
{   
    //usual, basic string properties, initialized it as a list
    public IEnumerable<string> OrderIds { get; set; }
}

我什至尝试过 string[]、ICollection 和 list——似乎没有任何东西可以将它序列化回控制器,至少现在没有了。无论我尝试什么,绑定似乎都无法拾起它。可能与现在尝试太多事情太久有关。

AllOrders 的数据源new { Text = Order.Number, Value=Order.Id}通过选择一个 orderId 及其显示编号来生成一个匿名对象 ( )。我尝试了 List 和其他一些结构,只是为了多选的乐趣,但没有什么能让我重新开始工作。数据在帖子中,就像 { text:"",value:"" } 的数组......有什么我可能会遗漏的想法吗?

4

1 回答 1

0

尝试将 ValuePrimitive 设置为 true

@(Html.Kendo().MultiSelectFor(model => model.OrderIds)
  .DataTextField("Text")
  .DataValueField("Value")
  .ValuePrimitive(true)
  .DataSource(data =>
  {
      data.Read("AllOrders", "Orders", new { categoryId });
  })
于 2015-04-21T11:34:47.787 回答