Добавление результатов поиска в ASP.NET с помощью POST или GET? - PullRequest
3 голосов
/ 10 мая 2011

Эй, ребята, я хотел бы немного помочь понять, как работают HTML-формы.Насколько я понимаю, формы, использующие GET в качестве метода, представляют пары имя / значение для всех полей в тегах формы указанной отправки.Однако, если вы посмотрите на приведенный ниже пример из Google (а я видел это и во многих других местах) и используете только одно из полей в форме:

http://books.google.co.uk/advanced_book_search

Вместо того, чтобы отправлять на страницу с парой имя / значение для каждого поля страницы расширенного поиска, вы переходите на URL, выглядящий намного чище:

http://www.google.co.uk/search?tbo=p&tbm=bks&q=hitchiker&num=10

Несмотря на всеполей ввода на странице расширенного поиска.


К моей проблеме ... Моя собственная страница расширенного поиска довольно велика и в данный момент размещается на моей странице результатов поиска, которая занимаетзначения и поиск соответственно, без проблем!Тем не менее, я хочу, чтобы мои пользователи могли добавлять в закладки / делиться своими поисками, и для этого мне нужно, чтобы элементы передавались в строку запроса, но я не хочу массовых строк запроса, если они мне не нужны.Если мой пользователь искал, например, только по цвету, то я хочу, чтобы URL был чем-то вроде search.aspx? Color = red;Если они ищут по цвету и размеру, то search.aspx? Color = red & size = large и так далее.Это возможно?

Чтобы еще больше усложнить ситуацию, я использую ASP.NET, поэтому создать форму, использующую GET, не так-то просто, хотя, я думаю, я уже об этом узнал.

Если вы можете дать какой-либо совет или подтолкнуть в правильном направлении, то спасибо!:)

Ответы [ 2 ]

2 голосов
/ 10 мая 2011

То, что вы предлагаете, должно быть легко осуществимо, если вы условно проверите строку запроса на странице результатов, чтобы убедиться, что ключ / значение есть.

if(Request.QueryString["color"] != "")
{
    // Add color to the seach parameters
}

Чтобы создать запрос GET, я думаю, вам нужно отправить POST обратно в форму поиска и перенаправить оттуда к форме результатов, динамически добавляя ключ / значения в строку запроса по мере необходимости. Этот шаблон Post / Redirect / Get обычно используется с веб-формами, чтобы помочь с маркировкой книги.

0 голосов
/ 10 мая 2011

Если вы хотите делиться поиском в закладках между пользователями, вам нужно будет поделиться опциями строки имени / значения в опубликованном URL.Похоже, вы не хотите включать пару, если она не была указана.Это просто, просто динамически создайте строку запроса для пар, для которых пользователь предоставил ввод.Таким образом, при обработке переберите все элементы управления вводом и, если значение было предоставлено, добавьте его в строку запроса или нет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...