Вам нужно вызвать метод действия в вашем контроллере, чтобы обновить модель.Затем вы можете перезагрузить представление (или его части) с помощью Ajax (или с помощью Ajax.BeginForm).
Некоторые примеры вызова ajax:
$("#idToClickOn").click(function () {
var contents = @Html.Raw(Json.Encode(Recommendation.GetValue()));
$.ajax({
url: 'https://@(Request.Url.Host)/Controller/Action',
type: 'POST',
dataType: 'json',
data: contents,
contentType: 'application/json; charset=utf-8',
success: function (data) {
alert(data);
}
error: function (data) {
alert("error: " + data);
}
});
});
Некоторые примеры с Ajax.BeginForm:
@using (Ajax.BeginForm("Action", new { Controller = "ControllerName", area = "" }, new AjaxOptions() { OnSuccess = "onSuccessLogin", HttpMethod = "POST", UpdateTargetId = "idInViewToUpdate"}, new { id = "formID" }))
{
...
<div>
@Html.Partial("Path to form body")
</div>
<button class="btn btn-primary btn-block">Save</button>
}
Ваш контроллер, что-то вроде:
[HttpPost]
[ValidateAntiForgeryToken]
[HandleError]
public ActionResult Action(YourModel model)
{
if (ModelState.IsValid)
{
do Something;
return PartialView("Path to your view");
}
else
{
return PartialView("Path to your view", model);
}
}
Конечно, YourModel должен соответствовать json, который вы создаете.
В этом действии вы можете изменить модельи перезагрузите представление.