2010-05-05 12 views
1

ASP.NET MVC에서는 자동 완성과 같은 작업을 수행 할 수있는 컨트롤이 없습니다 (우리는 웹 양식과 같이 Visual Studio에서 컨트롤을 전혀 사용하지 않습니다).ASP.NET MVC에서 자동 완성 기능을 얻으려면 어떻게해야합니까?

그러나 ASP.NET MVC (Google 홈 페이지에있는 텍스트 상자와 동일)에서 텍스트 상자로 '자동 완성'을받을 수 있습니까?

이렇게하는 가장 좋은 방법은 무엇입니까? JQueryUI? 또는 그 기능을 얻는 다른 방법이 있습니까?

도와 주셔서 감사합니다.

답변

4

jquery UI에있는 것과 같은 의미입니까?

1 단계 : 검색 기능을 할 수있는 조치를 작성 (:

<%= Html.TextBox("searchBox",null,new { @class="large", autocomplete="on"}) %> 

2 단계 텍스트 상자를 만들려면 다음과 같은 작업을 수행 할 수 ASP.NET MVC와 JQuery Autocomplete을 사용하려면

http://jqueryui.com/demos/autocomplete/

+0

는 - 그냥 링크를 확인했는데 그게 내가 원하는거야. 그래도 그것이 그 기능을 얻는 유일한 방법인지 알고 싶습니다 (즉, JQueryUI 사용). 그것이 유일한 방법이라면, 나는 그것으로 멋지다. – Richard77

+0

JqueryUI 훨씬 전에. 다른 곳에서는 자동 완성 플러그인이 있습니다. 그러나 다른 방법으로 갈 때까지. 나는 그렇게 생각하지 않는다. 당신은 자신의 롤백 할 수 있지만 여전히 자바 스크립트/jquery 것입니다. 나는 자동으로 asp.net MVC를 사용하여 완료 할 수 있다고 생각하지 않습니다 (심지어 webforms도) 당신이 게시물을 매번 다시 입력해야하는 문자를 보내야 할 것이라고 생각합니다. 당신은 어떤 종류가 필요합니다 아약스가 작동하도록 – chobo2

2

NHibernate를 쿼리 DB에 사용하고 있지만 키는 개행으로 구분 된 각 결과가있는 문자열을 반환하는 것입니다.

public ActionResult Autocomplete(string q) { 

    var programs = programRepository 
        .Search(q) 
        .ToList() 
        .ConvertAll(x => x.ProgramName) 
        .ToArray(); 

    return new ContentResult {Content = string.Join("\n", programs) }; 
} 

3 단계 : (스크립트 블록 내부에 위치) 자동 완성하여 HTML의 기능을 켜 Chobo2 @

$(document).ready(function() { 

    $('#searchBox').autocomplete("/Controller/Autocomplete", { autoFill: true, minChars: 2 }); 

}); 
관련 문제