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?