逛园子无意看到的,看发飙时间挺早的了,但还挺有意思~~发到这边来共享一下~~简单归简单,有空了做做,挺有味道的~PS:大牛就表看了,介个太基础,估计入不了大牛们的眼了~~又PS:GOOGLE一搜,答案到处都是~~==========================================================第一题:
    一个Page:PageA.aspx的网页上放有一个TextBox ID为TextBox1和一个Button ID为Button1; 
  一个User Control:UcA.ascx的网页上放有一个Label ID为Label1.这个UcA.ascx并拉入到PageA.aspx上。
  在TextBox1输入一个值,并按Button1,然把TextBox1的值传至UcA.ascx并显示于Label1.第二题:
    一个Page:PageA.aspx的网页上放有一个TextBox ID 为TextBox1;
    一个User Control:UcA.ascx的网页上放有一个Button ID为Button1和一个Label ID为Label1,这个UcA.ascx并拉入到PageA.aspx上。
  在TextBox1输入一个值,并接UcA.ascx上的Button1,然把TextBox1的值传至UcA.ascx并显示于Label1.第三题:
    一个User Control:UcA.ascx的网页上放有一个TextBox ID为TextBox1;
  一个Page:PageA.aspx的网页上放有一个Button ID为Button1和一个Label ID为Label1;
  然后把这个UcA.ascx并拉入到PageA.aspx上。
  在UcA.ascx的TextBox1输入一个值,点PageA.aspx上的Button1,然后把TextBox1的值传至PageA.aspx并显示于Label1上。第四题:
    一个User Control:UcA.ascx的网页上放有一个TextBox ID为TextBox1和一个Button ID为Button1;
  一个Page:PageA.aspx的网页上放有一个Label ID为Label1;
  然后把这个UcA.ascx拉至PageA.aspx上。
  在UcA.ascx的TextBox1输入一个值,点UCA.ascx上的Button1,然后把TextBox1的值传至PageA.aspx并显示于Label1上。第五题:
    一个User Control:UcA.ascx的网页上放有一个TextBox ID为TextBox1;
  一个Page:PageA.aspx的网页上放有一个Button ID为Button1;
  一个User Control:UcB.ascx的网页上放有一个Label ID为Label1;
  然后UcA.ascx和UcB.ascx都拉至PageA.aspx上;
  然后在UcA.ascx的TextBox1输入一个值,点PageA.aspx页面上的Button1,把TextBox1的值传至UcB.ascx的Label1上。第六题:
    一个User Control:UcA.ascx的网页上放有一个TextBox ID为TextBox1和一个Button ID为Button1;
  一个Page:PageA.aspx;
  一个User Control:UcB.ascx的网页上放有一个Label ID为Label1;
  然后把UcA.ascx和UcB.ascx都拉至PageA.aspx上。
  然后在UcA.ascx的TextBox1输入一个值,点UcA.ascx上的Button1,把TextBox1的值传至UcB.ascx的Label1上。第七题:
    一个User Control:UcA.ascx的网页上放有一个TextBox ID为TextBox1;
  一个Page:PageA.aspx;
  一个User Control:UcB.ascx的网页上放有一个Button ID为Button1和一个Label ID为Label1;
  然后把UcA.ascx和UcB.ascx都拉至PageA.aspx上。
  然后在UcA.ascx的TextBox1输入一个值,点UcB.ascx上的Button1,把TextBox1的值传至UcB.ascx的Label1上。

解决方案 »

  1.   


    第一题
    (this.WebUserControl1.FindControl("Label1") as Label).Text = this.TextBox1.Text;----------------------------------------------------------------------------------------------------------------第二题
    在用户控件里使用事件实现的。
    用户控件
        public event EventHandler btnClick;    protected void Page_Load(object sender, EventArgs e)
        {
            
        }        public virtual void Button1_Click(object sender, EventArgs e)
        {
            if (btnClick != null)
            {
                btnClick(sender, e);
            }
        }
    Web页面
        protected void Page_Load(object sender, EventArgs e)
        {
            WebUserControl1.btnClick +=new EventHandler(WebUserControl1_btnClick);
        }
        protected void WebUserControl1_btnClick(object sender, EventArgs e)
        {
            (this.WebUserControl1.FindControl("Label1") as Label).Text = this.TextBox1.Text;
        }
    ----------------------------------------------------------------------------------------------------------------
    第三题
        this.Label1.Text = (this.WebUserControl1.FindControl("TextBox1") as TextBox).Text;----------------------------------------------------------------------------------------------------------------
    第四题
        同第二题,在UserControl里加事件。
    用户控件
        public event EventHandler btnClick;
        protected void Page_Load(object sender, EventArgs e)
        {    }
        protected void Button1_Click(object sender, EventArgs e)
        {
            if (btnClick != null)
            {
                btnClick(sender, e);
            }
        }
    Web页面
        protected void Page_Load(object sender, EventArgs e)
        {
            this.WebUserControl1.btnClick += new EventHandler(WebUserControl1_btnClick);
        }    void WebUserControl1_btnClick(object sender, EventArgs e)
        {
            this.Label1.Text = (this.WebUserControl1.FindControl("TextBox1") as TextBox).Text;
        }----------------------------------------------------------------------------------------------------------------第五题        (this.WebUserControl2_1.FindControl("Label1") as Label).Text = (this.WebUserControl1.FindControl("TextBox1") as 
    TextBox).Text;----------------------------------------------------------------------------------------------------------------第六题用户控件事件 + 第五题----------------------------------------------------------------------------------------------------------------
    第七题同上。
      

  2.   

    P M51.COM(去掉空格)是非法词?这么牛
      

  3.   

    对第一题的出题思路我要说两句,“然后把TextBox1的值传至UcA.ascx并显示于Label1”这其实是显示了出题者的一些背景设计问题的。我们为什么使用用户控件?为了隔离和解耦。所以,用户控件通常是用来显示一个东西,而对外部隐藏它是用什么控件,隐藏内部如何解析接口参数。而这个问题如果是一个pm出的,它误导了下层的开发者,没有体现利用接口来隔离和给下级开发人员解脱责任的原则(反之就是埋下了让你的程序员把责任归咎为by disign的伏笔)。