2012-03-11 7 views
0

У меня есть главная страница и пользовательский элемент управлениявызова UserControl с главной страницы

Я написал событие в UserControl и я хочу, чтобы назвать это событие в моей главной странице.

следующие мои коды

Masterpage ----------- (Я ДУМАЮ ЭТО ЧАСТЬ ПРАВИЛЬНО, ЭТО ДЕЛАТЬ ЧТО ЭТО ПРЕДПОЛАГАЕТ ДЕЛАТЬ;. ВЫЗОВ УПРАВЛЕНИЯ USER FUNCTION)

Dim App_Cl_tpPerson As New App_Cl_tpPerson 

App_Cl_tpPerson.PersonAdd_Click(sender, e) 

UserControl страница ---------- (I FEEL ПРОБЛЕМА ЗДЕСЬ)

Public Sub PersonAdd_Click(ByVal sender As Object, ByVal e As EventArgs) 
    Try 

     If Req_No = 0 Then 
      Req_No = Convert.ToInt32(Request.QueryString("reqID")) 
     End If 

    Catch ex As Exception 

    End Try 
End Sub 

сообщение об ошибке «объективистские T ССЫЛКА НЕ УСТАНАВЛИВАЕТСЯ К ИНЖЕНЕРАМ ОБЪЕКТА " .

+0

какая конкретная линия бросает исключение? пройдите через его с отладчиком – devdigital

ответ

0

Если вы создали элемент управления на своей главной странице, вам также необходимо разместить обработчик событий. Причина, по которой вы получаете сообщение об ошибке, заключается в том, что элемент управления главной страницы ищет обработчик события в классе главной страницы и не определен.

Поскольку все, что вы делаете, это получение значения QueryString, к которому доступна главная страница, вы можете выполнить то, что хотите, просто переместив метод с вашей производной страницы на главную страницу.

Затем, поскольку вам нужно, чтобы значение Req_No было доступно для вашей шаблонной страницы, вы должны добавить общедоступное свойство или метод на свою главную страницу, чтобы ваша страница с шаблонами могла получить доступ к значению.

Наконец, чтобы использовать свойство/метод вызов в вашей шаблонной странице, вы могли бы сделать следующее:

Public Sub DoSomething() 
    Dim Req_No As Integer = CType(Me.Master, MyMasterClassName).Req_NoProperty 
End Sub 

(Обрати внимание, что я не использую VB все, что часто, так что я не уверен, если вызов CType будет работать, но общая идея заключается в том, что вам нужно передать ссылку на класс страницы на главную страницу главной страницы, поскольку это свойство, в котором находится указанное свойство или метод).

+0

Спасибо за информацию. Я не располагаю никаким контролем на моей главной странице. Все элементы управления находятся на моей странице управления пользователями. Используя вышеупомянутый код, я просто ссылаюсь на свой пользовательский элемент управления и вызывая нужную функцию. Пожалуйста, помогите мне Спасибо Ник –

+0

Я не уверен, что понимаю, почему вы пытаетесь ссылаться на нее с главной страницы. Является ли App_Cl_tpPerson именем класса для вашей пользовательской контрольной страницы? Возможно, я не понимаю, что вы подразумеваете под страницей User Control. Вы имеете в виду страницу aspx, которая использует шаблон Master? –

+0

Пользовательский элемент управления - это .ascx-файл, а имя UC - App_Cl_tpPerson. Я хочу, чтобы вызвать событие/функцию, написанную на странице App_Cl_tpPerson.ascx, с моей главной страницы. На главной странице я объявил пользовательский элемент управления и мог видеть событие моего UC. Проблема заключается в том, когда вызывается событие UC, он говорит: «ОБРАТНАЯ СВЯЗЬ НЕ НАСТРОЕНА НА ИНСТАНЦИЮ ОБЪЕКТА» –

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