добавляет WebUserControl во время выполнения, поэтому я не могу использовать MyWebUserControl.MyFunction()
, у меня есть MasterPage, и я попытался это одно:Как позвонить на страницу ASCX Функция на странице ASPX?
_MainContentPage = CType(_Page.Form.FindControl("MyContentPlaceHolder"), ContentPlaceHolder)
CType(_MainContentPage.FindControl("MyWebUserControl"), myType)
Но _MainContentPage.FindControl("MyWebUserControl")
возвращает TableCell.
Путь я добавить WubUserControl:
tcValue = New TableCell()
tcValue.Controls.Add(_Page.LoadControl("Paht/WebUserControl"))
tcValue.ID = "MyWebUserControl"
Ну Thats причина _MainContentPage.FindControl("MyWebUserControl")
возвращающего TableCell , но как получить WebControl и вызвать Fcuntion.
Возможно, вам придется использовать отражение, чтобы исследовать класс управления пользователя, а затем вызвать метод. – AlwaysAProgrammer
спасибо, но я уже сделал это (см. Вопрос обновления) – Logar314159
Предполагая, что ваш ascx находится в заполнителе, вы можете пропустить элементы управления в заполнителе и сделать что-то вроде 'If (TypeOf (control) Is MyAscx) Затем DirectCast (control, MyAscx) .MyMethod() '? – valverij