在MVC4中使用Ajax.BeginForm

时间:2013-09-17 12:01:24

标签: asp.net-mvc

我有类似

的东西
@using (Ajax.BeginForm("Next", "Controll", null, new AjaxOptions() { UpdateTargetId = "updateRegion", InsertionMode = InsertionMode.Replace, HttpMethod = "GET" }))
{
 <div id="updateRegion">
 @Html.Partial("_callingFromPartial", Model.List[0])
</div>
}


       @Html.RadioButtonFor(item => Model.OptionSelected, Model.IdOption, new { id = "select" + Model.IdOption })
       <label>@Model.OptionText</label>
       <input type="submit" value="Next"/>


[HttpGet]
    public ActionResult Next(Bu.Models.ChoiceQuestion itemReturn)
    {
        CurrentItem = Itens[refe+1];
        return PartialView("_callingFromPartial", CurrentItem);
    }

但它没有像我想的那样工作,我正在尝试加载#updateRegion中的下一个内容,但它显示“无法找到资源”。 ,这有什么不对吗?

2 个答案:

答案 0 :(得分:0)

是。 首先,你需要替换div 即updateRegion 根据您的代码,它将取代所有内容

new AjaxOptions() { UpdateTargetId = "updateRegion", InsertionMode = InsertionMode.Replace

您需要在需要替换的元素周围和周围声明div。

在这种情况下建议使用部分视图。

答案 1 :(得分:0)

尝试在表单标记内放置div“updateRegion”。 喜欢: -

@using (Ajax.BeginForm("Next", "Controll", null, new AjaxOptions() { UpdateTargetId = "updateRegion", InsertionMode = InsertionMode.Replace, HttpMethod = "GET" }))
{ 
  <div id="updateRegion">
  </div>
  @Html.RadioButtonFor(item => Model.OptionSelected, Model.IdOption, new { id = "select" + Model.IdOption })
  <label>@Model.OptionText</label>
  <input type="submit" value="Next" />
}