ListItems atributos em um DropDownList são perdidos no postback?

Um colega de trabalho me mostrou isso:

Ele tem um DropDownList e um botão em uma página da web. Aqui está o código por trás:

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;
    }

No carregamento da página, as dicas de ferramentas dos itens estão sendo exibidas, mas no primeiro postback, os atributos são perdidos. Por que esse é o caso e existem soluções alternativas?

questionAnswers(11)

yourAnswerToTheQuestion