首页 > 解决方案 > 如何修复:System.ArgumentException:值不能为空或为空。参数名称:partialViewName

问题描述

我在这个问题上停留了超过 48 小时。我制作了一个新的用户仪表板界面,我正在尝试显示“_UserList”,但程序认为它为 NULL。我不明白为什么。如果我查看 SSMS,则“_UserList”中有数据。

我知道如何通过检查是否@Html.Partial((string)ViewData["_UserList"])为 NULL 来克服这个错误。但这不是我的问题。我不明白为什么它被认为是 NULL。

索引.cshtml


<div class="dashboard-icons">
    @Html.Partial((string)ViewData["_UserList"])
</div>

_UserList.cshtml

@using LIB.BusinessObjects
@if (((Dictionary<long, User>)ViewData["List"]).Count > 0)
{
    <script type="text/javascript">
        var gLatestDashboardId = @(((Dictionary<long, LIB.BusinessObjects.User>)ViewData["List"]).Values.First(i => i.Id>0).Id);
        var gDashboardItemsCount = @(((Dictionary<long, LIB.BusinessObjects.User>)ViewData["List"]).Count);
    </script>
    <form class="table-widget">
        <div class="dashboard-ico">
            <div class="outer-ico">
                <div class="widget-caption">
                    @MedCore.Helpers.T.Str("Users", "DashBoard", "Utilizatori sistemului")
                </div>
                <div class="data-grid-container">
                    <div class="data-grid">
                        <div class="data-grid-title-row">
                            <div class="data-grid-title">N</div>
                            <div class="data-grid-title">Login</div>
                            <div class="data-grid-title">@MedCore.Helpers.T.Str("Name", "DashBoard", "Nume")</div>
                            <div class="data-grid-title">@MedCore.Helpers.T.Str("LastLogin", "DashBoard", "Ultimul login")</div>
                            <div class="data-grid-title">@MedCore.Helpers.T.Str("DateCreated", "DashBoard", "Creat la")</div>
                        </div>
                        @Html.Partial("Controls/_UsersRows")
                    </div>
                </div>
            </div>
        </div>
        <div class="clear" style="height:1px"></div>
    </form>
}

标签: c#asp.netasp.net-mvcvisual-studiorazor

解决方案


推荐阅读