저는 C# .NET 응용 프로그램을 만들고 있습니다.WebApi 컨트롤러에 대한 AJAX 호출에서 데이터베이스를 쿼리하는 방법은 무엇입니까?
검색 창을 사용하는 웹 페이지가 있습니다. 사용자가 입력을 시작하면 Jquery Keyup
함수를 사용하여 자동으로 Webservice를 호출합니다 (ApiController를 확장하는 Controller 호출을 사용하고 있습니다).
Webservice의 요점은 사용자가 검색 창에 입력 한 내용을 기반으로 데이터베이스에서보기로 데이터 목록을 반환하는 것입니다.
사용자가 문자 "A"를 입력하면 Webservice 기능에서 문자 "A"로 시작하는 모든 객체를 데이터베이스에 쿼리합니다.
제 질문은 코드를 올바른 JSON 형식으로 변경하여보기로 되돌릴 수있는 방법입니다. 지금은 쿼리가 IQueryable을 반환하고 있습니다. 아래 코드는 Ajax에 의해 잘 호출된다.
그래서 저는 아래의 Action 메소드 내부의 문제라고 생각합니다. "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);
}
업데이트 : 내 질문을 확장하기 위해, 나는 내가보기에 전달할 수 있도록 문자열 내 데이터베이스 쿼리의 결과를 변경하는 방법을 알고 싶어요. 이것은 Ajax 요청이므로 DB 결과를 직접 전달할 수는 없습니다.
원하는 것은 무엇입니까? 당신은 단지 당신의 '차량'을 json으로 변환하고 그것을 반환해야합니다. –
'목록 차량을 변경하십시오 '목록에 차량;' –
그게 효과가 있었는지 지금은 그것을 테스트 할 것입니다 – hoChay