我裏面PartialView
像這樣的Ajax.ActionLink
:問題與Ajax.ActionLink AjaxOptions回調(ASP.NET MVC 3)
@Ajax.ActionLink(Model.IsVisible ? "Disable" : "Enable", "ToggleVisibility", "Review", new { area = "Admin", id = Model.Id }, new AjaxOptions { HttpMethod = "POST", OnComplete = "onComplete_AdminReviewOption" })
而且處理JavaScript函數(聲明在線主視圖現在):
function onComplete_AdminReviewOption(ajaxContext) {
var jsonObject = ajaxContext.get_object();
}
會拋出一個JavaScript錯誤:
Object# has not definition for get_object()
.
第I這些JavaScript方法應該是MicrosoftAjax.js
/MicrosoftMvcAjax.js
腳本的一部分,這兩個腳本都包含在我的頁面中。
任何人都可以確認哪些庫這些助手方法存在?
我在我的Layout.cshtml
文件中加載了所需的腳本,然後我做了一個AJAX調用來呈現上面的PartialView。
因此,當我處理該功能,圖書館已經加載 - 這就是爲什麼im混淆。
任何想法?
啊哈!所以我不知道MS AJAX腳本現在被認爲是「遺留的」。當然 - 我更喜歡jQuery - 但我想我會給MS Ajax幫手一個去,因爲它似乎有一個豐富的客戶端API。明天早上將試用jQuery方式。鏈接文字也很棒。 – RPM1984 2011-04-27 08:11:38
與上面的技巧一樣,HTTP GET(通過HREF)將在click函數之前發生,所以點擊函數將永遠不會發生,因爲URL將會404(因爲它是'[HttpPost]'操作方法)。我想我需要將href設置爲'#'。思考? – RPM1984 2011-04-28 00:02:09
@ RPM1984在鏈接的點擊事件處理程序中包含了返回false語句,並且還在事件處理程序中放置了一個警報,以查看它是否已正確註冊。對於HTTP Post而言,Darin正在使用jQuery的$ .post方法,通過post發送ajax請求,所以不會出現 – 2011-04-28 04:29:44