关于 asp.net mvc:Kendo 下拉菜单 – 模板

Kendo dropdown - Template

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

这是我目前的代码。

cshtml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
    ...        
   
       
            function entityFiltering() {
                return {
                    entityId: $("#EntityId").val()
                };
            }
       

        @(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)
   
    ...

模型看起来像

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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 如果我选择一个选项,我可以在网格上看到实际正确的值绑定,所以我认为我的问题纯粹是一个显示问题。


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