ASP搜索和结果在一个页面中

时间:2009-09-17 22:53:41

标签: sql asp-classic

我有一个经典的ASP页面,我想显示一个搜索表单和相关的结果。

当用户第一次访问此页面时,我想显示一个搜索表单和10个最新属性。如果用户决定使用搜索表单来检索更多相关属性,那么我希望将默认的10个最新属性替换为用户的分页搜索结果。

我想知道这是否可以在一页的范围内实现/实用,如果是这样,有没有人对我如何才能最好地实现这一点有任何暗示?

这是我对这样一个页面的初步代码; http://gist.github.com/188770

再一次,我现在不得不修补现有的ASP网站,直到我可以用更现代的PHP重新开发它。

感谢您提供的任何帮助。

尼尔。

2 个答案:

答案 0 :(得分:1)

这当然是非常可行和实用的。通常情况下,解决方案是回发给自己,并在页面中包含代码,用于检测您是从邮件还是获取到达那里。获取意味着显示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

答案 1 :(得分:0)

您可能希望在显示结果时显示用户在表单中搜索的内容:

<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年轻一岁......如果你想要一些现代的东西,你可能想在PHP之前看一下python,ruby或者asp.net mvc,因为在PHP中编写错误的代码要比在任何时候都容易那些.ds)