Загрузка таблицы бритвы очень медленная - PullRequest
0 голосов
/ 11 июля 2019

Я заполняю бритвенную таблицу приличным количеством данных, но загрузка занимает> 10 минут.

Я использую много логики на мой взгляд, и я знаю, что это не лучший способчтобы сделать это, но это то, что я придумал, так как я новичок в бритве.

имена содержат около 800 элементов, контакты 700, URL 3600, серверы 1200

Я не думаю, что это многоно способ создания таблицы - это то, что, как я предполагаю, удерживает приложение, поскольку я перебираю эти списки несколько раз, в то время как внутри других.

Я применил DataTables к этой таблице, я подумал, что это поможет ограничитьстроки, отображаемые на экране, должны означать, что списки не просматриваются?Если datatables по-прежнему загружает всю таблицу и отображает только 25. Есть ли способ загрузить только 100 результатов вначале, а затем медленно загрузить остальные со временем?

Какой лучший способ предотвратить зависание моего приложения при созданииэтот стол

<table class="table table-responsive" id="result" data-page-length='25'>
        <thead>
            <tr>
                <th>Application</th>
                <th>Ministry</th>
                <th>Contacts</th>
                <th>Server</th>
                <th>URL</th>
            </tr>
        </thead>

        <tbody>
            @foreach(var l in Model.names)
            {
                <tr>
                    <td style="width: 27%">
                        @Html.DisplayFor(modelItem => l.appName)
                    </td>

                    <td style="width:20%">
                        @Html.DisplayFor(modelItem => l.ministry)
                    </td>

                    <td style="width:20%">
                        @foreach (var k in Model.contacts)
                        {
                            if(k.appName == l.appName){@Html.Raw(k.contactName + " - " + k.contactRole + "<br>")}                    
                        }
                    </td>

                    <td colspan="2">
                        <table>
                            @foreach(var s in Model.servers)
                            {
                            <tr >
                                @if(s.appName == l.appName)
                                {
                                    <td>
                                        <p class="big">
                                            @Html.Raw(s.server)
                                        </p>
                                    </td> 
                                }


                                <td>
                                    @foreach(var u in Model.filteredURls)
                                    {
                                        @if(u.appName == l.appName && u.server == s.server){@Html.Raw(u.url + "<br>")} 
                                    }
                                </td>

                            </tr>  
                            }

                        </table>
                    </td>  
                </tr>
            }
        </tbody>
    </table>
</div>

<script type="text/javascript" >
    jQuery(document).ready(function () {
        jQuery('#result').DataTable();
    });
</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...