对象引用未设置为对象(数组)的实例

本文关键字:数组 实例 对象 设置 对象引用 | 更新日期: 2023-09-27 18:26:33

我遇到了一个问题。我使用ASP.NET Web Pages 3.2 Framework开发了一个简单的CMS,它是用Razor C#开发的。当我使用该系统进行测试时,CMS工作得很好,但我现在已经将其提取到一个将使用该CMS的网站上,所以我生成了表和所有表,它应该都能工作。除了下面的代码外,一切似乎都正常。它在CMS中运行得很好,但在其他网站上使用时,会出现一个错误,说"对象引用未设置为对象的实例",并突出显示我的数组。

我怀疑这与我生成脚本的方式等有关,但我不认为我怎么会做错。我一直在努力解决这个问题,但我似乎不知道出了什么问题,这让我很生气。

<table class="accounts-table">
    <tr>
        <th>Username</th>
        <th>Firstname</th>
        <th>Lastname</th>
        <th>Role</th>
        <th>Actions</th>
    </tr>
    @foreach (var row in db.Users)
    {
        string[] roleName = Roles.GetRolesForUser(row.UserName);
        <tr>
            <td>@row.UserName</td>
            <td>@row.FirstName</td>
            <td>@row.LastName</td>
            <td>@foreach (var role in roleName) { @role } </td>
            <td>
                <a href="~/Admin/Pages/Accounts/View?UserID=@row.UserId" title="View"><span class="fa fa-user"></span></a>
                <a href="~/Admin/Pages/Accounts/Edit?UserID=@row.UserId" title="Edit"><span class="fa fa-edit"></span></a>
                <a href="~/Admin/Pages/Accounts/Delete?UserID=@row.UserId" title="Delete"><span class="fa fa-remove"></span></a>
                <a href="~/Admin/Pages/Accounts/Lock?UserID=@row.UserId" title="Lock"><span class="fa fa-lock"></span></a>
            </td>
        </tr>
    }
</table>

对象引用未设置为对象(数组)的实例

当您尝试使用null的类成员时,将引发未设置为对象异常实例的对象引用。

由于您的数组已高亮显示,因此建议您确保在使用数组的任何元素之前都已初始化。