Ваши атрибуты должны отображаться на отображаемой странице с помощью инструментов разработчика вашего браузера. Но атрибуты не будут отправлены обратно, и вы не сможете вернуть их, например, на событие SelectedIndexChanged
.
Вы должны создать свой собственный пользовательский элемент управления, полученный из DropDownList, или хранить эти атрибуты в другом месте.
В зависимости от того, что вы хотите сделать, вы, возможно, можете сохранить Dictionary<String,String> itemAttributes
, содержащий значения ListItems и Атрибуты.
Это может быть что-то вроде:
Dictionary<string, string> itemAttributes = new Dictionary<string, string>();
ListItem newState;
foreach (DataRow drow in dsDist.Tables(1).Rows)
{
newState = new ListItem(drow("statename").ToString(), drow("state").ToString());
//newState.Attributes.Add("country", drow("country-name").ToString());
ddlstates.Items.Add(newState);
itemAttributes.Add(drow("state"), drow("country-name"));
}
ddlstates.Items.Insert(0, new ListItem("", ""));
ddlstates.SelectedIndex = 0;
Session["Attributes"] = itemAttributes;
ViewState["Attributes"] = itemAttributes;
Остерегайтесь размера сеанса или состояния просмотра, если вы используете этот метод.