title: System.ArgumentException: An entry with the same key already exists
body: <p>My masterPage, I use acordion menu</p>
  
  <pre><code>&lt;%@ Master Language="C#" AutoEventWireup="true" 
              CodeBehind="DefaultMaster.Master.cs" Inherits="Lab.DefaultMaster" 
  
  ClientIDMode="Static" %&gt;
  
  &lt;%@ Import Namespace="Resources" %&gt;
  
  &lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
                       "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;
  
  &lt;html xmlns="http://www.w3.org/1999/xhtml" &gt;
  &lt;head runat="server"&gt;
  &lt;link type="text/css" href="css/style.css" rel="Stylesheet" /&gt;
  &lt;title&gt;
  &lt;asp:ContentPlaceHolder ID="title" runat="server"&gt;
  &lt;/asp:ContentPlaceHolder&gt;
  &lt;/title&gt;
  &lt;link href="css/custom-theme/jquery-ui-1.8.2.custom.css" type="text/css" 
   rel="Stylesheet" /&gt;
  &lt;link type="text/css" href="css/accordion.css" rel="Stylesheet" /&gt;
  &lt;script type="text/javascript" src="/js/jquery-1.4.2.min.js"&gt;&lt;/script&gt;
  &lt;script type="text/javascript" src="/js/jquery-ui-1.8.2.custom.min.js"&gt;&lt;/script&gt;
  &lt;script src="/js/jquery.cookie.js" type="text/javascript"&gt;&lt;/script&gt;
  &lt;script type="text/javascript" src="/js/ddaccordion.js"&gt;&lt;/script&gt;
  &lt;script type="text/javascript"&gt;
  
  
  ddaccordion.init({ //top level headers initialization
  headerclass: "expandable", //Shared CSS class name of headers group that are 
  expandable
  contentclass: "categoryitems", //Shared CSS class name of contents group
  revealtype: "click", //Reveal content when user clicks or onmouseover the header?
  Valid value: "click", "clickgo", or "mouseover"
  mouseoverdelay: 200, //if revealtype="mouseover", set delay in milliseconds 
   before header expands onMouseover
  collapseprev: true, //Collapse previous content (so only one open at any time)? 
  true/false 
  defaultexpanded: [0], //index of content(s) open by default [index1, index2, etc]. 
   [] denotes no content
  onemustopen: false, //Specify whether at least one header should be open always (so  
  never all headers closed)
  animatedefault: false, //Should contents open by default be animated into view?
  persiststate: true, //persist state of opened contents within browser session?
  toggleclass: ["", "openheader"], //Two CSS classes to be applied to the header when 
  it's collapsed and expanded,
  
  respectively ["class1", "class2"]
  togglehtml: ["prefix", "", ""], //Additional HTML added to the header when it's 
  collapsed and expanded, respectively
  
  ["position", "html1", "html2"] (see docs)
  animatespeed: "fast", //speed of animation: integer in milliseconds (ie: 200), 
  or keywords "fast", "normal", or "slow"
  oninit: function (headers, expandedindices) { //custom code to run when headers
    have initalized
  //do nothing
  },
  onopenclose: function (header, index, state, isuseractivated) { //custom code to 
  run whenever a header is opened or closed
  //do nothing
  }
  });
  ddaccordion.init({ //2nd level headers initialization
  headerclass: "subexpandable", //Shared CSS class name of sub headers group that
  are expandable
  contentclass: "subcategoryitems", //Shared CSS class name of sub contents group
  revealtype: "click", //Reveal content when user clicks or onmouseover the header? 
  Valid value: "click" or "mouseover
  mouseoverdelay: 200, //if revealtype="mouseover", set delay in milliseconds before 
   header expands onMouseover
  collapseprev: true, //Collapse previous content (so only one open at any time)? 
   true/false 
  defaultexpanded: [], //index of content(s) open by default [index1, index2, etc]. [] 
   denotes no content
  onemustopen: false, //Specify whether at least one header should be open always (so 
   never all headers closed)
  animatedefault: false, //Should contents open by default be animated into view?
  persiststate: true, //persist state of opened contents within browser session?
  toggleclass: ["opensubheader", "closedsubheader"], //Two CSS classes to be applied 
   to the header when it's collapsed
  
  and expanded, respectively ["class1", "class2"]
  togglehtml: ["none", "", ""], //Additional HTML added to the header when it's 
   collapsed and expanded, respectively
  
  ["position", "html1", "html2"] (see docs)
  animatespeed: "fast", //speed of animation: integer in milliseconds (ie: 200),
   or keywords "fast", "normal", or "slow"
  oninit: function (headers, expandedindices) { //custom code to run when headers
    have initalized
  //do nothing
  },
  onopenclose: function (header, index, state, isuseractivated) { //custom code
  to run whenever a header is opened or closed
  //do nothing
  }
  });
  
  
  &lt;/script&gt;
  
  &lt;asp:ContentPlaceHolder ID="head" runat="server"&gt;
  
  &lt;/asp:ContentPlaceHolder&gt;
  
  &lt;style type="text/css"&gt;
  .style1
  {
  width: 140px;
  }
  &lt;/style&gt;
  
  &lt;/head&gt;
  </code></pre>
  
  <p>//body </p>
  
  <pre><code>&lt;body style="min-width:930px;"&gt;
  &lt;table border="0" cellpadding="5" cellspacing="0" width="100%"&gt;
  &lt;tr&gt;
  &lt;td style="vertical-align:top;" class="style1"&gt;
  &lt;div class="arrowlistmenu"&gt;
  
  &lt;h3 class="menuheader expandable"&gt;asd&lt;/h3&gt;
  &lt;ul class="categoryitems"&gt;
  &lt;li&gt;&lt;a href="/GeneralData/Data.aspx"&gt;asd&lt;/a&gt;&lt;/li&gt;
  &lt;/ul&gt;
  
  &lt;h3 class="menuheader expandable"&gt;sd&lt;/h3&gt;
  
  &lt;ul class="categoryitems"&gt;
  
  &lt;li&gt;&lt;a href="/Instruct/page2.aspx"&gt;sdf&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href="/Instruct/page3.aspx"&gt;sdf&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href="#"&gt;sdf&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href="#"&gt;sdf&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href="#"&gt;sdf&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href="#"&gt;sdf&lt;/a&gt;&lt;/li&gt;
  
  &lt;/ul&gt;
  
  &lt;h3 class="menuheader expandable"&gt;sdf&lt;/h3&gt;
  &lt;ul class="categoryitems"&gt;
  &lt;li&gt;&lt;a href="#"&gt;sdf&lt;/a&gt;&lt;/li&gt; 
  &lt;li&gt;&lt;a href="#"&gt;asd&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href="#"&gt;asd&lt;/a&gt;&lt;/li&gt;
  &lt;/ul&gt;
  &lt;h3 class="menuheader expandable"&gt;asd&lt;/h3&gt;
  &lt;/div&gt;
  
  &lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
  &lt;/body&gt;
  &lt;/html&gt;
  </code></pre>
  
  <p>when launching a page, he gave me error</p>
  
  <pre><code>Server Error in '/' Application.
  
  An entry with the same key already exists.
  
  Description: An unhandled exception occurred during the execution of the current web 
  request. Please review the stack trace for more information about the error and where
  it originated in the code. 
  
  Exception Details: System.ArgumentException: An entry with the same key already exists.
  
  Source Error: 
  
  
  An unhandled exception was generated during the execution of the current web request. 
  </code></pre>
  
  <p>Information regarding the origin and location of the exception can be identified 
      using the exception stack trace below.</p>
  
  <pre><code>Stack Trace: 
  
  
  [ArgumentException: An entry with the same key already exists.]
     System.Collections.Specialized.ListDictionary.Add(Object key, Object value)
                                                                             +6236205
     System.Web.UI.ClientScriptManager.RegisterExpandoAttribute(String controlId, 
    String attributeName, String attributeValue,
   Boolean encode) +272
     System.Web.UI.ScriptRegistrationManager.RegisterExpandoAttribute(Control control, 
   String controlId, String attributeName, 
  String attributeValue, Boolean encode) +115
     System.Web.UI.ScriptManager.RegisterExpandoAttribute(Control control, S
     tring controlId, String attributeName,
   String attributeValue, Boolean encode) +44
  </code></pre>