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

时间:2015-06-15 13:42:01

标签: asp.net-mvc-4 ajax.beginform

AJAX通话表格:

@{Html.RenderAction("Index", "NewsLetter", new { area = "" });}
表单标签后

DetailsImage.Attributes.Add("alt","what you want");

但是,它在发回时会抛出第二段代码的异常,虽然它不应该被执行,因为它是一个AJAX调用而且它在Ajax表单之外。

异常消息:

  

执行处理程序的子请求时出错   'System.Web.Mvc.HttpHandlerUtil + ServerExecuteHttpHandlerAsyncWrapper'。

任何人都可以告诉我这里出了什么问题。谢谢!

1 个答案:

答案 0 :(得分:0)

糟糕!!!我的错! 实际上,我再次返回主视图,这就是为什么渲染不应该呈现的代码的原因。

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

我的公开:

  

您应该在局部视图上应用Ajax表单,因为来自   返回视图时,控制器必须呈现目标视图   再次(当你必须通过Content()只显示一个字符串时它没问题   方法。)

因此,通过Ajax表单刷新部分视图将是一个在我卑微的开放中使用Ajax.BeginForm()的理想方式。