【问题标题】:Telerik MVC ComboBox in Grid not posting the right value网格中的 Telerik MVC ComboBox 未发布正确的值
【发布时间】:2012-07-07 18:03:32
【问题描述】:

我在网格中设置了一个 ComboBox。它显示一切正常,但是当我在 ComboBox 中选择任何内容时,它没有向服务器发布正确的值,我对其进行了调试,发现它总是发布值 0。 知道为什么会这样以及如何解决吗? 这是重要的代码:

    **Controller**
    //lista za stvaratelje (ComboBox)
    var stvaratelji = newStvarateljiService.GetAllStvaratelje();
    //za combobox
    ViewBag.stvaratelji = stvaratelji;
    //za selectlist
    var listaStvaratelja = new SelectList(stvaratelji, "IdStvaratelj", "Naziv");
    ViewData["stvaratelji"] = listaStvaratelja;

**View**
columns.ForeignKey(b => b.StvarateljId, (SelectList)ViewData["stvaratelji"]).Title("Stvaratelji").EditorTemplateName("Stvaratelji").Width("30%");

**EditorTemplate**
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl" %>

<%= Html.Telerik().ComboBoxFor(m => m)
    .Name("Stvaratelji")
    .Filterable(filtering =>
        filtering.FilterMode(AutoCompleteFilterMode.Contains)
    )
    .Encode(false)
    .AutoFill(true)
    .BindTo((SelectList)ViewData["stvaratelji"])
 %>

我将 selectList 与 foreignKey 一起使用,因为当网格未处于编辑模式时,它会显示值 (ID) 而不是名称,但这是一个完全不同的问题,而且不是那么重要。不过,如果有人知道如何设置 ComboBox 以在网格未处于编辑模式时显示名称,那也将不胜感激。

【问题讨论】:

    标签: combobox telerik grid postback


    【解决方案1】:

    我发现了问题所在。 我在“StvarateljId”中更改了EditorTemplate的ComboBoxFor的名称,因为ComboBoxFor未绑定到Grid中的Title,而是“ForeignKey”部分中的属性名称。

    【讨论】:

    • 现在,如果有人仍然可以帮助我使用 SelectList with Foreign key 部分。我也想只使用组合框而不是带有 ForeignKey 的 SelectList。当网格不处于编辑/插入模式时,我希望该列也显示组合框中的“纳粹”。
    【解决方案2】:

    达里奥,
    要解决您的答案评论中的问题(“不使用 SelectList”): 您是否尝试过从 ForeignKey 更改为具有类似于 EditorTemplates 的 DisplayTemplates/StvarateljId 的简单绑定列?我在这个设置上取得了一些成功,而不是使用 ForeignKey。

    Telerik 的 link to the demos 显示了这个确切的设置。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-16
      相关资源
      最近更新 更多