C# 在不影响其他链接按钮的情况下更改动态创建的链接按钮的样式?
我有一个方法,可以在列表中循环并使用LinkButton控件创建链接。对于这个问题,假设这是一个颜色列表,我有5种颜色:红色、绿色、蓝色、红色和黄色。下面是我如何创建链接和添加事件处理程序的代码片段C# 在不影响其他链接按钮的情况下更改动态创建的链接按钮的样式?,c#,asp.net,C#,Asp.net,我有一个方法,可以在列表中循环并使用LinkButton控件创建链接。对于这个问题,假设这是一个颜色列表,我有5种颜色:红色、绿色、蓝色、红色和黄色。下面是我如何创建链接和添加事件处理程序的代码片段 foreach(color in colors) { LinkButton lb = new LinkButton(); lb.Text = color.name; lb.Click += new System.EventHandler(this.colorClick);
foreach(color in colors)
{
LinkButton lb = new LinkButton();
lb.Text = color.name;
lb.Click += new System.EventHandler(this.colorClick);
lb.CommandName = "CommandName";
lb.CommandArgument = "CommandArgument";
lb.ID = color.Id;
}
在偶数处理程序colorClick中,我通过执行以下操作将单击的链接加粗:
protected void colorClick(object o, EventArgs e)
{
LinkButton lnk = (LinkButton)o;
lnk.Style["font-weight"] = "bold";
//Process clicked link.
}
上面的代码可以很好地将当前单击的链接加粗,我遇到的问题是,假设单击的链接是红色的,因此红色将是加粗的,如果单击蓝色,我希望将链接加粗为蓝色,但未绑定为红色。我试过:
lnk.Style["font-weight"] = "normal";
lnk.Font.Bold = "false";
但是,我突然想到,虽然上面的说法可能是正确的,但我做得不对(colorClick)。我的想法是,我可能必须记住以前单击的链接并取消绑定该链接,但我不确定如何执行该操作。您有三个选项:
lnk.Style.Remove("font-weight")
我试着解开所有的东西,但似乎不起作用。我不知道如何记住以前点击的链接。