我有一个下拉选择框,其中包含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控件在返回结果时捕获结果的正确方法是什么?