Click here to Skip to main content
15,897,519 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
i have a menu created using two repeater .Second repeater is bounded inside item data bound of outer repeater. Menu is loaded each time page loaded. when page is loaded two or three time all connection in connection pool is used so it will throw an error .I use data adapter for Loading Menu Content .Ie no Explicit open and close for Connection Still it cause a lot of unclosed connection
XML
<asp:Repeater ID="rpMenu" runat="server" OnItemCommand="rpMenu_ItemCommand"
                        OnItemDataBound="rpMenu_ItemDataBound">
                <ItemTemplate>
                <li>
                <asp:HiddenField id="hdUrl" runat="server"/>
                <asp:LinkButton ID="lnkMainLink" runat="server" CausesValidation="False"  CommandArgument='<%# DataBinder.Eval(Container.DataItem, "MenuID") %>' CommandName="lnkMainClick"
                 Text='<%# DataBinder.Eval(Container.DataItem, "MenuTextEn") %>'   >
                </asp:LinkButton>
                <ul>
                <asp:Repeater ID="rpSubMenu" runat="server" OnItemCommand="rpSubMenu_ItemCommand"
                        OnItemDataBound="rpSubMenu_ItemDataBound">
                <ItemTemplate>
                <asp:HiddenField runat="server" ID="hdMainMenuID" />
                <asp:LinkButton ID="lnkSubLink" runat="server" CausesValidation="False"  CommandArgument='<%# DataBinder.Eval(Container.DataItem, "Path") %>' CommandName="lnkSubClick"
                 Text='<%# DataBinder.Eval(Container.DataItem, "MenuTextEn") %>' >
                </asp:LinkButton>
                </ItemTemplate>
                </asp:Repeater>
                </ul>
                </li>

                </ItemTemplate>
                </asp:Repeater>

function called in Firstrepeter'Item DAtabound is
private void bindSubMenu(string id1, Repeater rpSubmenu)
{
try
{
UsersDAL obj = new UsersDAL("current");
int UserTypeID = obj.UserTypeID;
PermissionsDAL objP = new PermissionsDAL();
objP.UserTypeID = UserTypeID;
objP.MenuID = Convert.ToInt32(id1);
DataTable dt = objP.selectSubMenuHavingPermission();
rpSubmenu.DataSource = dt;
rpSubmenu.DataBind();
}
catch (Exception ex)
{

// throw ex;
}
}
C#
public DataTable selectSubMenuHavingPermission()
  {
      dt = new DataTable();
      try
      {
          cmdobj = new SqlCommand();
          
          cmdobj.CommandType = CommandType.StoredProcedure;
          cmdobj.Connection = connobj;
          cmdobj.CommandText = "Usp_SubMenuList";
          cmdobj.Parameters.AddWithValue("@UserTypeID", UserTypeID);
          cmdobj.Parameters.AddWithValue("@MenuID", MenuID);
         
          daobj = new SqlDataAdapter(cmdobj);
          daobj.Fill(dt);

      }
      catch (Exception ex)
      {
          throw ex;
      }
      finally
      {
         
      }
      return dt;
  }
Posted
Comments
Thanks7872 15-Oct-13 1:44am    
Remove unnecessary code dump. Mention clearly what the problem is? Whats is the error? If error,at which line?
Deepak_Sharma_ 15-Oct-13 2:02am    
Dispose SqlDataAdapter object after use. Put it inside using block:


using(daobj = new SqlDataAdapter(cmdobj))
{
daobj.Fill(dt);
}

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900