public override string ID
        {
            get
            {
                return ReturnID;
            }
            set
            {
                base.ID = ReturnID;
            }
        }
        
                public string ShowType
        {
            get { return _ShowType; }
            set { _ShowType = value; }
        }
        public string ReturnID()
        {
            string strID = "";
            switch (ShowType)
            {
                //组织结构
                case "1":
                    strID = "txtUCDept";
                    break;
                //用户
                case "2":
                    strID = "txtUCUser";
                    break;
            }
            return strID;
        }我封装控件的时候 要根据传进来的ShowType来给控件不同的id值
 上面的代码 没效果。
 要怎么做?

解决方案 »

  1.   

            public override string ID 
            { 
                get 
                { 
                    return ReturnID; 
                } 
                set 
                { 
                    base.ID = ReturnID; 
                } 
            } 这是什么东西?要override?而且,没有这么写的。
      

  2.   

    ID就是客户端 要呈现的id值 比如:<input id="tt"
     这样
      

  3.   

    不知道你为什么要overridepublic override string ID
    {
       get
       {
          return ReturnID();
       }
       set
       {
          base.ID = value
       }
    }
      

  4.   

    我是继承 textbox
    public class UCmdControls : TextBox
      

  5.   

    问题是……你的 textbox 里面有ID这个域么!你去override我只知道标识控件的话应该是name域做唯一的标识,一旦指定,就改不了。我不知道还有ID这个域,当然了,如果控件自身存在这个域,并且做为控件的唯一标识的话,那么你是改不了的。就好像你
    int i = 4; 你可以让这个 i 变成任何值,但是你不能改 i 这个名字。
      

  6.   

                public override string ID
            {
                get
                {
                    return "tt";
                }
                set
                {
                    base.ID = "tt";
                }
            }
    比如我这样定义了id为tt 呈现在html页面上的话 就是name="tt" id="tt" 这样的话,我脚本可以控制
    但是 页面引用这个控件的话
     <cc1:UCmdControls ID="UCmdControls1" runat="server" ShowType="1"></cc1:UCmdControls>
    页面上post值的话可以用 UCmdControls1.Text
      

  7.   

    哦 谢谢 解决了。
    在OnInit里面重新赋id就可以。