无法访问子页面中动态调用的Usercontrol中的控件

时间:2018-12-05 06:02:06

标签: c# asp.net user-controls dynamic-usercontrols

我正在使用以下链接根据我在aspx页面中的情况动态调用Usercontrols。 Link which i am using to dynamically load User-Controls

现在的问题是,

1)我正在创建相应用户控件的对象,以调用该页面的提交功能。 (这是执行此操作的正确方法)。

2)在子页面(用户控件)中,访问该用户控件的控件时出现对象引用异常。

有人可以帮忙吗?

您好,请附上示例代码以进一步说明。 1)我正在使用的用户控制代码。

namespace WebApplication1
{
    public partial class UserControlOne : System.Web.UI.UserControl
    {
       public void btnUserControlOne_Click(object sender, EventArgs e)
       {
            lblUserControlOne.Text = "User Control Button Clicked";
        }
     }
}

此行出现对象引用错误。 lbl.Text。

2)调用此用户控件的页面如下。

namespace WebApplication1
{
   public partial class parentWebForm : System.Web.UI.Page
   {
      protected void Page_Load(object sender, EventArgs e)
      {
         System.Web.UI.UserControl uc = 
        (System.Web.UI.UserControl)Page.LoadControl("UserControlOne.ascx");

         divLoadControl.Controls.Add(uc);
       }

     protected void btnParent_Click(object sender, EventArgs e)
     {
        UserControlOne usrCntrlOne = new UserControlOne();
        usrCntrlOne.btnUserControlOne_Click(sender, e);
     }
   }
}

1 个答案:

答案 0 :(得分:0)

使用下面的链接Link of solution which uses delegate解决了此问题。 所以我要做的是,如上面的解决方案链接中所述,我为该函数创建了一个Delegate,并且当我想重定向到下一页时,在控件返回到父页面的委托事件时,此任务已完成。

因此,基本上,我做了另一种方法,即在内容页面中称为用户控件事件,因为所有动态控件中的事件名称都是相同的,因此可以解决此问题。