SPSite site = SPContext.Current.Site;
SPWeb web = SPContext.Current.Web;
using (SPSite elevatedSite = new SPSite(site.ID))
{
using (SPWeb elevatedWeb = elevatedSite.OpenWeb(web.ID))
{
SPList list = web.Lists[“lexicon of touristic terms”];
SPQuery query = new SPQuery();
StringBuilder camlBuilder = new StringBuilder();
camlBuilder.Append(“<Where><Or><Contains><FieldRef Name=’Title’ /><Value Type=’Text’>”);
camlBuilder.Append(txtSearchQuery.Text);
camlBuilder.Append(“</Value></Contains><Contains><FieldRef Name=’Column2′ /><Value Type=’Note’>”);
camlBuilder.Append(txtSearchQuery.Text);
camlBuilder.Append(“</Value></Contains></Or></Where><OrderBy><FieldRef Name=’Title’ Ascending=’True’ /></OrderBy>”);
string queryText = camlBuilder.ToString();
query.Query = queryText;
query.ViewFields = string.Concat(“<FieldRef Name=’Title’ />”, “<FieldRef Name=’Column2′ />”);
query.ViewFieldsOnly = true;
SPListItemCollection queryResults = list.GetItems(query);
DataTable resultTable = queryResults.GetDataTable();
if (resultTable != null && resultTable.Rows.Count > 0)
{
rptResult.Visible = true;
lblError.Visible = false;
PagedDataSource pdsResult = new PagedDataSource();
pdsResult.DataSource = resultTable.DefaultView;
pdsResult.AllowPaging = true;
pdsResult.PageSize = 10;
pdsResult.CurrentPageIndex = CurrentPage;
lblCurrentPage.Text = “Page: ” + (CurrentPage + 1) + ” of ” + pdsResult.PageCount.ToString();
btnPrev.Enabled = !pdsResult.IsFirstPage;
btnNext.Enabled = !pdsResult.IsLastPage;
rptResult.DataSource = pdsResult;
rptResult.DataBind();
if (pdsResult.PageCount > 1)
{
loadPageNumbers(pdsResult.PageCount);
spnNavigation.Visible = true;
}
else
spnNavigation.Visible = false;
}
else
{
if (txtSearchQuery.Text == string.Empty)
{
ShowErrorMessage(“Please enter search keyword”);
}
else
{
ShowErrorMessage(“Records not found”);
}
}
}
}