Я работаю над приложением C# .NET.Как вы запрашиваете базу данных в вызове AJAX контроллеру WebApi?
У меня есть веб-страница с панелью поиска. Когда пользователь начинает печатать, я использую функцию JQuery Keyup
для автоматического вызова Webservice (я использую вызов Controller, который расширяет ApiController).
Точка Webservice - это вернуть список данных из базы данных в представление, основываясь на том, что Пользователь ввел в панель поиска.
Если пользователь набирает букву «A», то внутри функции Webservice я буду запрашивать базу данных для всех объектов, имя которых начинается с буквы «A».
Мой вопрос заключается в том, как изменить код в правильный формат JSON, чтобы он мог быть возвращен в представление. В настоящий момент мой запрос возвращает IQueryable. Нижеприведенный код называется Ajax.
Итак, я считаю, что проблема внутри метода действий ниже. Параметр «term» - это буква, которую пользователь вводит в панель поиска.
[System.Web.Http.HttpGet]
public JsonResult GetAllofTheProducts(string term)
{
//var JsonArray = Json.stringify(products);
List<string>vehicle;
vehicle = db.Vechicle.Where(v => v.CarName.Equals(term) || v.CarName.ToLower().Contains(term.ToLower()) || v.CarName.ToUpper().Contains(term.ToUpper()));
//var json = new JavaScriptSerializer().Serialize(result);
// return json;
return Json(vehicle);
}
Update: Чтобы расширить на мой вопрос, я хочу знать, как изменить результат моего запроса к базе данных в строку, так что я могу передать его просмотра. Поскольку это запрос Ajax, и я не могу напрямую передать результат DB.
Что нужно? вам просто нужно преобразовать ваш «автомобиль» в json и вернуть его. –
Изменить 'Список vehicle;' to 'Список vehicle;' –
Уверенный, что сработал, я буду тестировать его сейчас – hoChay