Использование MVC Ajax с частичным просмотром и установка UpdateTargetId
Загадка, которую я пытаюсь решить, выглядит следующим образом:
Скажем, у нас есть представление, отображающее список кнопок. Когда кнопка нажата, она может сделать две вещи:
- перейти к следующему списку кнопок
- открыть форму редактирования
Весь список, содержащий список кнопок, на самом деле является частичным представлением, вызываемым родителем для загрузки в модальный контейнер div диалога:
так вот код для частичной _ButtonListForm:
<div class="modal-body" id="buttonsContainer">
@foreach (var item in Model.CategoryTypesList.ListItems)
{
var ajaxDialogoptions = new AjaxOptions()
{
HttpMethod = "GET",
InsertionMode = InsertionMode.Replace,
UpdateTargetId = "???",
OnComplete = "OpenDialog('???');"
};
@Ajax.ActionLink(item.ListItemName, item.MainItemActionButton.ActionName, item.MainItemActionButton.ControllerName, item.MainItemActionButton.RoutValues, ajaxDialogoptions, new { Class = "btn btn-large btn-info btn-block" })
}
</div>
Я не могу установить UpdateTargetId
в buttonsContainer
потому что тогда он загрузит весь вид с другим buttonsContainer
и после того, как нажата другая кнопка, она снова будет делать это снова и т. д.
Как сделать щелчок по ссылке действия ajax, чтобы обновить весь частичный вид, каким будет UpdateTargetId?
Я знаю, что могу создать еще один фрагмент, в котором будут перечислены только кнопки и который будет обновлять цель из родительского фрагмента, но тогда вам придется помнить об изменении родительского элемента, если что-то будет обновлено, и это не похоже на хороший дизайн (или Это?)..