我对 ASP.NET MVC Ajax 表单有疑问。我在一个表中生成了几个 Ajax 表单,如下所示:
<%
foreach (var item in Model)
{
var statefulItem = item as StatefulEffectiveItem; %>
<tr>
<td>
<% using (Ajax.BeginForm("ShowAddActivity", "EffectiveItems", new { id = item.Id }, new AjaxOptions() { UpdateTargetId = "details", OnSuccess = "dialogIt" }))
{ %>
<input type="submit" name="activity" value="Add Activity" />
<% } %>
</td>
</tr>
<% } %>
到目前为止,一切都很好。当我发布其中一个表单时,它会在 div 中呈现部分视图,并且这个新的部分视图包含一个新的 Ajax.BeginForm(它未嵌套在原始表单中)。这第二个 Ajax.BeginForm 与我在表中生成的完全相似,但是当我发布它时,我没有得到“Ajax 帖子”,而是一个普通的帖子,它将我发送到一个新页面。我不明白是什么导致了这两个 Ajax 表单之间的差异,为什么这个“动态生成的”Ajax 表单表现得像一个普通的 html 表单?
顺便说一句,我知道我可以使用 Javascript 以不同的方式做到这一点,但我想了解这是否可以仅使用 MVC 帮助程序和 Ajax 库来完成,如果答案是“是”,那么我做错了。
非常感谢,
黄蜂