2013-06-28 3 views
0

Я работаю с vs2010 с asp.mvc 4 и бритвой. В моем проекте в базе данных у меня есть таблица «человек», мне нужно настроить текстовое поле для asp.net mvc, поэтому, пока я набираю имя, будут показаны результаты, как показано на рисунке. Facebook является поиск, мне нужно сделать, это что-то вроде facebook поиск людейasp.net mvc настроить текстовое поле для поиска данных

textbox Search

+0

Посмотрите на то, как HTTP : //jqueryui.com/au tocomplete/ – PSL

+0

Попробуйте использовать плагин jQuery Bootstrap Typeahead - http://twitter.github.io/bootstrap/javascript.html#typeahead –

+0

Это нужно сделать на стороне клиента, и будет использоваться веб-метод, возвращающий json. Используйте автозаполнение jquery. –

ответ

0

Вы можете использовать автозаполнение (http://jqueryui.com/autocomplete/).

Некоторый код, который может быть полезным, чтобы вы начали:

ВИД:

// ...Other Stuff... 

    <input type="text" name="PersonName" id="PersonName" /> 


    @section Scripts { 

     @Styles.Render("~/Content/themes/base/css") 
     @Scripts.Render("~/bundles/jquery") 
     @Scripts.Render("~/bundles/jqueryui") 
     @Scripts.Render("~/bundles/jqueryval") 

     $("#PersonName").autocomplete({ 

       source: function (request, response) { 
        $.ajax({ 
         url: '@Url.Action("SearchPerson", "Person")', type: "GET", 
         dataType: "json", 
         data: { term: request.term }, 
         success: function (data) { 
          response($.map(data, function (item) { 
           return { Name: item.Name, Person: item.PersonID, value: item.Name }; 
          })) 
         } 
        }) 

       }, 
       minLength: 3, 
       select: function (event, ui) { 
        var selecteditem = ui.item; 

        // STUFF YOU WANT TO DO WITH THE SELECTED ITEM (like setting some HiddenField with an ID...) 

        // DEBUG: 
        //alert(ui.item ? ("You picked '" + selecteditem.Name : "Nothing selected"); 
       } 
      }); 

      return false; 
     }); 

    } 

CONTROLLER:

// GET : /Person/SearchPerson?term=term 

    public ActionResult AutocompletePerson(string term) 
    { 

     var people = from p in db.Person 
        where p.Name.StartsWith(term) 
        select new { PersonID = p.PersonID, Name = p.Name)}; 

     return this.Json(people, JsonRequestBehavior.AllowGet); 

    } 

Приветствия

+0

Привет Я пытаюсь сделать то же самое, и я следил за вашим кодом и отлично работает. Теперь я хочу показать изображение вместе с именем. Как добавить изображение в автозаполнение? –

+0

Эй. Я никогда этого не делал, поэтому у меня нет никакого кода. Но эти ссылки могут быть полезны: http://codeblogging.net/blogs/1/15/ http://stackoverflow.com/questions/911537/jquery-autocomplete-with-images http://stackoverflow.com/questions/12670956/jquery-ui-autocomplete-with-image Удачи! – user1987392