2013-07-09 11 views
1

У меня есть UserControl, который функционирует как шаблон для FormView. Но в зависимости от того, находится ли он в режиме редактирования или вставки, один из элементов управления TextBox необходимо отключить. Я добавил функцию к UserControlВызов функции UserControl из Page_Load event

public bool IsInsert 
{ 
    get { return txtUser.Enabled; } 
    set { txtUser.Enabled = value; } 
} 

Но я не могу получить ссылку о UserControlPage_Load в случае родителя. Я определил элемент управления в коде aspx (а не в коде). Я пытаюсь использовать FindControl, но я получаю ошибку Object reference not set to an instance of an object. Это потому, что UserControl загружается после страницы? Есть ли другой способ отключения TextBox условно?

ответ

1

Это не хорошая практика - User Control должны решить такого рода только вещи ...

Но если это нужно сделать так:

public void Page_Load(object sender, EventArgs e) 
{ 
    InitYouUserControl(); 
} 

Update:

You придется подождать, пока load event вашего User Control уволен.

Чтобы получить доступ к некоторым частям User Control, вы должны определить в нем свойство.

+0

Мне не понравилось бы использовать его, если это не очень хорошая практика ... Есть ли лучшее решение, чем использование «User Control» или кодирование каждого шаблона FormView? – Jenius

+0

@Pyitoechito - обновил мой ответ. Если это полезно - воздержитесь от него, пожалуйста) Если это решение для вашего вопроса - также примите его – MikroDel

+0

@Pyitoechito - знаете ли вы, как определить свойство? – MikroDel

Смежные вопросы