ASP.Net 用户控件在运行时添加时不起作用

本文关键字:添加 不起作用 运行时 Net 用户 控件 ASP | 更新日期: 2023-09-27 18:35:23

  1. 我只是在 asp.net 中创建了一个用户控件,其中包含文本框,日历和按钮。
    1. 在该按钮的单击事件上,我使日历可见,而在日历的onselectionchanged事件中,我将所选日期传递到文本框。
    2. 现在我有一个.aspx页面,我将在其中添加此用户控件 运行时.
    3. 添加了用户控件,但使日历可见的按钮的单击事件未被触发。

问题是什么?当我在设计时添加该用户控件时,它工作正常。但是当我在运行时添加它时不起作用。

<%@ 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);
}

现在,当我单击用户控件的按钮时,单击事件不会触发。

ASP.Net 用户控件在运行时添加时不起作用

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