当动态加载到另一个页面时,无法调用用户控件按钮单击事件

时间:2012-01-11 11:35:41

标签: c# asp.net user-controls buttonclick

我正在编写一个加载产品列表的项目,然后提供删除它们的选项。 ASP.NET C#

所以为此创建了一个用户控件。

用户控件具有产品图像,名称,并有一个用于删除的按钮。 并将此用户控件动态加载到页面中,例如“产品”页面。

但我已将一组用户控件动态加载到Products页面。

以下是代码。

            ProductInfo ib = (ProductInfo)LoadControl("ProductInfo.ascx");
            ProductName = "xyz"; 
            /**and so on*//
            spn_list.Controls.Add(ib);

现在显示一个列表,其中包含数据库中的每个产品,每个产品都有删除按钮。

但是当我点击删除按钮时,它不会调用他的事件。没有一个。

还尝试使用break Point,但它没有到达那里。 ?????

也尝试了这个例子

Button Click Event does not fire

但不起作用

1 个答案:

答案 0 :(得分:3)

必须使用Page_Init方法而不是Page_Load加载用户控件。如果在Page_Load中完成,则不会将其添加到ViewState,因此会出现问题

还可以在每个页面上加载事件而不仅仅是第一次加载,而不是通常的。

if(!Page.PostBack) 
{     
    control.EventRaised += new EventHandler(EventResponse) 
}

错误 - 当页面重新加载时,此事件将消失。活动布线不会留在帖子上。