ASP Поиск и результаты на одной странице - PullRequest
0 голосов
/ 18 сентября 2009

У меня есть одна классическая ASP-страница, на которой я хочу отобразить форму поиска и связанные с ней результаты.

Когда пользователь впервые заходит на эту страницу, я хочу отобразить форму поиска и 10 последних свойств. Если пользователь решает использовать форму поиска для получения более релевантных свойств, то я хочу, чтобы 10 последних свойств по умолчанию были заменены поисковыми результатами пользователей.

Мне было интересно, возможно ли это / практично в пределах одной страницы, и если да, есть ли у кого-нибудь какие-либо подсказки о том, как мне лучше всего достичь этого?

Это мой предварительный код для такой страницы; http://gist.github.com/188770

Еще раз, мне в настоящее время приходится исправлять существующий сайт ASP, пока я не смогу перестроить его на что-то более современное, например PHP.

Спасибо за любую помощь.

Нил.

Ответы [ 2 ]

1 голос
/ 18 сентября 2009

Это, безусловно, очень возможно и практично. Как правило, решение состоит в том, чтобы отправить обратно себе и иметь код на странице, который определяет, пришли ли вы туда из сообщения или получения. Получить означает показать 10 последних свойств, сообщение означает, что вы делаете поиск и показывает результаты.

if (Request.ServerVariables("REQUEST_METHOD") = "POST") then

   ' arrived via post, get form values and do search
else

   ' arrived via get, show last 10 results

end if
0 голосов
/ 18 сентября 2009

Возможно, вы захотите отобразить то, что пользователь искал в форме при отображении результата:

<label>Street: <input type="text" name="searchStreet" value="<%=Server.HtmlEncode(Request("searchStreet") & "") %>" /></label>

Добавление пустой строки предназначено для приведения к строке, чтобы не выдавать ошибку, когда ключ не найден, например. при первом посещении.

Если хотите, можете сделать цикл красивее:

do until myRecordSet.EOF
%>
<div class='result'>")
  <dl><%=myRecordSet("ContentTitle")%><dl>
  <dt><%=myRecordSet("ContentStreet")%><dt>
  <dt><%=myRecordSet("ContentTown")%><dt>
  <dt><%=myRecordSet("ContentPostcode")%><dt>
</div><%
myRecordSet.MoveNext
loop

Вы, вероятно, также хотите использовать Server.HtmlEncode ...

(ps ASP фактически на год моложе PHP ... если вы хотите что-то современное, вы можете посмотреть на python, ruby ​​или asp.net mvc до PHP, так как писать плохой код на PHP легче, чем в из тех. д.с.)

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