2011-01-07 4 views
0

나는 asp.net mvc에서 초보자입니다.자동 완성 필터 용 컨트롤러를 만드는 것이 좋습니다.

stackoverflow와 같은 '자동 완성 태그 검색'기능을 만들어야합니다. 필자의 의도는 JsonResult로 컨트롤러를 만들어 입력 된 텍스트 요소를 자동 완성하는 필터링 된 태그를 얻는 것입니다. 이것은 좋은 습관입니까? 그렇다면 피할 필요가있는 것에 대한 권장 사항은 무엇입니까?

미리 감사드립니다.

추신 : 죄송합니다.

답변

1

여러 개의 필터 매개 변수가있는 경우에도 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); 
    } 
1

그렇다면 컨트롤러 동작을 의미하는 경우 예, 이것이 내가 한 것입니다. 새 컨트롤러를 추가 할 수는 있지만 일반적으로 기존 컨트롤러에 메서드를 추가 한 것입니다.

+0

답변 해 주셔서 감사합니다! 많은 필터가 필요한 경우? 모든 필터에 대한 컨트롤러를 만드는 것이 좋습니다. 예 :/필터/태그 /,/필터/사용자,/필터/카테고리 등 – wallybh

1

나는 컨트롤러를 우회하는 이유를 모른다. 그들은 당신의 전화가 한 패턴을 따르도록합니다. 나는 MVC 패키지를 사용하기 시작했기 때문에 곧바로 php, asp 또는 jsp 페이지로 돌아 가지 않았고, 코드를 너무 멋지게 유지하고 우려에 따라 분리했다.

+0

좋습니다! 답변 해주셔서 감사합니다! – wallybh

관련 문제