0

我有一个中继器,在其中我将一些用户控件与面板绑定。面板有一个OnClick事件并引发一个ItemCommand. 我知道它DataItem不会在整个回发过程中持续存在,因此在事件期间它将为空ItemCommand,我的要求是在单击特定用户控件时更改它的颜色(不使用 Javascript)。有人有想法吗?

4

1 回答 1

0

您可以尝试在 itemDataBound 事件中更改特定用户控件 onClick 的类名,如下所示

protected void DataList1_ItemDataBound(object sender, 
                             DataListItemEventArgs e) 
{
     if (e.Item.ItemType == ListItemType.Item || 
         e.Item.ItemType == ListItemType.AlternatingItem)
     { 
         //Add eventhandlers for highlighting 
         //a DataListItem when the mouse hovers over it.
         e.Item.Attributes.Add("onmouseover", 
                "this.oldClass = this.className;" + 
                " this.className = 'EntryLineHover'"); 
         e.Item.Attributes.Add("onmouseout", 
                "this.className = this.oldClass;");
         //Add eventhandler for simulating 
         //a click on the 'SelectButton'
         e.Item.Attributes.Add("onclick", 
                this.Page.ClientScript.GetPostBackEventReference(
                e.Item.Controls[1], string.Empty));
     }
}
于 2012-11-27T05:02:10.347 回答