У меня странные проблемы с моим списком и пейджером. У меня глобальный поиск (поля поиска на главной странице)
Сценарий 1:
Пользователь вводит поисковый запрос на любой странице, кроме моей страницы search.aspx
Результат:
Работает
Сценарий 2:
Пользователь использует пейджер данных для просмотра различных страниц поиска
Результат
Работает
Сценарий 3:
- Пользователь вводит поисковый запрос с любой страницы ... - работает
- Теперь пользователь нажимает на разных страницах в пейджере - работает
- Пользователь вводит новый поисковый запрос - работает
- Нет результатов с первой попытки (нет результатов). Вторая попытка работает
Я выполняю привязку данных в следующем методе обработки данных
/// <summary>
/// Set datasource here
/// </summary>
protected void DataPagerProducts_PreRender(object sender, EventArgs e)
{
string searchString = "";
// search cross post handler
if (PreviousPage != null && PreviousPage.IsCrossPagePostBack)
{
Page previousPage = PreviousPage;
TextBox tbSearch = (TextBox)PreviousPage.Master.FindControl("txtSearch");
searchString = tbSearch.Text;
}
else if (IsPostBack)
{
TextBox tbSearch = (TextBox)Master.FindControl("txtSearch");
searchString = tbSearch.Text;
}
// validation
if (String.IsNullOrEmpty(searchString) || searchString.Length < 3)
{
return;
}
this.lvSearchResults.DataSource = SetSearchDataSource(searchString);
this.lvSearchResults.DataBind();
}
// paging
protected void lvSearchResults_DataBound(object sender, EventArgs e)
{
dpSearchResults.Visible = (dpSearchResults.PageSize < dpSearchResults.TotalRowCount);
Literal litRecordCount = (Literal)lvSearchResults.FindControl("litRecordCount");
if (litRecordCount != null)
{
litRecordCount.Text = dpSearchResults.TotalRowCount.ToString("#,##0");
}
}
// Item list
protected void lvSearchResults_ItemDataBound(object sender, ListViewItemEventArgs e)
{
if (e.Item.ItemType == ListViewItemType.DataItem)
{
//int channelName = (int)e.Item.DataItem;
Channel channel = (Channel)e.Item.DataItem;
ChannelItem ucChannelItem = (ChannelItem)e.Item.FindControl("ucChannelItem");
}
}