gpt4 book ai didi

c# - 在 C# 中动态更改 css 样式?

转载 作者:行者123 更新时间:2023-11-30 19:14:25 24 4
gpt4 key购买 nike

我有一些链接按钮,我在其中动态添加了样式。我在一个方法中执行以下操作:

LinkButton lb = new LinkButton();
lb.Style["font-weight"] = "bold";

当点击另一个链接时,它应该取消粗体链接按钮,该链接按钮是粗体和粗体当前点击的链接按钮,所以在执行此操作的方法中,我尝试过:

lb.Style["font-weight"] = "none";

上面的方法不起作用,之前选择的链接保持粗体。

我刚刚意识到可能的问题。我正在创建多个链接,看起来是因为所有链接都命名为 lb,所以它永远不会删除粗体。我正在想办法让它记住之前选择的链接并只取消加粗该链接。

最佳答案

我可以建议替代方法吗?

设置 CSS 样式:

.selected { font-style: bold; }

单击链接时,将该链接的 CSS 类设置为“已选择”,将其他设置为“”;

编辑:适应现有的 Css 类

const string MY_CLASS = "links";
lb1.CssClass = MY_CLASS + " selected"; // selected
lb.CssClass = MY_CLASS; // not selected

定义内联样式时很快就会遇到麻烦,因为它们很难被覆盖。

编辑 2:

类似这段代码的东西应该可以工作。您可能必须遍历列表中的所有 LinkBut​​ton,但我不这么认为。我只是关闭 LinkBut​​ton 上的 ViewState。

// container for links. so you can reference them 
// outside of the creation method if you wish. I'd probably call this method in the
// Page_Init Event.

List<LinkButton> listOfLinks = new List<LinkButton>();
const string MY_LB_CLASS = "linkButton"; // generic lb class


private void createSomeLinks() {

for (int i = 0; i < 10; i++) {
// create 10 links.
LinkButton lb = new LinkButton()
{
ID = "lb" + i,
CssClass = MY_LB_CLASS
};
lb.Click += new EventHandler(lb_Click); // Add the click event
}

// You can bind the List of LinkButtons here, or do something with them.
}

void lb_Click(Object sender, EventArgs e) {

LinkButton lb = sender as LinkButton; // cast the sender as LinkButton
if (lb != null) {
// Make the link you clicked selected.
lb.CssClass = MY_LB_CLASS + " selected";
}
}

关于c# - 在 C# 中动态更改 css 样式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/628115/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com