我有一个循环遍历列表并使用LinkButton控件创建链接的方法。出于这个问题的目的,假设它是一个颜色列表,我有5种颜色:红色,绿色,蓝色,红色和黄色。这是我如何创建链接和添加事件处理程序的代码片段。
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.
}
上面的代码在加粗当前点击的链接时运行正常,我遇到的问题是假设点击的链接是红色,所以Red会加粗,如果我点击蓝色,我想加粗链接蓝色,但是未说明的红色。我试过了:
lnk.Style["font-weight"] = "normal";
lnk.Font.Bold = "false";
但是,我发现虽然以上可能是正确的,但我在错误的位置(colorClick)进行。我的想法是,我可能必须记住以前点击的链接并解开那个,但我不确定如何做到这一点。
答案 0 :(得分:1)
你有三个选择:
删除font-weight的代码是:
lnk.Style.Remove("font-weight")