我不是100%確定在MVC這樣做的方式,但我已經實現了類似的東西。
在我的業務層類
Class BL
public event doneUpdate(o as object, e as eventArgs)
sub method doDBUpdate()
'do your stuff
RaiseEvent doneUpdate(o,e)
end sub
End Class
Class Form
dim withEvents bl as BL
sub g handles bl.doneUpdate(o as object , e as eventargs)
'rebind
end sub
End Class
現在,在後面的代碼的形式,你可以處理與重新綁定您的數據網格中的子此事件。
順便提一下,我將事件冒泡到UI所作用的控制器上,而不是直接作用於業務層。
希望這有助於
編輯:
米奇嗨
的從事件處理函數傳遞的參數可以是任何東西,儘管微軟編程約定說,你應該通過對象和事件參數背部。
如果你宣佈你的活動這樣
Public Event myEvent(dim updated as Boolean)
,然後讓手柄子具有相同的簽名
Public Sub handler(byval updated as Boolean) handles myClass.myEvent
,那麼你應該能夠更新的值(這只是一個例子)
您可能想要檢查的唯一的事情是,您正在事件實例化您的業務類別
Dim WithEvents myBL as new BusinessLayer
如果這仍然無法工作(如果在的WinForms,而asp.net),你可能需要這樣說
AddHandler myBl.myEvent AddressOf handler
希望這有助於
喜院長,非常感謝,這是我正在尋找的那種代碼。有一點我不清楚,即「o As Object,e As EventArgs」部分。我刪除了這個,因爲我不確定在這種情況下o和e應該代表什麼。然而,Handles Sub從來不會被調用,我認爲這是爲了去除「o作爲對象,e作爲eventargs」。如果這是正確的,我作爲對象和EventArgs傳遞了什麼?道歉,如果這是一個愚蠢的問題,但非常感謝您的幫助到目前爲止。 – Mitch 2009-04-23 12:35:37