我正在制作自定义搜索框Web部件,类似于SharePoint中的OOTB Web部件 (SearchBoxEx class)。
我有兴趣在提交之前使用其他文本修改搜索查询,具体取决于Web部件上添加的自定义复选框。
有关如何实现这一目标的任何帮助?
更新
我已经使用了AppendToQuery
和AppQueryTerms
属性,但这也将重写搜索框中的文本。我有兴趣在后台传递值,可能是一个额外的参数。重点是查询修改应该在用户没有明确看到的情况下进行。
答案 0 :(得分:1)
在核心结果webpart中,有一个属性,您可以在其中将文本附加到查询中,您将无法在文本框中看到该文本。
最佳, Bibhu
答案 1 :(得分:1)
当我必须自定义人物搜索时,我选择滚动我自己的Web部件,只是调用Response.Transfer到Results.aspx并将附加的查询字符串参数调用到URL。这不是最优雅的解决方案,但它是一种快速修改“幕后”查询的方法。
我确信您可以开发一个应用程序页面并将其设置为Search Box Web部件的Results页面。将自定义逻辑放在page_load中,然后将(或执行表单POST)传输到实际的results.aspx页面。
我现在正在开发一个SearchBoxEx的扩展,我正在试图弄清楚如何调用提交查询的基本方法。此博客显示如何调用SearchBoxEx类的内部CreateAdvanceSearchLink方法:http://pholpar.wordpress.com/category/search/