1

我正在尝试使用 kendo 下拉列表并使用 Template 方法呈现选项,如http ://demos.kendoui.c​​om/web/dropdownlist/template.html 所示(单击 ASP.NET MVC > template.cshtml)。为了简化问题,我只是尝试仅显示 AccountDescription。

到目前为止,这是我的代码。

cshtml

    ...        
    <div class="editor-field">
        <script>
            function entityFiltering() {
                return {
                    entityId: $("#EntityId").val()
                };
            }
        </script>

        @(Html.Kendo().DropDownListFor(m => m.AccountNumber)
           .Name("AccountNumber")
           .DataTextField("AccountShortCode")
           .DataValueField("AccountNumber")
            .Template("<table><tr><td width='100px'>${ data.AccountDescription } </td></tr></table>")
           .OptionLabel("Please select...")
           .DataSource(source => source.Read(read => read.Action("ActionName", "ControllerName")
                                                         .Data("entityFiltering"))
                                     .ServerFiltering(true))
           .Enable(false)
           .AutoBind(false)
           .CascadeFrom("EntityId")
              )
        @Html.ValidationMessageFor(m => m.SourceAccountNumber)
    </div>
    ...

模型看起来像

public class Model {

    [Required]
    [Display(Name = "Short Code")]
    public string AccountShortCode { get; set; }

    [Required]
    [Display(Name = "Account Number")]
    [ScaffoldColumn(false)]
    public int AccountNumber { get; set; }

    [Required]
    [Display(Name = "Description")]
    [ScaffoldColumn(false)]
    public string AccountDescription { get; set; }
}

当下拉列表呈现时,所有选项都在列表中,但它们显示undefined如果我选择一个选项,我可以在网格上看到实际正确的值绑定,所以我认为我的问题纯粹是一个显示问题。

4

1 回答 1

3

几个小时后,我设法解决了这个问题!我将模板中的语法更改为,就成功#= data.AccountDescription #了!

于 2013-01-03T10:41:38.713 回答