2011-05-05 96 views
0

我很難讓回調爲表單工作。我有這樣的事情:Ajax.BeginForm上的回調不起作用

<script> 
function VendorCreated() { 
    alert('ok'); 
} 
</script> 

@using (Ajax.BeginForm("Create", "Vendor", new AjaxOptions { 
    UpdateTargetId = ViewBag.TargetId, 
    HttpMethod = "Post", 
    OnSuccess="VendorCreated", 
    })) { 

提交後,我的功能永遠不會被創建。如果我使用:

OnSuccess="alert('ok')" 

它工作正常。我也試過:

OnSuccess="function() { VendorCreated(); }" 

但我得到一個運行時錯誤。其他人有這個問題,但我沒有找到解決辦法,請參閱MVC 3 Razor - Ajax.BeginForm OnSuccessAjax.BeginForm OnBegin confirmation Via jquery modal

如果我看一下IE調試器(F12),我在代碼中看不到腳本標籤...什麼是正確的方法?

回答

0

好的,我縮小了問題的範圍......上面的代碼是由一個視圖生成的,該視圖在jQuery的另一個視圖中被加載到一個DIV中。我最近發現,我可以使用@ Html.Action()在另一個視圖中包含一個視圖,並且似乎可以解決上述問題。我現在得到回調!

對於任何有傾向的人來說,解釋爲什麼一個人工作而不是另一個會很好。

0

您是否在您的頁面中包含jquery.unobtrusive.ajax.js

+0

是的,否則我根本不會得到回調(我知道,因爲我之前沒有包括它,所以我沒有回調......現在我得到一個回調,但只有如上所述) – ekkis 2011-05-06 01:04:37