2012-01-27 44 views
0

我有一个Web应用程序,它将一段时间分配给一天中某种调度程序的学生。动态加载时调用用户控件按钮单击事件

因此,为此我有一个用户控件作为TimePeriod,并且此控件在网页上动态加载。

我的用户控件包含两个文本框和一个按钮控件,我需要找到该按钮的单击事件。在此按钮时,它应该检索两个相关文本框的值。但是我无法找到单击事件这个按钮。

此用户控件在该页面上的提交按钮事件的另一个页面上加载。 但是页面上该用户控件的数量各不相同,因此我有一个用户动态创建用户控件列表的代码。

例如目的,我已经设置j值高达10,它实际上变化是这样的:

for (int j = 1; j < 10; j++) 
{ 
    TableRow row = new TableRow(); 
    TableCell cell = new TableCell(); 

    cell.Text = j.ToString(); 
    cell.Height = 10; 
    cell.Width = 75; 
    row.Height = 10; 
    cell.BackColor = System.Drawing.Color.FromKnownColor(System.Drawing.KnownColor.Gray); 
    //cell.BackColor = #FFFFFF; 
    row.Cells.Add(cell); 

    TimePeriod ib = (TimePeriod)LoadControl("TimePeriod.ascx"); 
    TableCell cell1 = new TableCell(); 
    cell1.BackColor = System.Drawing.Color.FromKnownColor(System.Drawing.KnownColor.Gray); 
     cell1.Controls.Add(ib); 
     row.Cells.Add(cell1); 

     tbl1.Rows.Add(row); 
    cell = null; row = null; 
} 

回答

2

您需要确保在页面的每次回发时添加事件。不要将其限制为第一页面负载,即通常为!Page.IsPostBack

此外,您还需要构建并加载您的动态控件Page_Init而不是Page_Load或其他任何地方。这是一个常见的错误。如果您在Page_Load或其他任何地方构建,则它们不会被添加到ViewState并导致问题

相关问题