最佳做法是什么:
我在一个页面上有部分列表。每个页面上都有一个表单来保存部分数据。
我在主页面上这样做:
@foreach (var taak in Model)
{
@Html.Action("DetailTaak", "Checklist", new { trouwTaakId = taak.Id })
}
然后控制器就是这个(数据被填充的地方):
public ActionResult DetailTaak(int trouwTaakId)
{
DTO.Trouw.TrouwTaak viewModel;
viewModel = _themaService.GetTrouwTaakByTrouwTaakId(trouwTaakId);
return View(viewModel);
}
页面构建并完成列表。现在,当我想使用此代码保存部分时:
@using (Html.BeginForm("DetailTaak", "Checklist", FormMethod.Post, new { @class = "form-horizontal col-md-12", role = "form", id = @Model.Id }))
{
@Html.AntiForgeryToken()
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
@Html.HiddenFor(model => model.Id)
...
}
它可以工作,但我该怎么办,所以主页不必重新加载?这是邮政编码:
[HttpPost]
public ActionResult DetailTaak(DTO.Trouw.TrouwTaak model)
{
if (ModelState.IsValid)
{
ViewBag.SaveSuccess = "Je instellingen zijn opgeslagen";
}
return View("DetailTaak", model);
}
使用这个帖子代码,我转到DetailTaak页面,而不是停留在主页面上,只是更新部分。 我做错了什么,但我不知道该走哪条路。
亲切的问候