¿Los atributos ListItems en un DropDownList se pierden en la devolución de datos?

Un compañero de trabajo me mostró esto:

Tiene un DropDownList y un botón en una página web. Aquí está el código detrá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;
    }

En la carga de la página, se muestran las informaciones sobre herramientas de los elementos, pero en la primera devolución, los atributos se pierden. ¿Por qué es este el caso, y hay alguna solución?

Respuestas a la pregunta(11)

Su respuesta a la pregunta