我是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天。我们将不胜感激。
谢谢
我通过一次又一次的测试找到了一些东西。我在部分视图(所有视图)中都有Kendo网格或树形列表。删除它们时,一切都很好并且可以正常工作。如果要解决它,我正试图找到确切的问题。我将在此处发布解决方案。
谢谢
最终找到,
[kendo模型在列中的绑定错误。因此,只需更正它,所有视图组件现在都可以正常工作。