0

我已经在网格中设置了一个 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 以在网格未处于编辑模式时显示名称,那也将不胜感激。

4

2 回答 2

1

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

于 2012-07-09T09:42:11.273 回答
0

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

这是Telerik演示的链接,显示了这个确切的设置。

于 2012-12-05T22:19:13.003 回答