kendo-ui - 如何异步绑定到 Kendo UI 控件?
问题描述
我有一个包含 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 控件在返回结果时捕获结果的正确方法是什么?
解决方案
推荐阅读
- elasticsearch - 如何使用 Trino/Presto 连接 Elasticsearch?
- swift - 在 main.storyboard 中,圆形按钮未加载
- php - Woocommerce 从产品前端和管理面板中排除类别
- php - 自定义字段上的 WordPress 自定义搜索
- django - Django - 更新用户帐户会破坏用户密码
- javascript - Vue 3 通过组件到达使用错误的功能
- python - Python(Numpy)无法重命名列 - 它们变成“NaN”
- javascript - css 背景图像在不同图像大小的过渡时拉伸
- python - 在 Pyspark 中创建一个新列,该列在另一个可用列上计算
- javascript - 无法重新填充回 vue2-daterange 选择器值