Asp.net mvc 4 MVC-为什么要执行ajax.begin之后的代码

Asp.net mvc 4 MVC-为什么要执行ajax.begin之后的代码,asp.net-mvc-4,ajax.beginform,Asp.net Mvc 4,Ajax.beginform,AJAX调用的表单: @using(Ajax.BeginForm("RefineSearchResults", "Search", new AjaxOptions { HttpMethod = "Post", UpdateTargetId = "resultsSec" })) { <input type="submit" value="submit" /> <div id="resultsSec"></div> } 但是,当回发时,它会在第二段代码上抛出异常

AJAX调用的表单:

@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'

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

哎呀!!!我错了! 实际上,我再次返回了主视图,这就是为什么不应该呈现的代码被呈现的原因

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

我的开场白:

最好在局部视图上应用Ajax表单,因为 控制器返回视图时,必须渲染目标视图 同样(当您必须通过Content()只显示一个字符串时也可以) 方法。)

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

oops!!!我错了! 实际上,我再次返回了主视图,这就是为什么不应该呈现的代码被呈现的原因

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

我的开场白:

最好在局部视图上应用Ajax表单,因为 控制器返回视图时,必须渲染目标视图 同样(当您必须通过Content()只显示一个字符串时也可以) 方法。)


因此,通过Ajax表单刷新部分视图将是在我拙劣的openion中使用Ajax.beginnform()的理想方式。

@StephenMuecke我用异常消息更新了我的问题。看起来像是一个无休止的循环-你需要显示你的视图和POST方法。你说“不应该执行”是什么意思
Html.RenderAction()
在第一次呈现页面时执行。是的,当然在第一次呈现页面时执行,但是,为什么在AJAX调用中呈现页面。让我向您展示查看代码以使其更清晰。@StephenMuecke我已用异常消息更新了我的问题。看起来像是一个无休止的循环-您需要显示您的视图和POST方法。你说“不应该执行”是什么意思
Html.RenderAction()
在第一次呈现页面时执行。是的,当然在第一次呈现页面时执行,但是,为什么在AJAX调用中呈现页面。让我向您展示查看代码以使其更清晰。@StephenMuecke我已用异常消息更新了我的问题。看起来像是一个无休止的循环-您需要显示您的视图和POST方法。你说“不应该执行”是什么意思
Html.RenderAction()
在第一次呈现页面时执行。是的,当然在第一次呈现页面时执行,但是,为什么在AJAX调用中呈现页面。让我向您展示查看代码以使其更清晰。
@{Html.RenderAction("Index", "NewsLetter", new { area = "" });}