передать список для просмотра, чтобы связать окно поиска автозаполнения - PullRequest
0 голосов
/ 30 апреля 2019

Проблема в том, что когда страница загружается, я хочу, чтобы автоматический поиск был привязан, для этого я понятия не имею, должен ли я использовать jsonresult, или это только результат действия?сделали в моем контроллере:

[HttpPost]
public JsonResult IndexSearch () {
    //List of cars            
    var CarList = (from d in DB.AccessinfoCars select new {

        Town = d.City_name,
            CarName = d.Car_name
    }).ToList ();

    return Json (CarList, JsonRequestBehavior.AllowGet);
}

В приведенном выше коде, я не знаю, следует ли использовать actionResult или jsonResult для достижения того, что я хочу, и я должен пройти с вызовом viewBag или Ajax?

В моем представлении я просто хочу связать следующее автозаполнение:

    @(Html.Kendo().AutoComplete()
                              .Name("CarName") //The name of the AutoComplete is mandatory. It specifies the "id" attribute of the widget.
                              .DataTextField("input") //Specify which property of the Product to be used by the AutoComplete.
                              .DataSource(source =>
                               {
                                  source.Read(read =>
                                  {
                                      read.Action("IndexSearch", "Overview"); //Set the Action and Controller names.
                                  })
                                  .ServerFiltering(true); //If true, the DataSource will not filter the data on the client.
                               })
                            )   

, но связать это, как я должен получить данные?

1 Ответ

1 голос
/ 30 апреля 2019

Ajax

[HttpPost] public JsonResult GetAutocomplete (префикс строки) {var CarList = (из d в DB.AccessinfoCars выбирают новый {Town = d.City_name, CarName = d.Car_name}). ToList ();

    return Json(CarList,JsonRequestBehavior.AllowGet);
}

бритва

 @(Html.Kendo().AutoComplete()
      .Name("productAutoComplete") //The name of the AutoComplete is mandatory. It specifies the "id" attribute of the widget.
      .DataTextField("input") //Specify which property of the Product to be used by the AutoComplete.
      .DataSource(source =>
       {
          source.Read(read =>
          {
               read.Action("GetAutocomplete", "yourControler"); //Set the Action and Controller names.
          })
          .ServerFiltering(true); //If true, the DataSource will not filter the data on the client.
       })
    )

Модель

public ActionResult Index()
{
    YourModel model = new YourModel();

    return View(model );
}

@model your modal

 @(Html.Kendo().AutoComplete()
        .Name("yourName") //The name of the AutoComplete is mandatory. It specifies the "id" attribute of the widget.
        .DataTextField("nameYourControl") //Specify which property of the Product to be used by the AutoComplete.
        .BindTo(Model) //Pass the list of Products to the AutoComplete.
        .Filter("contains") //Define the type of the filter, which AutoComplete will use.
    )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...