在运行时添加ASP.Net用户控件时无效

时间:2012-05-27 08:15:56

标签: c# asp.net updatepanel

  1. 我在asp.net中创建了一个用户控件,它有一个文本框,日历和一个按钮。
    1. 在该按钮的点击事件中,我正在显示日历,在日历的onselectionchanged事件中,我将所选日期传递到文本框。
    2. 现在我有一个.aspx页面,我在RUN TIME添加了这个用户控件。
    3. 添加了用户控件,但我点击日历的按钮的点击事件不会被触发。
  2. 问题是什么?当我在设计时添加用户控件时,它工作正常。 但是当我在运行时添加它而不工作时。

    <%@ Control Language =“C#”AutoEventWireup =“true”CodeFile =“Dates.ascx.cs”Inherits =“Date”%>       

    //created a public object named 'users' of control class
    public partial class View_now : System.Web.UI.Page
    {
    public Control users;  
    }
    
    //loaded the user control in page load event
    protected void Page_Load(object sender, EventArgs e)
    {  
        users = LoadControl("~\\Dates.ascx");
    }
    
    
    //applied the user control to a panel
    protected void Button2_Click(object sender, EventArgs e)
    {
        Panel2.Controls.Add(users);
    }
    

    现在当我点击usercontrol的按钮时,点击事件不会触发。

1 个答案:

答案 0 :(得分:1)

在Page_Init()期间添加控件而不是Page_Load()。这应该可以解决问题。