2012-10-16 74 views
3

我工作的一個ASP.NET MVC 3的項目,我想顯示刪除之前的確認消息,我已經寫了下面一行:的Javascript確認對話框,中/右鼠標單擊

@Html.ActionLink("Delete", "Delete", new { id = item.ID }, new { onclick = "return confirm('Are you sure?')" }) 

這是正常的,但工作正常,但是當我點擊鼠標中鍵或右鍵單擊然後選擇「在新標籤打開鏈接」,記錄將被刪除,而不顯示確認對話框,這是奇怪的!

我試過上面的代碼與onMouseDown,對話框顯示,但沒有動作時發生,當我點擊確定按鈕! (該記錄不會被刪除)

我的問題是我如何顯示一條確認消息,然後刪除一條記錄,該鏈接只響應鼠標左鍵單擊?

+1

這應該是一個POST操作。永遠不要讓一個簡單的鏈接來改變數據。 – ZippyV

+0

完全同意ZippyV你永遠不應該使用GET來改變後端數據的操作。 –

回答

0

您應該在'onclick'事件中檢查鼠標鍵,然後如果鍵仍然存在,則返回false。看到有用的例子:Issue with onClick() and middle button on mouse

+0

仍然無法工作,它會檢測到中間和右側按鈕的點擊,但它會繼續打開新標籤並刪除記錄 – SVI