3

サーバー側を使用しようとしました.CssClassが、これは使用できません。私のdivrunat="server"にはアクセスできるようになっていますが.CssClass、「.」をクリックするとドロップダウンに表示されません。これを乗り越える方法、または機能する可能性のある他のソリューションを知っている人はいますか?

わかりました、悪いです。これはHTMLコントロールでは機能せず、aspコントロールでのみ機能することがわかりました

4

6 に答える 6

17

クラス名を読みたい場合は、次のコードを使用する必要があります。

string className = Test.Attributes["class"].ToString();

特定のクラスを置き換えたい場合は、次のコードを使用する必要があります。

Test.Attributes.Add("class", Test.Attributes["class"].ToString().Replace("spacerDiv", ""));
于 2012-04-17T14:28:45.297 に答える
7
HTML
<div id="Test" runat="server"></div>

コードビハインド

add =>       Test.Attributes.Add("class", "myClass")

remove =>    Test.Attributes.("class") = "";
于 2012-04-17T14:15:00.653 に答える
0

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

WebControl の場合、同じコードを次のように変更できます。

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());
    }
于 2019-12-09T06:18:01.440 に答える