在VS2005里面,页面传值给用户控件时,可以通过在用户控件里定义属性,然后在页面中对它赋值来达到目的,但是,在VS2010里面就行不通了,用户控件里得到的是空值。请问各位高手,该如何传值呢,谢谢!

解决方案 »

  1.   

    用户控件:    protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
                Response.Write("usercontrol: "+this._name);//这里可以得到值
        }
        private  string _name = string.Empty;
        public  string TName
        {
            get { return _name; }
            set { _name =value; }
        }
        protected void doIt(object sender, EventArgs e)//用户控件里的一个按钮
        {
            Response.Write(" the Name is: "+TName);// 这里输出为空值
        }调用用户控件的页面代码:    protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                test1.TName = "dd";
                Response.Write("test1.TName is: " + test1.TName);//这里有值
            }
        }
        protected void btN_Click(object sender, EventArgs e)
        {
            Response.Write("the test name is: "+test1.TName);//这里没有值,为空
        }一些测试的情况见注释。