Недавно я изменил способ работы соединения с моим веб-приложением, и теперь я сталкиваюсь с тем, что я не понимаю.Закрытие соединения после привязки репитера
У меня есть страница, вызывающая функцию «ItemGet» в Page_Load, и она отлично работает, когда нет данных в первом повторителе (Repeater1). Когда я нажимаю кнопку, которая перезагружает страницу разными данными (я знаю, что есть данные в ретрансляторе), соединение автоматически закрывается сразу после того же самого повторителя (повторитель 1). Проблема состоит в том, что после повторения (RepeaterTopTen) есть еще один повторитель, которому требуется такое же соединение. Я закрыл вручную соединение сразу после вызова этой функции, но по крайней мере мне нужно, чтобы соединение оставалось открытым во время всей функции.
Неужели кто-то из вас знает причину, по которой он закрыл себя и что я могу сделать, чтобы он не закрылся в это время?
Вот код:
private void ItemsGet(string csCategory, string csTimeFrame)
{
DataSet data;
if (csCategory == null)
{
data = m_database.GetPost(Tools.GetPostLang(), Session["TimeFrame"].ToString());
Page.Title = m_database.GetTranslation(509);
}
else
{
data = m_database.GetPost(Convert.ToInt32(csCategory), Tools.GetPostLang(), Session["TimeFrame"].ToString());
Page.Title = m_database.GetTranslation(508) + m_database.GetCategoryName(Convert.ToInt32(csCategory));
}
// Populate the repeater control with the Items DataSet
PagedDataSource objPds = new PagedDataSource();
objPds.DataSource = (DataView)(data.Tables[0].DefaultView);
// Indicate that the data should be paged
objPds.AllowPaging = true;
// Set the number of items you wish to display per page
objPds.PageSize = 5;
// Set the PagedDataSource's current page
if (CurrentPage != 0)
objPds.CurrentPageIndex = CurrentPage;
else
objPds.CurrentPageIndex = 0;
lblCurrentPage.Text = m_database.GetTranslation(423) + (CurrentPage + 1).ToString() + m_database.GetTranslation(422) + objPds.PageCount.ToString();
// Disable Prev or Next buttons if necessary
btnPrev.Enabled = !objPds.IsFirstPage;
btnNext.Enabled = !objPds.IsLastPage;
Repeater1.DataSource = objPds;
Repeater1.DataBind();
DataSet dataTopTen = m_database.GetTopTenUser();
RepeaterTopTen.DataSource = dataTopTen;
RepeaterTopTen.DataBind();
}