我可以从代码隐藏读取SharePoint中选择的搜索范围吗

我可以从代码隐藏读取SharePoint中选择的搜索范围吗,sharepoint,search,Sharepoint,Search,我有一个搜索框web部件。在该web部件中,我创建了一个类似SearchBoxEx的实例 SearchBoxEx par=new SearchBoxEx par.goImageUrl="" par.DropDownMode= DropDownModes.DisplayScopeDD; Button sear= new Button(); sear.Click += new EventHnadler(sear_Click); 我已经在搜索框web部件中添加了一个按钮。现在我必须在sear_Cli

我有一个搜索框web部件。在该web部件中,我创建了一个类似SearchBoxEx的实例

SearchBoxEx par=new SearchBoxEx
par.goImageUrl=""
par.DropDownMode= DropDownModes.DisplayScopeDD;
Button sear= new Button();
sear.Click += new EventHnadler(sear_Click);
我已经在搜索框web部件中添加了一个按钮。现在我必须在sear_Click事件中阅读SearchBoxEx中选择的范围。有人能为我指明正确的方向吗


任何帮助都将不胜感激。

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

编辑

根据评论和新信息,您是否使用“纯”javascript?这将是一个jquery示例:

<a href="#" onclick="newSearchResultsPageWithScope(); return false">Search</a>
警告:您应该使用SharePoint designer更改站点内部的站点母版页,而不是C:\Program Files\etc中的母版页。。。文件夹您还可以导航到库并下载default.master的副本进行更改,然后将其上载回库,仔细执行所有这些操作,您可以很容易地破坏sharepoint

http://yourportal/_catalogs/masterpage 在母版页的标记上方插入:


<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>

函数newSearchResultsPageWithScope()
{
var scope=$(“.ms sbscopes select”).val();
location.href=“/CustomResultsPage.aspx?s=“+范围;
}
jquery部分非常简单,它使用class=“ms sbscopes”和它下面的元素获取参数,然后将“scope”变量设置为scopes下拉列表的选定值


另外,在sharepoint网站中自定义母版页也可以,不用担心。

感谢您的回复。但我没有使用默认的SharePoint搜索按钮,即,我隐藏了放大图标并包含了搜索按钮。因此,在这种情况下,url没有所需的查询字符串[“s”]。这可能就是您首先没有作用域的原因:)尝试传递查询字符串或填充隐藏有值的表单输入再次感谢您的响应。我正在尝试用不同的搜索替换默认的SharePoint搜索,即结果来自不同的serach引擎。但为了做到这一点,我需要将Java脚本函数添加到默认母版页,这是不推荐的。我想继承默认的SharePoint搜索框web部件并使用它。我看到了快速的web部件。他们不支持示波器。但我必须支持范围。所以我想知道我是否可以使用相同的搜索下拉列表和搜索框以及不同的搜索按钮,使用查询参数并重定向到不同的结果页面。是的,你可以!您只需将这些参数传递到不同的结果页面,这会有问题吗?我将编辑这篇文章以反映这种新的方法非常感谢你的快速回复。我想试试。我在博客中读到一些内容,如果我们更改默认sharepoint文件,例如在默认母版页中添加一些java脚本函数,可能会导致Microsoft有时不支持您的解决方案。这是真的吗?这就是为什么我要创建一个单独的搜索框Web部件并将我的查询重定向到另一个搜索引擎的原因。再次感谢!!