У меня есть Placeholder в форме ASP.NET, пользовательский класс, который создает таблицу из нескольких источников, и внутри этой кнопки пользовательского класса динамически добавляется в таблицу.Проводка событий из пользовательского класса
Все в порядке, за исключением моего кода (привязка данных к FormView). Я не могу понять, как подключить мои события.
В моем пользовательском классе, я следующее:
Dim Objective_addBtn As Button = New Button
Objective_addBtn.ID = 'I dynamically set the ID here
AddHandler Objective_addBtn.Click, AddressOf AddRow
В моем пользовательском классе, я следующее:
Public Event AddNewRow As EventHandler
Private Sub AddRow(sender As Button, e As EventArgs)
Select Case True
Case sender.ID.Contains("ProblemBtn")
Case sender.ID.Contains("GoalBtn")
Case sender.ID.Contains("ObjectiveBtn")
RaiseEvent AddNewRow(Me, EventArgs.Empty)
Case sender.ID.Contains("TaskBtn")
Case Else
'Do Nothing - Should Not be here!
End Select
End Sub
Я подтвердил, что я получаю в код блок RaiseEvent, но я не могу понять, как записать это событие в моем коде.
Мой текущий код-за:
Partial Class <mypage>
Inherits System.Web.UI.Page
Private WithEvents CustomClass As New CustomClass
Protected Sub Page_Load(ByVal sender as object, e as EventArgs) Handled Me.Load
CustomClass = New CustomClass(Request.QueryString("pid"), Request.QueryString("sid"))
AddHandler CustomClass.AddNewRow, AddressOf NewRow
End Sub
End Class
Наконец, также в коде позади, у меня есть:
Protected Sub NewRow(ByVal sender As Object, e As EventArgs) Handles CustomClass.AddNewRow
MsgBox("NewRow Test")
End Sub
NewRow никогда не уволят, тест MsgBox никогда не показывает, и отладки шаг за step проверяет, что нигде NewRow никогда не вводится.
Ваши последние функции указывают: «Обрабатывает TXPlan.AddNewRow». Разве это не «Handles CustomClass.AddNewRow»? –
Простите, да. У меня есть лодка кода, пытаясь разобраться с основами, LOL. – John
Пожалуйста, проголосуйте за мой комментарий для этого :) –