开发者问题收集

Kendo Ui 下拉列表带有 ASP.NET MVC5 onSelect 函数

2017-01-12
188

我正在使用 Kendo UI Dropdownlist 和 ASP.NET MVC5。 我想在 Select 上写入 cookie:

@(Html.Kendo().DropDownList().Name("sss").BindTo(Model).DataTextField("Name").DataValueField("Id")
              .Events(e =>
              {
                  e.Select("onSelect");
              })
              .Deferred()
              )

function onSelect(e) {
            if ("sss" in window) {
                debugger;
                var dataItem = this.dataItem(e.item);
                alert(dataItem.value);
                setCookie(dataItem.value);
            }
        }

所有函数均可访问且运行良好。但我得到的是:

undefined

值而不是 Id。 为什么我会收到此错误?我该如何修复它?

附注:模型包含 Id 和名称。

1个回答

一旦您获得 dataItem,它 就是 用于填充 DropDownList 的模型的一个实例。

因此,为了访问 Id 字段,请使用 Id 字段 而不是 值字段(您的模型没有该字段)。

function onSelect(e) {
    if ("sss" in window) {
        debugger;
        var dataItem = this.dataItem(e.item);
        alert(dataItem.Id);
        setCookie(dataItem.Id);
    }
}
The Dread Pirate Stephen
2017-01-12