Asp.net-Mvc-3

從 ASP MVC 3 Preview 更新到 Beta 後送出了兩次表單

  • May 2, 2019

將我的 ASP MVC 從 3 Preview 升級到 3 Beta 後,我在 Ajax 表單中看到了奇怪的行為。

@using(Ajax.BeginForm("New", new AjaxOptions() {OnSuccess = "onAjaxSuccess", OnFailure = "onAjaxFailure", OnBegin = "onAjaxBegin", HttpMethod = "Post"})) {}

<form action="/Order/New" data-ajax="true" data-ajax-begin="onAjaxBegin" data-ajax-failure="onAjaxFailure" data-ajax-method="Post" data-ajax-success="onAjaxSuccess" method="post"></form>

alert在我的函式中放置了一個onAjaxBegin,每次點擊我的送出按鈕時,它都會被觸發兩次。

其他人看到這種行為嗎?升級後我沒有更改程式碼中的任何內容,並且在升級之前它執行良好。

我遇到了同樣的問題,我找到了解決方案:我包含了兩次“ jquery.unobtrusive-ajax.min.js-Script:-)

查看生成的 HTML。在 ASP.NET MVC 3 Beta中有對基於 jquery 的不顯眼的 ajax 的新支持,並且所有 Ajax 助手現在都使用 jquery。也許 MS Ajax 留下了一些東西,導致了雙重呼叫。確保從頁面中刪除所有包含的 MSAjax 腳本。Ajax.BeginForm另外,當您可以簡單地Html.BeginForm與不顯眼的 jquery 一起使用時,為什麼還要使用?

引用自:https://stackoverflow.com/questions/4062568