我有一个经典的ASP页面,我想显示一个搜索表单和相关的结果。
当用户第一次访问此页面时,我想显示一个搜索表单和10个最新属性。如果用户决定使用搜索表单来检索更多相关属性,那么我希望将默认的10个最新属性替换为用户的分页搜索结果。
我想知道这是否可以在一页的范围内实现/实用,如果是这样,有没有人对我如何才能最好地实现这一点有任何暗示?
这是我对这样一个页面的初步代码; http://gist.github.com/188770
再一次,我现在不得不修补现有的ASP网站,直到我可以用更现代的PHP重新开发它。
感谢您提供的任何帮助。
尼尔。
答案 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)