Использование MVC Ajax с частичным просмотром и установка UpdateTargetId

Загадка, которую я пытаюсь решить, выглядит следующим образом:

Скажем, у нас есть представление, отображающее список кнопок. Когда кнопка нажата, она может сделать две вещи:

  1. перейти к следующему списку кнопок
  2. открыть форму редактирования

Весь список, содержащий список кнопок, на самом деле является частичным представлением, вызываемым родителем для загрузки в модальный контейнер 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?

Я знаю, что могу создать еще один фрагмент, в котором будут перечислены только кнопки и который будет обновлять цель из родительского фрагмента, но тогда вам придется помнить об изменении родительского элемента, если что-то будет обновлено, и это не похоже на хороший дизайн (или Это?)..

0 ответов

Другие вопросы по тегам