Работа по созданию класса, выполняющего поиск, завершена, осталось только создать веб-страницу поиска. Данная страница I принимать искомую фразу в виде параметра search в строке Строка запроса может выглядеть, например, так:
http://yoursi.te.com/search.aspx?search=ajax i- .
Прежде чем приступить к обработке запроса, страница должна i рить наличие этого параметра, обратившись к коллекции Response!
ryString:
Response.CacheControl = "no-cache"; Response.ContentType = "text/plain; charset=UTF-8";
if (Request.QueryStringf"search"] != null)

Первые две строки должны быть вам уже знакомы. Первая за значение no-cache в заголовок CacheControl, чтобы броузер не кэг получаемую информацию, а вторая определяет в заголовке Conte тип MIME содержимого ответа как text/plain в кодировке UTF-8.
В главе 7 мы уже говорили, что при передаче строк в формате JSONj зыватъ тип text/plain в кодировке UTF-8.
После установки заголовков проверяется наличие параметра в строке запроса. Если параметр найден, создается экземпляр :
SiteSearch:
if (Request.QueryString["search"] != null) {
string searchTerm = Request.QueryString["search"]; string conStr = "uid=sa;pwd=pass;data source=localhost;initial catalog=BlogPosts"; .
SiteSearch siteSearch = new SiteSearch(con);
}
В первой строке внутри оператора if создается переменная searchTerm, в которую записывается содержимое параметра search из строки за¬проса. Затем создается строка соединения с базой данных.
Принцип соединения с базой данных MS SQL из программ, написан¬ных на языке С#, коренным образом отличается от соединения с базой данных MySQL из сценариев, написанных на РНР. В РНР для соедине¬ния с базой данных служит функция mysql_connect(), которой переда¬ются имя пользователя, пароль и сетевое имя сервера баз данных. В С# (как, впрочем, и в других .NET-совместимых языках программирова¬ния) эта информация содержится в строке соединения. Как видно из исходных текстов данного примера, эта строка содержит необходимую информацию в виде пар имя/значение, отделяемых друг от друга точ¬кой с запятой. Имена параметров в строке соединения означают сле¬дующее:
• uid - имя пользователя, определенное для этой базы данных. В пре¬дыдущем примере фигурировало зарезервированное имя sa, кото¬рое означает Super-Admin (суперадминистратор).
• pwd — пароль пользователя, подключающегося к базе данных.
• data source - сетевое имя или IP-адрес сервера баз данных.
• initial catalog — имя базы данных, которой направляются запросы.
Разумеется, информация в строке соединения должна отражать на¬стройки доступа к вашей базе данных MS SQL. Поэтому можно без опа¬ски изменять строку соединения, если есть необходимость. Изменив эту информацию, вам придется перекомпилировать веб-приложение, однако желательно было бы обеспечить возможность распространения виджета в виде архива, содержащего готовые к употреблению файлы, в связи с чем необходимо реализовать иной подход.
Конфигурационные параметры приложений ASP.NET содержатся в файле web. conf ig. Этот файл выполняет функции:
1. Централизованного хранилища всех конфигурационных парамет¬ров приложения.
2. Защищенного средства хранения важной информации (каковой яв¬ляется информация с параметрами подключения к базе данных), по¬скольку веб-сервер не обслуживает файлы с расширением . conf ig.
Файл web. conf ig представляет собой не что иное, как документ XML с корневым элементом . Чтобы добавить в файл свои настройки, надо вставить элемент в корневой элемент:
configuration>

Для добавления конфигурационных параметров необходимо ис зовать элемент , в котором следует определить атрибуте
и value:

Благодаря этому строка соединения стала частью набора конф! ционных параметров приложения. Теперь содержимое операт может быть изменено так:
if (Request.QueryString["search"] != null)
{
string searchTerm = Request.QueryString["search"J; string conStr = ConfigurationSettings.AppSettings["connectionStr"J;|
SiteSearch siteSearch = new SiteSearch(conStr);
}
Этот фрагмент кода немного отличается от того, который был ставлен ранее. Теперь информация о параметрах соединения с ( данных уже не зашита жестко в исходные тексты и может быть i чена из конфигурационного файла с помощью коллекции Confi tionSettings. AppSettings. Для этого достаточно использовать в кач индекса коллекции имя атрибута key в файле web. conf ig.
Объект ConfigurationSettings определен в пространстве имен Configuration, поэтому в начало файла с исходным текстом класса! ходимо добавить директиву using с указанием этого пространства!
После создания экземпляра класса SiteSearch остается лишь сти поиск и передать результаты клиенту:
if (Request.QueryString["search"] != null) <
string searchTerm = Request.QueryString["search"];
string conStr = ConfigurationSettings.AppSettingsf'connectionStr"].
SiteSearch siteSearch = new SiteSearch(conStr);
string json = siteSearch.Search(searchTerm); Response.Write(json);
В первой строке нового фрагмента вызывается метод Search(), няющий поиск в базе данных. Полученная от него строка в <]
JSON сохраняется в переменной json, которая затем отправляется клиенту с помощью метода Response. Write().
Для обработки ситуации, когда в строке запроса отсутствует параметр search, можно было бы добавить блок else, однако проверки, выполняемые на стороне клиента, делают эту работу совершенно ненужной.
Окончательная версия файла . aspx:
Response.CacheControl = "no-cache";
Response.ContentType = "text/plain; charset=UTF-8";
if (Request.QueryString["search"] != null) {
string searchTerm = Request.QueryString["search"];
string conStr = ConfigurationSettings.AppSettings["connectionStr"];
SiteSearch siteSearch = new SiteSearch(conStr);
string json = siteSearch.Search(searchTerm); Response.Write(json);

Обращайтесь! Одноцентовая контекстная реклама. Реальный опыт создания и ведения. . сосудистые звёздочки . Сиалис цена. Сиалис - заказ в темпе.