title: ListItems attributes in a DropDownList are lost on postback?
body: <p>A coworker showed me this:</p>
  
  <p>He has a DropDownList and a button on a web page.  Here's the code behind:</p>
  
  <pre><code>protected void Page_Load(object sender, EventArgs e)
      {
          if (!IsPostBack)
          {
              ListItem item = new ListItem("1");
              item.Attributes.Add("title", "A");
  
              ListItem item2 = new ListItem("2");
              item2.Attributes.Add("title", "B");
  
              DropDownList1.Items.AddRange(new[] {item, item2});
              string s = DropDownList1.Items[0].Attributes["title"];
          }
      }
  
      protected void Button1_Click(object sender, EventArgs e)
      {
          DropDownList1.Visible = !DropDownList1.Visible;
      }
  </code></pre>
  
  <p>On the page load, the items' tooltips are showing, but on the first postback, the attributes are lost.  Why is this the case, and are there any workarounds?</p>