按下linkbutton时,我在DataList中突出显示某个LinkButton
。每行都有一个链接按钮,当用户按下任何一行的下一个链接按钮时,上一个突出显示的链接按钮应该得到正常的透明背景。
要突出显示,我使用以下内容:
protected void DataList_ItemCommand(object source, DataListCommandEventArgs e)
{
if (e.CommandName == "select")
{
LinkButton highlighted = ((LinkButton)(e.Item.FindControl("Item")));
highlighted.BackColor = System.Drawing.Color.Yellow;
...
}
当用户从数据列表中选择任何其他链接按钮时,如何“取消突出显示”上一个链接按钮? 由于回发正在进行,我无法使用全局LinkButton变量来检查下次存储以前单击的LinkedButton。
有什么建议吗?
答案 0 :(得分:1)
如果要在页面加载时重新绑定网格,则应重置LinkButtons的颜色。但是,这样的东西应该能够将所有链接按钮的背景颜色设置为透明:
VB.NET:
For Each DLItem As DataListItem In DataList1.Items
Dim unHighLight As LinkButton = DLItem.FindControl("Item")
If Not unHighLight Is Nothing Then
unHighLight.BackColor = System.Drawing.Color.Transparent
End If
Next
Dim highlighted As LinkButton = e.Item.FindControl("item")
highlighted.BackColor = System.Drawing.Color.Yellow
C#:
foreach (DataListItem DLItem in DataList1.Items)
{
//unhighlight all ilnkbuttons
LinkButton unHighLight = ((LinkButton)(DLItem.FindControl("Item")));
if (unHighLight != null)
{
unHighLight.BackColor = System.Drawing.Color.Transparent;
}
}
LinkButton highlighted = ((LinkButton)(e.Item.FindControl("Item")));
highlighted.BackColor = System.Drawing.Color.Yellow;