Отменить / загрузить содержимое ViewComponent в модальном OnClick - PullRequest
1 голос
/ 03 августа 2020

Например, у меня есть окно редактирования заказа, и я хочу добавить статьи или изменить клиента с помощью модального окна. На данный момент я визуализирую списки с помощью ViewComponent, который позволяет получить полный список всех клиентов и статей внутри Modal (отлично работает). Но теперь я понял, что, когда у меня есть сотни клиентов и статей, я всегда буду загружать все внутри окна редактирования заказа.

У меня есть способ загружать и выгружать контент только тогда, когда я открываю модальное окно (предпочтительно используя C#)? Или не проблема заполнить View всеми этими данными?

1 Ответ

0 голосов
/ 12 августа 2020

Хорошо, он запустился вот так с новой неприятной проблемой

Первое мое решение:

EditView (где Modal должен всплывать)

MenuButton

<a href="#" data-toggle="modal"  class="dropdown-item modal-link" data-id="@Model.Id" data-targeturl="@Url.Action("_CustomerListPartial","Customer", new {id = @Model.Id})">Customer</a>

В конце модальное окно:

<div class="modal show" id="signup" tabindex="-1" role="dialog" backdrop="true" aria-labelledby="CustomerListModal"></div>

CustomerController

public ActionResult _CustomerListPartial(string id)
{
    ViewBag.id = id;
    return PartialView(customRep.ReadCustomerList());
}

JavaScript загружает частичное

$(function () {
    
    $('body').on('click', '.modal-link', function (e) {
        e.preventDefault();

        $.get($(this).data("targeturl"), function (data) {

            $(
                '<div id="modal-container" class="modal fade">  <div class="modal-dialog modal-lg" style="width:80%">' +
                '<div class="modal-content"  >' +

                data + 
                '</div></div></div>').modal();

        });

    });
});

Таблица (Внутри PartialView) работает нормально.

Моя последняя проблема (и я пробовал абсолютно все) заключается в том, что я не могу использовать BootstrapTable. Я уже пробовал несколько позиций, где я включил JavaScripts. И я попытался использовать это:

<script type="text/javascript">
$('#table').bootstrapTable();
</script>

Я пробовал это в отдельных PartialViews, _Layout, EditView .... везде BoostrapTable отлично работает в «обычных» представлениях или ViewComponents, но не в этом Partial! Может у кого есть идея ... заранее спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...