Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/258.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从c中的div中删除类#_C#_Css - Fatal编程技术网

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());
    }