比如说,一个很简单的用户控件C,里面只有一个TextBox.
C中公布了一个Text属性,该属性直接读写TextBox的Text属性
在页面P中,拖入一个C,这时我在设计时设置C的Text属性,TextBox的text确总是空。(运行页码的话,不存在该问题)下面是所有代码。高手指点
 public partial class ComplexDataDiv : System.Web.UI.UserControl
    {
        private string _text;
        [Browsable(true), Category("Alignment"), Description("Text."), DefaultValue(false)]
        public string Text
        {
            get{return this._text;}
            set{this._text = value;}
        }
        protected void Page_Load(object sender, EventArgs e){}
    }

解决方案 »

  1.   

    不好意思,上面的贴错了
    代码应该是
    public partial class ComplexDataDiv : System.Web.UI.UserControl
        {
            [Browsable(true), Category("Alignment"), Description("Text."), DefaultValue(false)]
            public string Text
            {
                get{return this.tb.Text;}
                set { this.tb.Text = value; }
            }
            protected void Page_Load(object sender, EventArgs e){}
        }
    其中tb是该用户控制中的一个TextBox控件。
      

  2.   

    在CreateChildControls()里有没有正常创建这个textbox控件以及是否把它添加到自定义控件中啊,像下面
    protected override void CreateChildControls()
    {
    HtmlTextArea tbText = new HtmlTextArea(); tbText.Style.Add("color","#cc0000");
    Controls.Add(tbText);
                       }
      

  3.   

    milozy1983(Detective):
    如果有很多控件,用这样的方法岂不是有点麻烦?
    另外,ascx文件中还有一些html,这些字母处理?
      

  4.   

    刚发现你是派生于UserControl,用户控件的话你直接在ascx的界面里和cs里做文章吧
    如果是写自定义控件的话单独写个类倒还比较值得,我以为你是要写自定义控件.