【问题标题】:Best way to implement Google Custom Search on an aspx page在 aspx 页面上实现 Google 自定义搜索的最佳方法
【发布时间】:2008-09-16 18:01:43
【问题描述】:

Google 自定义搜索代码作为表单标签提供。但是,Asp.net 只允许在页面上使用单个表单标签。实现其代码的最佳方式是什么,以便您可以将其包含在 aspx 页面中(例如作为 Masterpage 或导航元素的一部分)。

【问题讨论】:

    标签: asp.net forms google-search google-custom-search


    【解决方案1】:

    一个 ASP.NET 页面上可以有多个表单标签。限制在于服务器端 (runat="server") 表单标签。

    您可以实现两个(或更多)表单标签,只要其中一个具有 runat="server" 属性并且一个不包含在另一个中。示例:

    <body>
    <form action="http://www.google.com/cse" id="cse-search-box"> ... </form>
    <form runat="server" id="aspNetform"> ... </form>
    <body>
    

    【讨论】:

      【解决方案2】:

      您可以有多个表单标签,但请注意它们不能嵌套。在那种情况下,你会遇到各种奇怪的事情(例如,我见过嵌套表单的开始标签显然被忽略,然后它的结束标签最终关闭了“父”表单的情况)。

      【讨论】:

        【解决方案3】:

        您需要删除表单标签并使用 javascript 发送查询。看一下 http://my6solutions.com/post/2009/04/19/Fixing-Google-Custom-Search-nested-form-tags-in-asp-net-pages.aspx

        我也包含了之前和之后的代码。因此,您可以看到我为将其与 blogengine .net 集成所做的工作。

        【讨论】:

        • 这似乎不是一个好的解决方案。禁用 javascript 的用户怎么办?
        • 如果您可以将 2 个表单标签分开,那么一切都很好。否则......实际上,我想知道这些天禁用 javascript 的人的百分比是多少......
        • 我认为这几天真的不用担心stackoverflow.com/questions/121108/…
        • 我知道这是一篇旧帖子。但是为什么不能直接发布分析器而不是提供链接..您提供的页面已过期。
        【解决方案4】:

        你可以使用 Javascript:

        <input name="Query" type="text" class="searchField" id="Query" value="Search" size="15" onfocus="if(this.value == 'Search') { this.value = ''; }" onblur="if(this.value == '') { this.value = 'Search'; }" onkeydown="var event = event || window.event; var key = event.which || event.keyCode; if(key==13) window.open('http://www.google.com/search?q=' + getElementById('Query').value ); " /><input name="" type="button" class="searchButton" value="go" onclick="window.open('http://www.google.com/search?q=' + getElementById('Query').value );" />
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-07-29
          • 2022-08-24
          • 1970-01-01
          • 2015-01-18
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多