ASP.NET MVC ListBox - Load Items On Demand

    The items of the ListBox can be loaded on-demand (via AJAX requests). The advantage of using this approach
    is that the items are loaded asynchronously. Thus, the page will load very fast because no item is loaded on page load.

    In order to enable the on demand loading feature, set the EnableLoadOnDemand property to true.
    You also need to specify an action method that will be used to load the items on demand, using the OnLoadingItems property.
    View - Aspx
     
        <% Html.Obout(new ListBox("ListBox1") 
        {                
            EnableLoadOnDemand = true,
            OnLoadingItems = "ListBox/LoadingItems"
        }); %>
        
    View - Razor
     
        @Html.Obout(new ListBox("ListBox1") 
        {                
            EnableLoadOnDemand = true,
            OnLoadingItems = "ListBox/LoadingItems"
        })
        
    Controller
     
        public JsonResult LoadingItems(ListBoxLoadingItemsEventArgs args)
        {
            ListBoxItemList items = GetFilteredCustomers(args.Text, 0);
                
            JsonResult result = new JsonResult
            {
                Data = new {
                    Items = items
                },
                JsonRequestBehavior = JsonRequestBehavior.AllowGet
            };
    
            return result;
        }