나는 asp.net mvc에서 초보자입니다.자동 완성 필터 용 컨트롤러를 만드는 것이 좋습니다.
stackoverflow와 같은 '자동 완성 태그 검색'기능을 만들어야합니다. 필자의 의도는 JsonResult로 컨트롤러를 만들어 입력 된 텍스트 요소를 자동 완성하는 필터링 된 태그를 얻는 것입니다. 이것은 좋은 습관입니까? 그렇다면 피할 필요가있는 것에 대한 권장 사항은 무엇입니까?
미리 감사드립니다.
추신 : 죄송합니다.
나는 asp.net mvc에서 초보자입니다.자동 완성 필터 용 컨트롤러를 만드는 것이 좋습니다.
stackoverflow와 같은 '자동 완성 태그 검색'기능을 만들어야합니다. 필자의 의도는 JsonResult로 컨트롤러를 만들어 입력 된 텍스트 요소를 자동 완성하는 필터링 된 태그를 얻는 것입니다. 이것은 좋은 습관입니까? 그렇다면 피할 필요가있는 것에 대한 권장 사항은 무엇입니까?
미리 감사드립니다.
추신 : 죄송합니다.
여러 개의 필터 매개 변수가있는 경우에도 kekekela가 제안한 솔루션을 사용할 수 있으며 결과 집합이 다른 유형이 아닌 경우 여러 동작을 만들 필요가 없습니다. 예 :
[HttpPost]
[Authorize]
public JsonResult FilterTasks(int maxResults, string users = "", string tags = "", string categories = "")
{
List<int> userIdList = MyHelper.GetIntList(users);
List<string> tagNameList = MyHelper.GetStringList(tags);
List<string> categoryIdList = MyHelper.GetStringList(categories);
var tasks = from task in projectsEntities.Tasks select task;
if (userIdList.Count > 0)
tasks = tasks.Where(task => userIdList.Contains(task.UserId));
if (tagNameList.Count > 0)
tasks = tasks.Where(task => tagNameList.Contains(task.TagName));
if (categoryIdList.Count > 0)
tasks = tasks.Where(task => categoryIdList.Contains(task.CategoryId));
var topTasks = tasks.Take(maxResults).ToArray();
return Json(topTasks);
}
그렇다면 컨트롤러 동작을 의미하는 경우 예, 이것이 내가 한 것입니다. 새 컨트롤러를 추가 할 수는 있지만 일반적으로 기존 컨트롤러에 메서드를 추가 한 것입니다.
나는 컨트롤러를 우회하는 이유를 모른다. 그들은 당신의 전화가 한 패턴을 따르도록합니다. 나는 MVC 패키지를 사용하기 시작했기 때문에 곧바로 php, asp 또는 jsp 페이지로 돌아 가지 않았고, 코드를 너무 멋지게 유지하고 우려에 따라 분리했다.
좋습니다! 답변 해주셔서 감사합니다! – wallybh
답변 해 주셔서 감사합니다! 많은 필터가 필요한 경우? 모든 필터에 대한 컨트롤러를 만드는 것이 좋습니다. 예 :/필터/태그 /,/필터/사용자,/필터/카테고리 등 – wallybh