代码,我有这个控制删除CSS类在后面
<asp:Label ID="lblName" runat="server" Text="My Name" CssClass="required regular" />
我想从后面的代码删除required
类,我该怎么办呢?
代码,我有这个控制删除CSS类在后面
<asp:Label ID="lblName" runat="server" Text="My Name" CssClass="required regular" />
我想从后面的代码删除required
类,我该怎么办呢?
一个空字符串可以更换“需要”:
lblName.CssClass = lblName.CssClass.Replace("required", "");
使用此:
object.CssClass= object.CssClass.Replace("MyClass", "");
ooppsss我实际上与Jorge M.有相同的答案。您可以将他的答案标记为正确。没有注意到,虽然当我发布我的答案时,他的答案是第一位的。对于那个很抱歉。 – 2010-12-02 09:57:39
只是做同样的一个稍微更通用的方法 - 应排除潜在的错误,其中一个css类可能发生在CssClass属性的其他地方。
public void RemoveCssClass(WebControl controlInstance, String css)
{
controlInstance.CssClass = String.Join(" ", controlInstance.CssClass.Split(' ').Where(x => x != css).ToArray());
}
lblName.Attributes.Add("class","urclassname"); //add class to lblName
这为我工作
lblName.CssClass = "regular";
注意:无论您添加或替换代码隐藏CSS类,要记住,这两类等价的属性,即两者都具有背景颜色,字体 - 家庭...等。因为否则,你可能会被愚蠢地认为班级从来没有切换过,尽管它没有更新等效属性。
不错,简单但优雅.. – 2010-12-02 10:22:04
简单,并可能容易出错。假设你有一个CSS类列表,比如``dialog authentication-dialog modal“`,并且你删除了”dialog“类。使用这个答案中的代码,你最终得到''认证模式''。 – FreeAsInBeer 2014-06-25 13:10:10
您仍然可以进行替换,但使用正则表达式排除连字符错误的情况。您不能使用\ b单词边界元字符,因为这将匹配“ - ”作为边界。取而代之的是使用`lblName.CssClass = Regex.Replace(lblName.CssClass,@“(?<![\ w - ])对话框(?![\ w-])”,“”);`并期待匹配不包括连字符的单词边界 – 2017-04-07 10:17:46