MVC - 为什么在执行 ajax.beginform 之后的代码

MVC - why code after ajax.beginform being executed

AJAX 电话的表格:

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

表单标签后:

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

但是,它在回发时在第二段代码上抛出异常,尽管它不应该被执行,因为它是一个 AJAX 调用并且它在 Ajax 形式之外。

异常消息:

Error executing child request for handler 'System.Web.Mvc.HttpHandlerUtil+ServerExecuteHttpHandlerAsyncWrapper'.

谁能告诉我这里出了什么问题。谢谢!

糟糕!!!我的错! 实际上,我又返回了主视图,这就是为什么不应该被渲染的代码被渲染了。

现在我已经将要通过 Ajax.BeginForm() 引用的视图代码添加到局部视图中。

我的开场白:

You should apply Ajax form on partial view preferably because from controller when you return a view then the target view have to be rendered again (it's ok when you have to show only a string through Content() method.)

因此,通过 Ajax 形式刷新局部视图将是在我的简陋的开放中使用 Ajax.BeginForm() 的理想方式。