如何在母版页上使用Google自定义搜索V2搜索元素,但会在子页面上生成

时间:2012-09-07 10:22:08

标签: c# asp.net search google-custom-search

我正在尝试在我的网站中实施Google CSE,我已经格式化了搜索框的外观和谷歌CSE网站上的结果,现在我想要执行以下操作:

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

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

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

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

如果有人这样做了,你能指导我走的路吗?

1 个答案:

答案 0 :(得分:1)

这方面的一个技巧是重定向到搜索页面,将搜索放在网址上,例如:

您可以在任何地方(在主人身上)搜索单词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>