Создание автозаполнения текстового поля в cshtml - PullRequest
0 голосов
/ 17 мая 2019

Я пытался создать текстовое поле автозаполнения в cshtml, я пробовал следующий код, но он не работает.У части контроллера нет ошибок во время отладки, не уверен, какую часть я пропустил.Благодарим за любую помощь.

Контроллер

[HttpPost]
       public JsonResult Index(string Prefix)
       {
           //Note : you can bind same list from database  
           List<CardHolderDetails> ObjList = new List<CardHolderDetails>()  
           {  

               new CardHolderDetails {CardId=1,UnitNo="Latur" },  
               new CardHolderDetails {CardId=2,UnitNo="Mumbai" },  
               new CardHolderDetails {CardId=3,UnitNo="Pune" },  
               new CardHolderDetails {CardId=4,UnitNo="Delhi" },  
               new CardHolderDetails {CardId=5,UnitNo="Dehradun" },  
               new CardHolderDetails {CardId=6,UnitNo="Noida" },  
               new CardHolderDetails {CardId=7,UnitNo="New Delhi" }  

       };
           //Searching records from list using LINQ query  
           var CityList = (from N in ObjList
                           where N.UnitNo.StartsWith(Prefix)
                           select new { N.UnitNo });
           return Json(CityList, JsonRequestBehavior.AllowGet);
       }  

CSHTML

<link rel="stylesheet" href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css">
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
<script type="text/javascript">
    $(document).ready(function () {
        $("#UnitNo").autocomplete({
            source: function (request, response) {
                $.ajax({
                    url: "/Home/Index",
                    type: "POST",
                    dataType: "json",
                    data: { Prefix: request.term },
                    success: function (data) {
                        response($.map(data, function (item) {
                            return { label: item.UnitNo, value: item.UnitNo };
                        }))

                    }
                })
            },
            messages: {
                noResults: "", results: ""
            }
        });
    })
</script>
@using (Html.BeginForm())  
{  
   <div class="form-group">
          @Html.EditorFor(model => model.UnitNo, new { htmlAttributes = new { @class = "form-control", id = "UnitNo" } })
   </div> 
} 

Возвращаемое значение не отображается в форме автозаполнения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...