Вы могли бы использовать помощников MVC Ajax, но я чувствую, что иногда они немного неуклюжи. Также кажется, что они предназначены для форм по сравнению с реализацией вашей таблицы. Если вы можете использовать что-то javascripty, такое как jQuery, вы можете дать себе гораздо больше гибкости, хотя и немного больше кода. Ниже я покажу вам, что я считаю Microsoft. Может быть, я попытаюсь изменить его, чтобы использовать jQuery, чтобы проиллюстрировать различия.
Помощники Ajax
Если вы используете MVC 3, обязательно используйте ссылки jQuery и jquery.unobtrusive-ajax для следующего примера, поскольку это, скорее всего, настроено в web.config
Вот основной вид
<div id="myTableContainer">
@{Html.RenderPartial("GetTable", new List<string>() { "1", "2", "3" });}
</div>
И мое строго типизированное (List<string>
) частичное представление. Ваш будет напечатан в вашей модели просмотра
<table>
@foreach (var item in Model) {
<tr>
<td>@item</td>
<td>@Ajax.ActionLink("Delete", "GetTable", new { id = item },
new AjaxOptions { UpdateTargetId = "myTableContainer" })</td>
</tr>
}
</table>
И, наконец, действие контроллера, которое возвращает частичное представление
public ActionResult GetTable(string id)
{
// you would obviously create your list of your ice cream objects here
// get them from a service/repository and build a view model
List<string> list = new List<string>() { "1", "2", "3" };
if (!string.IsNullOrEmpty(id))
list.Remove(id);
return View("GetTable", list);
}
Это грубая демонстрация, но она должна дать представление о том, как работают помощники Ajax для повторного рендеринга представлений.