In this video you will be able to implement JQuery-UI Autocomplete Textbox with data from server side. Autocomplete feature used to display suggestion while we type into textbox. 
For implementing this, you need to download latest version of Jquery UI . Click here to download the latest version of Jquery-UI.
For implementing this, you need to download latest version of Jquery UI . Click here to download the latest version of Jquery-UI.
The latest version will only be compatible with higher version of Jquery i.e.  Jquery 1.7+ .
After downloading the latest version, add the .css , .js file and images into your project. In case if you find any problem the follow the  steps as shown in the above video.
#Controller Code
Add a controller named "Test" and replace everything with below code. In below code, you will find three methods
a) Index () : This method will return view.
b) GetSuggestion(string text) : This method will return the JSON list of items matching with the parameter value.
using MVCTutorial.Models;
using System;
using System.Collections.Generic;
using System.Globalization;
using System.IO;
using System.Linq;
using System.Net;
using System.Threading;
using System.Web;
using System.Web.Mvc;
namespace MVCTutorial.Controllers
{
    public class TestController : Controller
    {
        public ActionResult Index()
        {
            return View();
        }
        [HttpGet]
        public JsonResult GetSuggestion(string text)
        {
            List<MyShop> ItemList = new List<MyShop>();
            ItemList.Add(new MyShop { ItemID = 1, ItemName = "Rice", IsAvailable = true });
            ItemList.Add(new MyShop { ItemID = 2, ItemName = "Pulse", IsAvailable = false });
            ItemList.Add(new MyShop { ItemID = 3, ItemName = "Salt", IsAvailable = false });
            ItemList.Add(new MyShop { ItemID = 4, ItemName = "Sugar", IsAvailable = true });
            ItemList.Add(new MyShop { ItemID = 5, ItemName = "Soap", IsAvailable = false });
            ItemList.Add(new MyShop { ItemID = 6, ItemName = "Book", IsAvailable = true });
            ItemList.Add(new MyShop { ItemID = 1, ItemName = "Apple", IsAvailable = true });
            ItemList.Add(new MyShop { ItemID = 2, ItemName = "Aeroplane", IsAvailable = false });
            ItemList.Add(new MyShop { ItemID = 1, ItemName = "Orange", IsAvailable = true });
            ItemList.Add(new MyShop { ItemID = 2, ItemName = "Boy", IsAvailable = false });
            ItemList.Add(new MyShop { ItemID = 1, ItemName = "Blackberry", IsAvailable = true });
            ItemList.Add(new MyShop { ItemID = 2, ItemName = "Lewis", IsAvailable = false });
            ItemList.Add(new MyShop { ItemID = 1, ItemName = "Women", IsAvailable = true });
            ItemList.Add(new MyShop { ItemID = 2, ItemName = "C++", IsAvailable = false });
            List<string> list = new List<string>();
            list = ItemList.Where(x => x.ItemName.ToLower().Contains(text.ToLower())).Select(x => x.ItemName).ToList();
            return Json(list, JsonRequestBehavior.AllowGet);
        }
    }
}
 # View Page (Index.cshtml)
Right click on your controller' s Index method and add a view. After adding view, replace content with below code.
@model MVCTutorial.Models.EmployeeViewModel
@{
    ViewBag.Title = "Index";
    // Layout = null;
}
<div class="panel panel-body" style="min-height:256px">
    <div class="col-md-9">
        <h4>Technotips MVC tutorial</h4>
              
        <input type="text" class="form-control" id="textAutocomplete" />
    </div>
</div>
<script>
    //var autoSuggestionArray = ["Ashish", "Apple", "Orange", "Boy", "Girl"]
    $("#textAutocomplete").autocomplete({
        source: function (request, response) {
            var text = $("#textAutocomplete").val();
            $.ajax({
                type: "GET",
                url: "/Test/GetSuggestion",
                data: { text: request.term },
                success: function (data) {
                    response($.map(data, function (item) {
                        return { lable: item, value: item }
                    }))
                }
            })
        }
    });
All Code Factory
- Part 11- Insert data into database
 - Part 12- Server side and clientside validation
 - Part 13- Insert data into multiple tables
 - Part 14- Insert data into database using JQuery
 - Part 15- How to create Bootstrap Popup
 - Part 16- Delete operation in Asp.net MVC
 - Part 17- What is Partial View in Asp.net MVC
 - Part 18- How to call Partial View using JQuery
 - Part 19- Difference between Html.Partial() and Html.RenderPartial()
 - Part 20- AddEdit Record using Partial View
 - Part 21- Layout View in Asp.net MVC
 - Part 22- Style.Render and Script.Render
 - Part 23 - RenderBody, RenderSection and RenderPage.
 - Part 24- Divide Page into several component using Bootstrap
 - Part 25- Refresh Entity framework after any modification in database table
 - Part 26- Set foreign key relationnship in database tables
 - Part 27- Create Rgistration Page
 - Part 28- Create Login Page
 - Part 29- Client Side Validation using JQuery
 - Part 30- How to return multiple Model to a View (Interview)
 - Part 31- How to create Dynamic Menu using Partial View
 - Part 32- Preview Image Before Uploading
 - Part 33- Upload and Display Image using JQuery
 - Part 34-Upload Image to SQL Server and Display
 - Part 35- Download Image from URL and Upload to SQL Server
 - Part 36- Cascading DropdownList
 - Part 37- Implement Search Functionality
 - Part 38- Attribute Routing in MVC
 - Part 39- How to display multiple checkbox checked data
 - Part 40- How to send multiple checkbox checked value to Server
 - Part 41- How to create responsive sortable Image Gallery
 - Part 42 - How to implement JQuery Autocomplete Textbox
 - Part 43 - How to send Emails in Asp.net MVC
 - Part 44 - Integrate JQuery DataTables plugin
 - Part 45 - Display record from database using JQuery Datatable
 - Part 46- Add Edit Record using JQuery DataTable
 - Part 47 - JQuery DataTables Server -side Processing
 - Part 48 - JQuery server side processing -Search functionality
 - Part 49 - Pagination using Skip and Take method
 - Part 50 - Refresh DataTable After Performing Any Action
 - Part 51 - Send OTP ( One Time Password ) to any mobile device
 - Part 52 - How to use AutoMapper in Asp.net MVC
 - Part 53 - How to use AutoMapper ForMember Method
 - Part 54 - Repository Pattern - 1 - Adding Business Layer
 - Part 55 - Repository Pattern - 2 - Adding Domain Layer
 - Part 56 - Repository Pattern - 3 - Dependency Injection
 - Part 57- Repository Pattern- 4 - Adding Data Access Layer
 - Part 58 - Repository Pattern - 5 - Setting Up Generic Repository
 - Part 59 - Display Record using repository pattern
 - Part 60 - Add Edit Record using Repository Pattern