1

私はいくつかのタスクに使用するヘルパークラスを持っています、それらの1つは与えられたコントロールにスタイルを適用しています

たとえば、方法の1つは、Style.Add()

だから私がよく使う要素ごとにラベルを言う

Class Attrib
{
        public static void Atdd(Label LBLID, string prop, string value)
        {
            LBLID.Style.Add(prop, value);
        }
}

次に、上記をテンプレートとして使用します。

public Class Hide
{
        public static void LBL(Label LBLID)
        {
            Attrib.Atdd(LBLID, Props.propVisibility, Props.valHidden);
        }
}

プロパティと値のすべての定数を格納するクラス

    public static class Props
    {
        public const string propVisibility = "visibility", valVisible = "visible", valHidden = "hidden"
    }

*この取り組みの全体的な目的は、IntelliSenseを介して実行する必要があることをすべて実行できることに加えて、使いやすさです。

したがって、「非表示」効果を適用する必要がある場合は、

Hide.LBL(MyLabelid);
  • 私の質問は:

Web.UI.WebControlHideメソッドで受け入れられるようにパラメーターとして機能させるにはどうすればよいですか?

したがって、制御タイプを指定する代わりに:

Hide.LBL(MyLabelid);

すべてのコントロールに対して1つのメソッドしかありません

Hide.Acontrol(AnyWebControlHere);
4

1 に答える 1

0

これは私がテストしたものです。1つのメソッドとしてCommonWebControlsを使用しています。

        public static void Atdd(Control htmlOrWebCntrl, string prop, string value)
        {
            if (htmlOrWebCntrl.GetType().IsSubclassOf(typeof(WebControl)))
            {
                WebControl wc = htmlOrWebCntrl as WebControl;
                wc.Style.Add(prop, value);
            }
            else
                if (htmlOrWebCntrl.GetType().IsSubclassOf(typeof(HtmlControl)))
                {

                    HtmlControl HtmlCtrl = htmlOrWebCntrl as HtmlControl;

                    HtmlCtrl.Style.Add(prop, value);
                }

        }
于 2012-10-07T17:45:17.443 に答える