父页面怎么调用用户控件的中的方法。在用户控件中有一个属性a,一个方法b(),我想在父页面中通过单机按钮给a赋值后执行方法b(),怎么实现啊,属性我已经做好了,就是不知道怎么激活方法b()。

解决方案 »

  1.   

     protected void Button1_Click(object sender, EventArgs e)
     {
        this.WebUserControl.b();
     }//直接这样调用就可以了,另外你在用户控件中的方法是公共的吧?public void b()  是这样的就OK了。
      

  2.   

    首先不清楚楼主是什么情况下激发的这个事件:
    如果父页面是激活状态的话,那就直接调用this.xx.xx即可
    如果是父页面处于非激活状态,可以在激活状态页面进行委托调用父页面的事件
    如果是父页面处于非激活状态且给激活装态页面传递了本身对象的话,及也可以直接调用
      

  3.   

    参考相关:http://www.cnblogs.com/insus/archive/2011/12/12/2284382.html
    http://www.cnblogs.com/insus/archive/2011/12/10/2283142.html
      

  4.   

    具体什么情况?
    难道this.控件.方法名(),不好用么?
      

  5.   

    我也想用this.控件名.b()不知道什么原因就是不行,方法b也是public void就是智能感知里面出不来,只能出来属性。
      

  6.   

    帖方法定义。Property都可以,Method没理由不行啊,不会是Static了吧。或者将mehod手动敲进去,看看报什么错误。
      

  7.   

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;public partial class WebUserControl : System.Web.UI.UserControl
    {
        public void b()
        {
            Label1.Text = "控件方法";
        }
        protected void Page_Load(object sender, EventArgs e)
        {    }
    }
    这就是控件里面定义的方法,在父页面里面WebUserControl1根本出不来方法b
      

  8.   

    将mehod手动敲进去,看看编译报什么错误
      

  9.   


    以下三种可以任选一种:1. 编译一下,例如按 Ctrl+Shift+B 键。
    2. 在页面顶部写<%@ Reference  %>具体化你的用户控件的引用。
    3. 写一个接口让用户控件实现它,父页面写“var x= (接口)用户控件”的方法,在没有实现用户控件时按接口编程。