0

我正在尝试在我的网站中实施 Google CSE,我已经格式化了 Google CSE 网站上搜索框和结果的外观,现在我想做以下事情:

  • 在页面上有搜索框,Master以便它显示在每个地方
  • 在单独的页面上显示结果说“ search.aspx”,这是Master
  • 在结果页面上,搜索框保留在母版页中的位置。并且有一个 div 来显示结果。

我知道我们有以下可以使用的元素。

  • <gcse:search>
  • <gcse:searchbox><gcse:searchresults>两列布局
  • <gcse:searchbox-only>独立的搜索框
  • <gcse:searchresults-only>一个独立的搜索结果块。

但我想我的要求只能通过使用上述组合来满足,但不确定是哪一个。

如果有人这样做过,请您指导我要走的路。

4

1 回答 1

1

一个技巧是重定向到搜索页面,将搜索放在 url 上,例如:

您在任何地方(在 master 上)搜索单词test,如果您不在,您的代码search.aspx将重定向到:

search.aspx?q=test

现在,在 中search.aspx,您阅读了查询q并将其放在谷歌用来进行搜索的文本框中,仅此而已 - 啊,还有一个帖子回谷歌。

例如,代码将如下所示:

<form action="search.aspx" id="Form1">
  <div>                     
    <input type="hidden" name="cx" value="partner-pub-XXXXXXXXXX" />
    <input type="hidden" name="cof" value="FORID:10" />
    <input type="hidden" name="ie" value="UTF-8" />

    <input type="text" name="q" size="46" value="<%=Server.HtmlEncode(Current.Request["q"]) %>" />
    <input type="submit" name="sa" value="Search" />
  </div>
</form>
于 2012-09-07T10:46:32.603 回答