C# 从c中的div中删除类#
我尝试使用服务器端C# 从c中的div中删除类#,c#,css,C#,Css,我尝试使用服务器端.CssClass,但这不适用于我。 我的div有runat=“server”,因此我可以访问它,但当我点击“.”时,我无法在下拉列表中看到.CssClass。有人知道如何克服这个或任何其他可能有效的解决方案吗 好吧,我的错。我刚刚发现这不适用于HTML控件,仅适用于asp控件如果您想读取类名,则需要使用以下代码: HTML <div id="Test" runat="server"></div> string className = Test.Att
.CssClass
,但这不适用于我。
我的div有runat=“server”
,因此我可以访问它,但当我点击“.”时,我无法在下拉列表中看到.CssClass
。有人知道如何克服这个或任何其他可能有效的解决方案吗
好吧,我的错。我刚刚发现这不适用于HTML控件,仅适用于asp控件如果您想读取类名,则需要使用以下代码:
HTML
<div id="Test" runat="server"></div>
string className = Test.Attributes["class"].ToString();
Test.Attributes.Add("class", Test.Attributes["class"].ToString().Replace("spacerDiv", ""));
如果要替换特定类,则需要使用以下代码:
string className = Test.Attributes["class"].ToString();
Test.Attributes.Add("class", Test.Attributes["class"].ToString().Replace("spacerDiv", ""));
这将更加具体: HTML
这是与Tim相同的解决方案,但我删除了不需要的toString方法
myDiv.Attributes.Add("class", myDiv.Attributes["class"].Replace("spacerDiv", ""));
将一个类添加到div中有些相同
myDiv.Attributes.Add("class", "spacerDiv");
删除css类
myDiv.Attributes[“类”]=“” 为任何HtmlGenericControl添加或删除类的更好方法是使用下面提供的扩展:
public static void RemoveCssClass(this HtmlGenericControl controlInstance, string css)
{
var strCssClass = controlInstance.Attributes["class"];
controlInstance.Attributes["class"] = string.Join(" ", strCssClass.Split(' ').Where(x => x != css).ToArray());
}
public static void AddCssClass(this HtmlGenericControl controlInstance, string css)
{
var strCssClass = controlInstance.Attributes["class"];
controlInstance.Attributes["class"] = string.Join($" {css} ", strCssClass.Split(' ').ToArray());
}
对于网络控制,可以修改相同的代码,如下所示:
public static void RemoveCssClass(this WebControl controlInstance, string css)
{
controlInstance.CssClass = string.Join(" ", controlInstance.CssClass.Split(' ').Where(x => x != css).ToArray());
}
public static void AddCssClass(this WebControl controlInstance, string css)
{
controlInstance.CssClass = string.Join($" {css} ", controlInstance.CssClass.Split(' ').ToArray());
}
显示一些源代码可能会有所帮助。如果要访问.CssClass,可以使用ASP:面板而不是标记为服务器端的div。如果没有,请参阅“答案”以了解更改它所需的方法。@blesh为引用添加的代码我想删除div已经具有属性的类。Add在这方面没有帮助。请阅读问题。我提到我无法访问。CssClass@neuDev33:尝试此测试。Attributes.Add(“class”,即“”)也不起作用,因为它不会删除已添加的早期类,它只会添加另一个“”类。会发生什么?所有css类都将被删除。如果您需要任何css类,只需在双代码中写入类名。示例:myDiv.Attributes[“class”]=“col-sm-6”如果我们只有一个类,那么上面的代码将很好地工作,但是如果我们有多个包含spacerDiv的类,它可能会弄乱该类。
public static void RemoveCssClass(this WebControl controlInstance, string css)
{
controlInstance.CssClass = string.Join(" ", controlInstance.CssClass.Split(' ').Where(x => x != css).ToArray());
}
public static void AddCssClass(this WebControl controlInstance, string css)
{
controlInstance.CssClass = string.Join($" {css} ", controlInstance.CssClass.Split(' ').ToArray());
}