【问题标题】:ForeignKey displays a textbox instead of dropdownlistForeignKey 显示一个文本框而不是下拉列表
【发布时间】:2016-10-26 09:49:27
【问题描述】:

这是我的问题:

我有两个项目,代码相似,可以在 kendogrid 中显示下拉列表。在第一个项目中一切正常,在第二个项目中,我得到了一个文本框,而不是下拉菜单。我在telerik周围搜索过,但没有什么能解决我的问题。我认为我的项目中缺少一些东西来使这项工作正常。或者有什么东西挡住了它!但是找不到..希望你能帮助我!

这是我的网格:

@(Html.Kendo().Grid<DisplayUniteMultiple>()
                              .Name("GridDisplayUniteMultiple")
                              .ToolBar(t => t.Create().Text("Ajouter un couple Valeur/ Unite"))
                              .Columns(columns =>
                              {
                                 columns.Bound(c => c.id).Hidden(true);
                                 columns.Bound(c => c.Valeur);
                                 columns.ForeignKey(c => c.Unite, unitesDeConversion, "Value", "Text").Title("Unité").Width(200);
                              })
                             .Editable(editable => editable.Mode(GridEditMode.InCell).Enabled(true))
                             .Events(e => e.Edit("onGridChange"))
                             .DataSource(datasource => datasource
                                .Ajax()
                                .Update(builder => builder.Url(""))
                                .PageSize(50)
                                .Batch(false)
                                .Model(model =>
                                {
                                    model.Id(uniteMultiple => uniteMultiple.id);
                                    model.Field(uniteMultiple => uniteMultiple.Valeur);
                                    model.Field(uniteMultiple => uniteMultiple.Unite);
                                })
                                .ServerOperation(true)
                             ))

【问题讨论】:

    标签: c# asp.net telerik kendo-grid


    【解决方案1】:

    您可能会错过在项目中添加编辑器模板。

    ../Views/Shared/ 目录中创建一个名为EditorTemplates 的新文件夹(如果还没有的话)。然后在该文件夹中创建名为GridForeignKey.cshtml 的新文件并将以下代码复制到其中,保存并重试。

    @model object
    
    @(
      Html.Kendo().DropDownListFor(m => m)        
         .BindTo((SelectList)ViewData[ViewData.TemplateInfo.GetFullHtmlFieldName("") + "_Data"])
    )
    

    【讨论】:

    • 我会试试这个,但这很奇怪,因为在它工作的地方我也没有那个文件夹和那个文件。
    • 我在创建视图时收到以下错误:错误 CS1061 'HtmlHelper' 不包含 'Kendo' 的定义,并且没有扩展方法 'Kendo' 接受类型的第一个参数'可以找到 HtmlHelper'(您是否缺少 using 指令或程序集引用?)
    • 在第一行添加@using Kendo.Mvc.UI
    • 不过,我想了解它在我的其他项目中是如何工作的,因为我没有创建文件夹和文件
    • @ChristianPliso 您可以尝试比较两个项目中的文件,如果它们在相同版本的 kendo 框架上运行。我相信应该有一个编辑器模板已经适用于您的其他项目。
    猜你喜欢
    • 1970-01-01
    • 2019-07-12
    • 2020-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-14
    • 1970-01-01
    相关资源
    最近更新 更多