2017-06-28 232 views
2

我在ASP.NET MVC工作5 我展示形式在裝載機提交使用Ajax.BeginForm:Html.BeginForm沒有onBegin,的onComplete方法,如Ajax.BeginForm

@using (Ajax.BeginForm("Filter", "Log", new AjaxOptions() { OnSuccess = "reloadGrid", OnFailure = "notifyError", HttpMethod = "POST", LoadingElementId = "myModalLoader", OnBegin= "showLoader();", OnComplete = "hideLoader();" }, new { @id = "filter-form" })) 

我試圖做同樣的事情在另一個網頁,我有一個Html.BeginForm:

@using (Html.BeginForm("Index", "GestioneImmagini", FormMethod.Get, new AjaxOptions() { HttpMethod = "GET", LoadingElementId = "myModalLoader", OnBegin = "showLoader();", OnComplete = "hideLoader();" })) 

但onBegin和的onComplete不火。

你知道原因嗎?我可以在Html.BeginForm中使用AjaxOptions嗎?

感謝

西蒙娜

+0

號它不是阿賈克斯! –

+0

對於Html.BeginForm,沒有這樣的OnComplete方法 –

回答

2

不,你不能用Html.BeginForm做到這一點。

你之所以不能是Html.BeginForm呈現爲<form>標籤,當你按下按鈕submit這會導致同步請求到服務器。

如果您確實想要根據請求完成某些操作,您可以在控制器內部的服務器端執行此操作。像重定向或只是替換頁面視圖。

無論如何,如果你想要做的事與頁面的一部分,你應該使用Ajax.BeginForm,而不是Html.BeginForm

相關問題