刚才看了一个例子,是动态添加和删除用户控件的例子。作者写了有两个页面,TableDataField.aspx和WebUserControlCls.ascx,他在TableDataField.aspx页面中引用了WebUserControlCls.ascx页面的一个button控件。代码简要如下:TableDataField.aspx.cs里面:
webUserCtrl.btnDelRow.Attributes.Add("onclick", "return confirm('确定要删除该字段吗?');");WebUserControlCls.ascx.cs里面
public System.Web.UI.WebControls.Button btnDelRow他用的环境是VS2003,所以可以有public System.Web.UI.WebControls.Button btnDelRow这样的代码,而我用的是VS2005,不能写public System.Web.UI.WebControls.Button btnDelRow
这样的代码,而VS2005它控件默认的访问方式是protect,不能访问。我怎么才能在TableDataField.aspx中访问WebUserControlCls.ascx的控件呢?请高手指点一下!

解决方案 »

  1.   

    在控件文件里修改成
    public static System.Web.UI.WebControl.Button btnDelRow
    {
      get { return "你的Button"; }
      set { "你的Button" = value; }
    }
    添加好后可以在aspx页面.cs文件里访问试试("注意引用")试试
      

  2.   

    不行啊,有错误:类型“WebUserControlCls”已经包含“btnDelRow”的定义
      

  3.   


    public Button BtnDelRow//把b改成大写B,作为一个属性
    {
        get { return btnDelRow;}
        set { btnDelRow = value;}
    }
      

  4.   

    是这样的,可以了。现在看来好简单,好长时间没看ASP.NET,有些不熟悉了