2009-11-25 106 views
0

后面的代码读取在SharePoint中选择的搜索范围我有一个搜索框Web部件。在该网络的一部分,我创建SearchBoxEx的实例像我可以通过

SearchBoxEx par=new SearchBoxEx 
par.goImageUrl="" 
par.DropDownMode= DropDownModes.DisplayScopeDD; 
Button sear= new Button(); 
sear.Click += new EventHnadler(sear_Click); 

我添加了一个按钮,该搜索框网络part.Now我要读的sear_Click event.Can人在SearchBoxEx选择的范围,请指导我在正确的方向

任何帮助将非常感激。

回答

0

您可以阅读Request.QueryString [“s”]参数,即使它是一个帖子,SearchBoxEx也会添加它。

编辑

基础上的意见和新的信息,您使用的是 '纯' 的JavaScript?这将是一个jQuery的例子:

<a href="#" onclick="newSearchResultsPageWithScope(); return false">Search</a>

警告:你应该与SharePoint设计师更改网站母版内,您的网站,而不是一个在C:\ Program Files文件\等等文件夹。您也可以导航到

http://yourportal/_catalogs/masterpage
库并下载default.master的副本以更改它,然后将其上传回库,仔细执行所有操作,可以非常轻松地打破您的共享点。


<script type="text/javascript" src="http://jqueryjs.googlecode.com/files/jquery-1.3.2.min.js"></script> 
<script type="text/javascript"> 

function newSearchResultsPageWithScope() 
{ 
    var scope = $(".ms-sbscopes select").val(); 
    location.href = "/CustomResultsPage.aspx?s=" + scope; 
} 

</script>

jQuery的一部分是相当简单的,它获取< TD>与类= “MS-sbscopes”,并且<选择:

插入在母版的</HEAD>标签上方>元素,然后将“范围”变量设置为范围下拉列表的选定值。

此外,在SharePoint站点中定制masterpage是好的,不用担心。

+0

谢谢你的回复。但是我没有使用默认的SharePoint搜索按钮,即隐藏了放大图标,而是包含了搜索按钮。所以在这种情况下,url没有所需的查询字符串[“s”]。 – Carol 2009-12-02 17:40:30

+0

这可能就是为什么你没有在第一个范围:)尝试传递查询字符串或填充隐藏的值为 – 2009-12-02 18:47:07

+0

的表单输入再次感谢您的回应。我试图用不同的搜索替换默认的SharePoint搜索,即结果来自不同的搜索引擎。但为了做到这一点,我需要将Java脚本功能添加到不推荐的默认母版页中。我想过继承默认的SharePoint搜索框Web部件并使用它。我看到了FAST Web部件。他们不支持范围。但我必须支持范围。所以我想知道我是否可以使用相同的搜索下拉菜单和搜索框以及不同的搜索按钮,并使用查询参数并将 重定向到不同的结果页面。 – Carol 2009-12-02 19:05:45