2009-11-25 70 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