我有一个包含多个输入的页面 - 我正在使用Ajax.BeginForm为每组输入构建一个表单。
<% using (Ajax.BeginForm(new AjaxOptions() { InsertionMode = InsertionMode.InsertAfter, HttpMethod = "POST" }))
{ %>
<input class="smallInput" type="text" name="duration"/>
<input type="submit" value="Add" />
<% } %>
控制器看起来像这样
[AcceptVerbs("POST")]
public ActionResult AddExercise(FormCollection form)
{
// some save logic...
return Content(string.Empty);
}
这样做 - 数据提交给我的控制器并保存。
但是,每次发生这种情况时,我的页面都会被空白页面替换。如果我从我的Action中显式返回一个View,则会显示该视图。但我希望它能够提交表格,让我现有的页面按原样保留。
答案 0 :(得分:5)
我没有在我的页面中包含MVC Ajax javascript文件。添加这些包括解决问题。
答案 1 :(得分:1)
您需要指定要更新的DOM元素的ID:
<% using (Ajax.BeginForm(new AjaxOptions() {
UpdateTargetId = "someID",
InsertionMode = InsertionMode.InsertAfter,
HttpMethod = "POST" }))
{ %>
<input class="smallInput" type="text" name="duration"/>
<input type="submit" value="Add" />
<% } %>