是什麼使用一個ASP.Net按鈕的onclick屬性之間的差異:ASP.Net的OnClick VS功能()處理buttonName.Click
<asp:Button ID="btn" runat="server" Text="New" OnClick="enterFunctionHere" />
與
直接使用事件在功能:
Sub addNew() Handles btn.Click
謝謝!
UPDATE
如果我能在VB,哪個好兩者都做?他們是平等的嗎?
是什麼使用一個ASP.Net按鈕的onclick屬性之間的差異:ASP.Net的OnClick VS功能()處理buttonName.Click
<asp:Button ID="btn" runat="server" Text="New" OnClick="enterFunctionHere" />
與
直接使用事件在功能:
Sub addNew() Handles btn.Click
謝謝!
UPDATE
如果我能在VB,哪個好兩者都做?他們是平等的嗎?
至少,在第一個選項,用於.aspx頁生成的類是負責佈線事件處理程序(並且因此,需要在事件處理程序是Protected
);而在第二個選項中,代碼隱藏類負責連接事件處理程序(因此事件處理程序可以是Private
)。
我並不熟悉在VB.NET中如何實現Handles
關鍵字,但它也可能影響連線的時間(我知道在代碼隱藏的OnInit
方法中連接事件將連線該方法在頁面循環中的不同時間,而不是通過標記進行連接,以及一些不太重要的情況)。
我個人更喜歡使用Handles
方法(或在OnInit
覆蓋中使用C#中的+=
)。這允許編譯器驗證這些方法是否存在,並且不必不必要地暴露給繼承類。也正在編制使用時重構工具,查找用法等
兩個添加事件處理程序。 VB.Net提供句柄,而不是C#。
此外,您還可以在代碼與頁面的AddHandler的方法添加事件。
第一種是使用C#代碼的網頁如何後面註冊事件的功能的例子。這一個然後需要一個匹配定義的方法。
第二個是事件連接到一個函數的vb.net方式。
這不是關於C#或VB.NET。我認爲這個問題更多的是關於把OnClick放在你的ASPX頁面與在你的代碼隱藏文件中創建事件處理器的區別。 – SolutionYogi 2009-07-06 19:42:56
有沒有明顯的差異幫助。兩者相當於使用AddHandler關鍵字。使用OnClick
屬性與可能使用C#的ASP.NET代碼更兼容,而使用Handles
關鍵字與Windows Forms VB.NET代碼更兼容。
爲了詳細說明bdukes寫的是什麼,你必須首先了解ASPX文件如何轉換成C#類,以及它如何與類背後的代碼相關聯。一旦你明白了這一點,你就會知道'實際'這兩種方法並沒有區別。 – SolutionYogi 2009-07-06 19:44:25