Вы не ясно о своем вопросе, не показывая свой текущий код.Насколько я понял, этот пост должен дать вам представление:
Работа с JQuery Ajax API на ASP.NET MVC 3.0 - мощь JSON, JQuery и ASP.NET MVC Partial Views
Все, что вам нужно сделать, это просто:
Выполнить Ajax-вызов для вашего действия контроллера:
$.ajax({
type: "POST",
url: actionURL,
data: d,
success: function (r) {
$("#to-do-db-list-container").html(r.data);
},
complete: function () {
$("#ajax-progress-dialog").dialog("close");
$(".isDone").bind("click", function (event) {
toggleIsDone(event, $(this));
});
},
error: function (req, status, error) {
//do what you need to do here if an error occurs
$("#ajax-progress-dialog").dialog("close");
}
});
Верните ваше частичное представление:
[HttpPost]
public ActionResult toogleIsDone(int itemId) {
//Getting the item according to itemId param
var model = _entities.ToDoTBs.FirstOrDefault(x => x.ToDoItemID == itemId);
//toggling the IsDone property
model.IsDone = !model.IsDone;
//Making the change on the db and saving
ObjectStateEntry osmEntry = _entities.ObjectStateManager.GetObjectStateEntry(model);
osmEntry.ChangeState(EntityState.Modified);
_entities.SaveChanges();
var updatedModel = _entities.ToDoTBs;
//returning the new template as json result
return Json(new { data = this.RenderPartialViewToString("_ToDoDBListPartial", updatedModel) });
}
RenderPartialViewToString
- это расширение контроллера, которое отображает ваше частичное представление внутри вашего контроллера и возвращает строковое значение для вывода.Вы найдете весь код внутри поста в блоге.