protected void pageLinkButton_click(object sender, EventArgs e) { LinkButton linkButton = sender as LinkButton; int pageIndex = MainUtil.GetInt(linkButton.CommandArgument, -1); pageIndex--; int startIndex = pageIndex * pageSize + 1; SearchBase searchServer; if (this.SharepointServerType == "WSS") { searchServer = new WSSSearch(SpContext); } else { searchServer = new MOSSSearch(SpContext); } string siteName = advancedSearchSitesPane.Visible ? sitesList.SelectedValue : this.Web; string listName = advancedSearchSitesPane.Visible ? listsList.SelectedValue : this.ListName; listName = (listName == Translate.Text(UIMessages.AllLists)) ? string.Empty : listName; Query searchQuery = new Query(searchBox.Text) { Range = new QueryRange { Count = pageSize, StartAt = startIndex } }; if (!string.IsNullOrEmpty(siteName) || !string.IsNullOrEmpty(listName)) { searchQuery.AddFilter(siteName, listName); } SearchResultCollection searchResultCollection = searchServer.Search(searchQuery); searchResults.DataSource = searchResultCollection; searchResults.DataBind(); }
protected void searchBtn_Click(object sender, EventArgs e) { string siteName = advancedSearchSitesPane.Visible ? sitesList.SelectedValue : this.Web; string listName = advancedSearchSitesPane.Visible ? listsList.SelectedValue : this.ListName; listName = (listName == Translate.Text(UIMessages.AllLists)) ? string.Empty : listName; Query searchQuery = new Query(searchBox.Text) { Range = new QueryRange { Count = pageSize, StartAt = 1 } }; if (!string.IsNullOrEmpty(siteName) || !string.IsNullOrEmpty(listName)) { searchQuery.AddFilter(siteName, listName); } try { SearchBase searchServer; if (this.SharepointServerType == "WSS") { searchServer = new WSSSearch(SpContext); } else { searchServer = new MOSSSearch(SpContext); } SearchResultCollection searchResultCollection = searchServer.Search(searchQuery); searchResults.DataSource = searchResultCollection; if ((searchResultCollection == null) || (searchResultCollection.Count == 0)) { searchResults.HeaderTemplate = new CompiledTemplateBuilder( headerControl => headerControl.Controls.Add(new Literal { Text = Translate.Text(UIMessages.NoResultsCouldBeFoundForThisQuery) })); } searchResults.DataBind(); this.HideErrorLabel(); AttemptNumber = 0; } catch (UriFormatException ex) { errorLbl.Text = Translate.Text(UIMessages.YouDoNotHaveAccessToSharepointSearchService); ShowErrorLabel(); return; } catch (WebException ex) { errorLbl.Text = Translate.Text(UIMessages.CouldntGetResponseFromSharepointServer); HttpWebResponse webResponse = ex.Response as HttpWebResponse; if ((webResponse != null) && (webResponse.StatusCode == HttpStatusCode.Unauthorized) && (webResponse.Headers.AllKeys.Contains("WWW-Authenticate"))) { errorLbl.Text = Translate.Text(UIMessages.YouDoNotHaveEnoughRights); if (AttemptNumber < 3) { SharepointExtension.WriteAuthenticationResponseBasic(Request, Response); AttemptNumber++; } } this.ShowErrorLabel(); return; } catch (SoapException ex) { if (ex.Detail.InnerText == "ERROR_ALL_NOISE") { this.errorLbl.Text = Translate.Text(UIMessages.YourQueryIncludedOnlyCommonWordsAndOrCharactersWhichWereRemovedNoResultsAreAvailableTryToAddQueryTerms); } else { errorLbl.Text = Translate.Text(UIMessages.YouDoNotHaveAccessToSharepointSearchService); } ShowErrorLabel(); return; } }