2015-06-15 23 views
1

表格的AJAX調用:調回雖然當MVC - 爲什麼ajax.beginform後的代碼執行

@{Html.RenderAction("Index", "NewsLetter", new { area = "" });} 

但是,它拋出的第二塊碼異常事件:

@using(Ajax.BeginForm("RefineSearchResults", "Search", new AjaxOptions { HttpMethod = "Post", UpdateTargetId = "resultsSec" })) 
{ 
<input type="submit" value="submit" /> 
<div id="resultsSec"></div> 
} 

表單標籤後它不應該被執行,因爲它是一個AJAX調用,它不在Ajax表單中。

異常消息:用於處理程序 'System.Web.Mvc.HttpHandlerUtil + ServerExecuteHttpHandlerAsyncWrapper'

錯誤執行子請求。

任何人都可以告訴我這裏有什麼問題。謝謝!

+0

有什麼例外? –

+0

@StephenMuecke我用異常消息更新了我的問題。 –

+0

看起來像你有一個無限循環 - 你需要顯示你的意見和POST方法。你是什​​麼意思_「這不應該被執行」_?當頁面首次被渲染時,'Html.RenderAction()'被執行。 –

回答

0

oops !!!我的錯! 實際上,我再次返回主視圖,這就是爲什麼代碼不應該呈現呈現。

現在我已經添加了通過Ajax.BeginForm()進行部分視圖刷新的視圖代碼。

我openion:

你應該在局部視圖下應用Ajax的形式最好,因爲從 控制器當您返回視圖,則該目標視圖必須再次呈現 (這是確定當你只有展示通過內容的字符串()方法 )

因此,通過Ajax形式刷新局部視圖將愚見openion使用Ajax.BeginForm()的理想方式。