在ASP.net核心2.2 cshtml中加载多个视图组件

问题描述 投票:2回答:2

我是Asp.Net核心的新手,但是我使用过Asp.net MVC5。我在视图中加载多个视图组件时遇到问题。(使用Asp.net core 2.2)我有在其中加载viewcomponent的页面。这是我的页面:

    <div id="frmSoftPhone_pageUniqueId">
            <div id="sipClient" class="custom-tab">
                <ul>       

                     <li class="active"
                            data-init="init"
                            data-parentObj="cc.pageDesktop"><i class="icon-desktop"></i></li>
                </ul>
               <div id="desktop-container" class="active" style="height: 650px">
                        @await  Component.InvokeAsync("TestViewComponent")
                    </div>
            </div>
        </div>

然后在我的TestViewComponent中,我也加载了一些viewcomponents。我的TestViewComponent是这个

    @{
        Layout = null;
    }

    <div class="container">
        <div class="container-item">
            <div class="custom-tab">
                <ul>
                    <li class="active session-content-li"><i class="fa fa-file-text"></i></li>
                    <li><i class="fa fa-users"></i></li>
                    <li style="position: relative">
                        <span id="v-call-count" style="display: none">0</span><span class="icon-queue"></span>
                    </li>
                    <li style="position: relative">
                        <span id="p-call-count" style="display: none">0</span><span class="icon-p-queue"></span>
                    </li>
                </ul>
                <div class="active session-content">
                    @await Component.InvokeAsync("GroupEmail", new GroupEmailModel())
                    @await Component.InvokeAsync("CallHistory")
                    @await Component.InvokeAsync("SmsContainer")
                </div>
                <div>
                    <div class="tabcontent">
                        @await Component.InvokeAsync("OnlineAgentstatus")
                    </div>
                </div>
                <div>
                    <div class="tabcontent">
                        @await Component.InvokeAsync("VCallsContainer")
                    </div>
                </div>
                <div>
                    <div class="tabcontent">
                        @await Component.InvokeAsync("PCallsContainer")
                    </div>
                </div>

            </div>
        </div>
    </div>

我的viewcomponents都没有'async'代码。通过调试,我看到我的所有viewcomponents都是通过跟踪加载的,但是最终当一切完成时,只有第一个组件'GroupEmail'。此外,当更改加载顺序时, viewcomponents,再次将它们中的第一个或有时两个加载到HTML中。我也尝试使用Html.PartialAsync和Html.Partial。但是发生了相同的结果。我已经在这个问题上停留了2天。我们将不胜感激。

谢谢

asp.net-core asp.net-core-mvc asp.net-core-2.0
2个回答
0
投票

我通过一次又一次的测试找到了一些东西。我在部分视图(所有视图)中都有Kendo网格或树形列表。删除它们时,一切都很好并且可以正常工作。如果要解决它,我正试图找到确切的问题。我将在此处发布解决方案。

谢谢


0
投票

最终找到,

[kendo模型在列中的绑定错误。因此,只需更正它,所有视图组件现在都可以正常工作。

© www.soinside.com 2019 - 2024. All rights reserved.