J'ai récemment changé la façon dont la connexion fonctionnait sur mon application Web et maintenant je fais face à quelque chose que je ne comprends pas.Fermeture de la connexion après la liaison de données du répéteur
J'ai une page qui appelle une fonction appelée "ItemGet" dans le Page_Load et cela fonctionne parfaitement quand il n'y a pas de données dans le premier répéteur (Repeater1). Lorsque je clique sur un bouton qui recharge la page avec des données différentes (je sais qu'il y a des données dans le répéteur), la connexion est automatiquement fermée juste après ce même répéteur (répéteur 1). Le problème, c'est qu'il y a un autre répéteur juste après (RepeaterTopTen) qui a besoin de la même connexion. J'ai fermé manuellement la connexion juste après l'appel à cette fonction mais au moins j'ai besoin que la connexion reste ouverte pendant toute la durée de la fonction. Est-ce que l'un d'entre vous connaît la raison pour laquelle il s'est fermé et ce que je peux faire pour l'empêcher de fermer à ce moment-là?
Voici le code:
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();
}