模型绑定
您可以使用两者在MultiSelect中实现模型绑定本地数据和远程数据.
本地数据
本地数据是初始化MultiSelect时客户端上可用的数据。
通过视图模型将数据传递给视图。
public IActionResult Index() {return View(new ProductViewModel {Orders = GetOrders(), SelectedOrders = new int[] {1,3}});} private static List
GetOrders() {var orders = Enumerable。范围(0,2000)。Select(i => new Order {OrderID = i, OrderName = "OrderName" + i});返回orders.ToList ();} 将MultiSelect添加到视图并将其绑定到视图模型的属性。
@ model MvcApplication1.Models。ProductViewModel @ (Html.Kendo()。多选For(m => m.SelectedOrders) .DataValueField("OrderID") .DataTextField("OrderName") .BindTo(Model.Orders) )
@ model MvcApplication1.Models。ProductViewModel
< / kendo-multiselect >
远程数据
您可以配置MultiSelect,使其通过发出AJAX请求从远程源获取数据。
创建一个将数据作为JSON结果返回的操作。
public IActionResult Index() {return View(new ProductViewModel {SelectedOrders = new int[] {1,3}});}公共JsonResult GetOrdersAjax() {var订单= Enumerable。范围(0,2000)。Select(i => new Order {OrderID = i, OrderName = "OrderName" + i});返回Json (orders.ToList ());}
将MultiSelect添加到视图并配置其DataSource以使用远程数据。
@ model MvcApplication1.Models。ProductViewModel @ (Html.Kendo()。多选For(m => m.SelectedOrders) .Filter(FilterType.Contains) .DataValueField("OrderID") .DataTextField("OrderName") .DataSource(source => { source.Read(read => { read.Action("GetOrdersAjax", "Home"); }) .ServerFiltering(false); }) )
@ model MvcApplication1.Models。ProductViewModel
另请参阅