// Где происходит вставка паршиал вью
@foreach (var post in Model.CompanyPosts)
{
@Html.Action("DisplayInputForm", new { cp = post, num = i })
{
i++;
}
}
// само паршил вью
@using (@Ajax.BeginForm("Edit", "CompanyPosts", FormMethod.Post, new AjaxOptions() {UpdateTargetId = "row_"+Model.FormNumber, InsertionMode = InsertionMode.Replace}, new { role = "form", id = "form" + @Model.FormNumber }))
{
@Html.Hidden("FormNumber", Model.FormNumber)
@Html.Hidden("CompanyPost.Id", Model.CompanyPost.Id)
@Html.TextBox("CompanyPost.PostName", Model.CompanyPost.Post.Name, new { @class = "form-control input_in_cell", onchange = "return form" + @Model.FormNumber + ".submit()" })
|
@Html.TextBox("CompanyPost.Rate", Model.CompanyPost.Rate, new { @class = "form-control input_in_cell", onchange = "return form" + @Model.FormNumber + ".submit()" })
|
}
// методы гет и пост паршиал вью
public PartialViewResult DisplayInputForm(CompanyPosts cp, int num)
{
CompanyPostsInputViewModel model = new CompanyPostsInputViewModel()
{
CompanyPost = cp,
FormNumber = num
};
return PartialView(model);
}
[HttpPost]
public PartialViewResult Edit(CompanyPostsInputViewModel model)
{
if (ModelState.IsValid)
{
service.SaveCompanyPosts(model.CompanyPost);
}
return PartialView("DisplayInputForm", model);
}