如何异步绑定到Kendo UI控件?

时间:2018-06-28 19:58:29

标签: kendo-ui async-await

我有一个下拉选择框,其中包含2,000个项目。我试图这样绑定它:

@(Html.Kendo().MultiSelect().Name("kendo-dropdown-manager")
                .DataValueField("Value")
                .DataTextField("Text")
                .Placeholder("Select Entity")
                .BindTo(Model.ManagersList)

在我的Razor页面中,我异步实现“获取”:

public class IndexModel : PageModel
{
    public IndexModel()
    {
        this.ManagersList = new List<SelectListItem>();
    }

    public List<SelectListItem> ManagersList { get; private set; }

    public Task OnGetAsync()
    {
        ViewsController viewsController = new ViewsController();
        List<ManagerViewModel> managers = await viewsController.GetManagersAsync();
        this.ManagersList.AddRange(
            from m in managers
            select new SelectListItem
            {
                Value = m.Id.ToString(),
                Text = m.Name
            });
    }
}

页面出现时,下拉列表为空。如果将“ OnGetAsync”更改为完全同步的版本,则将正确填充下拉列表。我的页面有几个类似的控件,我不想同步加载它们。启动操作并使Kendo控件在返回结果时捕获结果的正确方法是什么?

0 个答案:

没有答案