Я сталкиваюсь со странным поведением для страницы .aspx.
У меня есть DataList с именем MyDataList
. Мне нужно условно выделить строки DataList, в зависимости от произвольного значения в данных, например, если поле Date
меньше SomeDate
.
Я использую UpdatePanel, ScriptManager и таймер (все AJAX) для обновления MyDataList.
protected void Timer1_Tick(object sender, EventArgs e)
{
MyDataList.DataBind();
}
protected void MyDataList_ItemCreated(object sender, DataListItemEventArgs e)
{
}
Проблема:
Если я добавлю обработчик события empty для события ItemCreated
(EG, MyDataList_ItemCreated
), он будет работать нормально (как показано выше).
Если я предоставляю код для выделения значения в обработчике события ItemCreated
(как показано ниже), таймер перестает тикать, и событие Timer1_Tick
больше не срабатывает.
protected void DataListBgArticles_ItemCreated(object sender,
DataListItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item ||
e.Item.ItemType == ListItemType.AlternatingItem)
{
Product product = (Product)e.Item.DataItem;
if (product.SaleDate > DateTime.Now.AddDays(-2))
{
e.Item.BackColor = Color.Pink;
}
}
}
Как я могу это исправить, чтобы таймер продолжал обновляться?