Невозможно получить доступ к элементам управления из Usercontrol, вызываемого динамически на дочерней странице
Я использую ссылку ниже для динамического вызова Usercontrols на основе моих условий на странице aspx. Ссылка, которую я использую для динамической загрузки пользовательских элементов управления
Теперь вопрос в том,
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 ответ
Решил эту проблему, используя ссылку Link of solution, в которой используется делегат. Итак, что я сделал, я создал делегат для функции, как указано в ссылке на решение выше, и, поскольку я хотел перенаправить на следующую страницу, при возвращении элемента управления к событию делегата на родительской странице, эта задача была выполнена.
Итак, в основном я сделал наоборот, назвал событие пользовательского элемента управления на странице содержимого, так как имя событий во всех динамических элементах управления одинаково, поэтому это решило проблему.