2012-03-01 104 views
0

我有一個ajax ActionLink。它工作得很好:將Ajax.ActionLink轉換爲按鈕

@Ajax.ActionLink("Supprimer", "RemovePersonToKeepInformed", "General", new { keepInformedPersonId = item.KeepInformedPersonId }, new AjaxOptions { Confirm = @UserResource.KeepInformedPersonRemoveConfirmation, HttpMethod = "Delete", OnSuccess = "JsonDelete_OnSuccess" }) 

現在我想顯示它像一個按鈕。這是我做的:

<span class="button"> 
    @Ajax.ActionLink("Supprimer", "RemovePersonToKeepInformed", "General", new { keepInformedPersonId = item.KeepInformedPersonId }, new AjaxOptions { Confirm = @UserResource.KeepInformedPersonRemoveConfirmation, HttpMethod = "Delete", OnSuccess = "JsonDelete_OnSuccess" }) 
</span> 

$('.button').button(); 

它只有在用戶點擊文本'Supprimer'時纔有效。如果用戶點擊按鈕中的任何位置,它將不起作用。

enter image description here

我怎樣才能解決這個問題,以允許用戶在任何地方按鈕點擊觸發Ajax?

謝謝。

回答

2

通過添加, new { @class = "button" }button類應用於<a>標籤本身。

0

如果您可以將鏈接樣式顯示爲按鈕而不是用SPAN包裝它,那將是最容易的。如果這是不可能的,那麼你需要在SPAN上添加一個點擊處理程序來調用點擊鏈接。根據鏈接的點擊處理程序是否停止傳播(您不希望將生成的點擊傳播到SPAN上的點擊處理程序),這可能也可能不容易做到。如果這對於AjaxHelper來說太困難了,用jQuery手動重新創建幫助器的動作應該不會太困難,因爲您可以更好地控制發生的事情。

但是,最好的解決方案是將樣式更改爲鏈接本身。