AutoComplete HtmlHelper Overview
The Telerik UI AutoComplete HtmlHelper for ASP.NET Core is a server-side wrapper for the Kendo UI AutoComplete widget.
The AutoComplete provides suggestions depending on the typed text and allows multiple value entries.
The AutoComplete is part of Telerik UI for ASP.NET Core, a
professional grade UI library with 100+ components for building modern and feature-rich applications. To try it out sign up for a free 30-day trial.
Initializing the AutoComplete
The following example demonstrates how to define the AutoComplete by using the AutoComplete HtmlHelper.
@(Html.Kendo().AutoComplete()
.Name("autocomplete")
.DataTextField("ProductName")
.Filter("contains")
.DataSource(source =>
{
source.Read(read =>
{
read.Action("Products_Read", "AutoComplete")
.Data("onAdditionalData");
})
.ServerFiltering(true);
})
)
<script type="text/javascript">
function onAdditionalData() {
return {
text: $("#autocomplete").val()
};
}
</script>
public class AutoCompleteController : Controller
{
public IActionResult Index()
{
return View();
}
public JsonResult Products_Read(string text)
{
var result = GetProducts();
if (!string.IsNullOrEmpty(text))
{
result = result.Where(p => p.ProductName.Contains(text)).ToList();
}
return Json(result);
}
private static IEnumerable<ProductViewModel> GetProducts()
{
var result = Enumerable.Range(0, 50).Select(i => new ProductViewModel
{
ProductID = "" + i,
ProductName = "Product " + i
});
return result;
}
}
Basic Configuration
The following example demonstrates the basic configuration of the AutoComplete HtmlHelper.
@(Html.Kendo().AutoComplete()
.Name("autocomplete")
.DataTextField("ProductName")
.Placeholder("Type a product name")
.Template("#= ProductID # | For: #= ProductName #")
.HeaderTemplate("<div class=\"dropdown-header k-widget k-header\">" +
"<span>Products</span>" +
"</div>")
.FooterTemplate("Total <strong>#: instance.dataSource.total() #</strong> items found")
.Filter("contains")
.MinLength(3)
.HtmlAttributes(new { style = "width:100%" })
.Height(520)
.DataSource(source =>
{
source.Read(read =>
{
read.Action("Products_Read", "Home")
.Data("onAdditionalData");
})
.ServerFiltering(true);
})
)
<script type="text/javascript">
function onAdditionalData() {
return {
text: $("#autocomplete").val()
};
}
</script>
Functionality and Features
Events
For a complete example on basic AutoComplete events, refer to the demo on using the events of the AutoComplete.
Referencing Existing Instances
To reference an existing AutoComplete instance, use the jQuery.data()
configuration option. Once a reference is established, use the AutoComplete client-side API to control its behavior.
// Place the following after your Telerik UI AutoComplete for ASP.NET Core declaration.
<script>
$(document).ready(function() {
// The Name() of the AutoComplete is used to get its client-side instance.
var autocomplete = $("#autocomplete").data("kendoAutoComplete");
});
</script>