Использование asp.net mvc 3 + Razor с Ajax и jquery - PullRequest
2 голосов
/ 30 октября 2011

Я пытаюсь сделать так, чтобы "Google Instant" работал (я не ищу автозаполнения).

Google Instant - это динамическое изменение "результата поиска" при вводе (непредложения, которые могут быть достигнуты с помощью автозаполнения).

На странице будет просто элемент управления вводом текста, в котором, как ваш тип, вы получите результат ниже элемента управления вводом текста.

Iзнаете, я должен сделать несколько асинхронных вызовов на "onKeyPress": Итак, во-первых, как я могу это сделать в jquery?

Во-вторых, какие-нибудь хорошие уроки по объединению asp.net MVC с Razor и Ajax?

отредактировано: поскольку люди путали автозаполнение с мгновенным результатом

Ответы [ 3 ]

1 голос
/ 20 декабря 2011

Здесь есть отличная статья о том, как создать мгновенный поиск с помощью Jquery, PHP и HTML

http://woorkup.com/2010/09/13/how-to-create-your-own-instant-search/

Единственное предостережение, с которым я столкнулся, заключалось в том, что вам нужно поместить код Javscript в

$(document).ready(function(){ 
/*Your JS Instant Search goes here */
});

, что не было ясно из статьи.

Для ASP.NET MVC 3 создайте контроллер / действие, которое возвращает объект JSON или JSONP. Если вы новичок, это может сбить вас с толку, так как вы получите ошибки CrossSiteJson. Эта ссылка поможет:

Публикация Ajax json на контроллере в разных доменах, "не разрешена" Access-Control-Allow-Headers

Из этих двух я смог выполнить мгновенный поиск в MVC3, и он работает очень хорошо. Использование Firebug или WebKit Web Inspector и Fiddler действительно помогает.

1 голос
/ 30 октября 2011

Вы должны использовать термин «автозаполнение»

Посмотрите на ссылку ниже:

http://docs.jquery.com/Plugins/autocomplete

Это не зависит от сервера. По сути, на стороне сервера вы должны создать службу, если строка возвращает возможные значения, относящиеся к этой строке.

Надеюсь, это поможет.

0 голосов
/ 31 октября 2011

Это все еще вариант автозаполнения, если вы его разбиваете:

  1. Автозаполнение при нажатии клавиш.
  2. Запустите поиск Ajax при успешном завершении / загрузке автозаполнения (каким бы ни было событие).

Написание номера 2 является минимальной работой для вас, если кто-то не написал плагин, который делает оба. Это хороший маленький проект - напишите плагин, который объединяет текстовое поле и div и выполняет автоматический поиск.

...