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.WebControl作为 Hide 方法接受的参数?

所以而不是指定控制类型:

Hide.LBL(MyLabelid);

我将只有一种方法用于所有控件

Hide.Acontrol(AnyWebControlHere);
4

1 回答 1

0

这是我测试的。它使用 Common WebControls 作为一种方法。

        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 回答