2011-12-30 129 views
0

我有一個ajax鏈接刪除列表中的項目。ajax調用的事件OnSuccess未觸發

這裏是視圖:

@Ajax.ActionLink("Test", "Delete", new { projectID = item.ProjectID }, new AjaxOptions 
{ 
     Confirm = "Are you sure you want to delete this item?", 
     HttpMethod = "DELETE", 
     OnSuccess = "function() { alert('ok'); }" 
}) 

這裏是動作控制器:

[AcceptVerbs(HttpVerbs.Delete)] 
    public ContentResult Delete(int projectID) 
    { 
     Project proj = m_ProjectBusiness.GetProject(projectID); 

     if (proj != null) 
     { 
      m_ProjectBusiness.DeleteProject(proj); 
     } 

     return null; 
    } 

顯示確認消息。

調用動作控制器。

視圖顯示回

但不解僱的onSuccess事件!

回答

1

我想應該是在C#中的意義不是實現委託:

檢查此鏈接

+0

非常感謝。 – Bronzato 2011-12-30 10:22:30

2

可能是請求的一部分失敗的(雖然是怪)我希望它的所有或無過程,請嘗試執行OnFailure屬性?

我發現一個很好的成功意味着這裏https://stackoverflow.com/a/1183985/208565雖然你根本沒有被調用。如果調用OnFailure,將很好地查看返回的狀態代碼。

0

很可能你不會返回正確的答案,即ajax解釋和理解。嘗試使用調試器控制檯查看確切的答覆,並相應地修復它。

2

確保你已經包括下面的腳本到你的頁面:

<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.js")" type="text/javascript">   </script> 

,並且已經在你的web.config啓用非侵入式JavaScript:

<add key="UnobtrusiveJavaScriptEnabled" value="true" /> 

這是什麼使阿賈克斯*例如Ajax.BeginForm等助手,驗證工作。

關於Ajax.BeginForm doesn't call onSuccess

+0

非常感謝@BrainCoder ..它適用於我.. – 2013-08-05 08:01:07

+0

您複製@DarinDimitrov答案而不尊重來源。太粗魯了。 http://stackoverflow.com/a/7281319/1893261 – 2014-08-08 09:47:45