我有三個按鈕,分別在onClick
事件上調用btn_Clicked
。在後面的代碼中,我想獲取導致回發的按鈕的ID。我知道我可以分配每個按鈕來調用不同的方法,但我想了解一點ASP.Net。也告訴我哪種方法更有效率?在不同按鈕點擊或調用相同方法時調用不同的方法(如果每個按鈕的功能相同)。如何檢測後面代碼中點擊哪個按鈕?
7
A
回答
20
將發件人對象轉換爲按鈕,然後您可以獲取所有屬性。
Button clickedButton = (Button)sender;
還告訴我哪種方法更有效?通過不同的按鈕點擊或調用相同方法調用不同的方法 (如果每個按鈕的功能相同)。
如果功能相同,那麼最好只有一個事件,因爲您不必複製代碼。請記住DRY principle。
請看下面的例子:
protected void Button1_Click(object sender, EventArgs e)
{
Button clickedButton = sender as Button;
if (clickedButton == null) // just to be on the safe side
return;
if (clickedButton.ID == "Button1")
{
}
else if(clickedButton.ID == "Button2")
{
}
}
3
檢查您的回調方法的sender
參數是否爲同一基準按鈕你有興趣
Button button1;
Button button2;
void OnClick(object sender, RoutedEventArgs args)
{
Button button = sender as Button;
if (button == button1)
{
...
}
if (button == button2)
{
...
}
}
相關問題
- 1. 如何檢測點擊了哪個刪除按鈕?
- 2. 無法點擊任何按鈕後代碼後寫代碼
- 3. 檢測從ViewModel中點擊了哪個按鈕WPF
- 4. 按鈕點擊檢測
- 5. java檢測點擊按鈕
- 6. ASP.NET檢查點擊了哪個按鈕
- 7. 檢查哪個按鈕被點擊
- 8. 如何檢測Durandal中的後退按鈕點擊
- 9. 顯示html代碼後點擊按鈕
- 10. 如何檢測在javascript中單擊了哪個按鈕?
- 11. 添加@頁面屬性代碼後面的按鈕點擊
- 12. 如何獲得點擊哪個按鈕?
- 13. 點擊一個按鈕,檢測的jQuery
- 14. 檢測一個html按鈕點擊node.js?
- 15. 如何在我的代碼中點擊按鈕點擊?
- 16. javafx點擊代碼按鈕
- 17. 點擊了哪個按鈕?
- 18. 檢測哪個按鈕已被點擊並用ajx提交
- 19. 檢測後退按鈕點擊和忽略額外的點擊
- 20. 按鈕點擊後如何更改一些代碼後的按鈕文本
- 21. 如何選擇在按鈕後點擊瀏覽器後去哪個頁面
- 22. 檢查點擊頁面上的哪個按鈕離開提示?
- 23. 檢測ctrl +點擊pygtk中的按鈕
- 24. 如何檢查按鈕正確點擊後的頁面內容?
- 25. VC++,檢測按下按鈕前點擊
- 26. 按鈕點擊後沒有刷新頁面運行PHP代碼
- 27. 做一個按鈕點擊代碼behide
- 28. 如何在代碼中模擬網頁按鈕點擊後獲取源代碼
- 29. 無法確定哪個代碼按鈕點擊執行
- 30. 如何檢測按鈕點擊 - 提供的邏輯錯誤代碼
使用發送對象事件處理程序。 – ryadavilli
學習mvc而不是 – Jeroen