Hi
Yujin,
Thank
you for using Syncfusion products.
To
create an Autocomplete text box with template, Set ClientSideTemplate value to
call the controller that gets the JSON element. Define the suggestions in the
controller and return the JSON object. Also set the mode of data using
AutoCompleteTexBoxModel option. Please refer the following code snippet,
<code>
[View]
@{Html.Syncfusion().AutocompleteTextBox("mySearchBox")
.AutoFormat(Skins.Office2007Silver)
.RequestMapper("AutoCompleteSearchName")
.ClientSideTemplate("visitingCard")
.Mode(AutocompleteTextBoxModel.ModeType.Get)
.JSONMode(true)
.ListHeight(System.Web.UI.WebControls.Unit.Pixel(200)).Render();}
<ul class="sys-template" id="visitingCard" style="visibility: hidden">
<li id="{{CustomerID}}">
<div class="profiles">
<div class="profile">
<div>
{{CustomerID}}</div>
<div>
{{ContactName}}</div>
<div>
{{CompanyName}}</div>
<div>
{{City}}</div>
<div>
{{Phone}}</div>
</div>
</div>
</li>
</ul>
[Controller]
public JsonResult
AutoCompleteSearchName(string QueryString)
{
Northwind context = SqlCE;
Random r = new
Random();
var filteredData = from
suggestion in context.Customers
where
suggestion.CustomerID.StartsWith(QueryString)
select new
{
CustomerID = suggestion.CustomerID,
ContactName =
suggestion.ContactName,
CompanyName = suggestion.CompanyName,
City = suggestion.City,
Phone = suggestion.Phone
};
return Json(filteredData, JsonRequestBehavior.AllowGet);
}
</code>
Please
download the sample from the following link:
SampleTools_V1.zip
Kindly
let us know if you have further queries.
Regards,
Ezhil S