Blazor 渲染组件未处理的异常

The*_*mer 5 c# blazor blazor-webassembly

我是 Blazor 的初学者,正在制作一个简单的待办事项列表项目。添加列表时出现错误。渲染组件未处理的异常:未将对象引用设置为对象的实例。

System.NullReferenceException:未将对象引用设置为对象的实例。在 C:\Users\bryan\source\repos\Productivity_App\FrontEnd\Pages\Index.razor.cs 中的 FrontEnd.Pages.Index.AddList(KeyboardEventArgs e):第 20 行在 System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr、Binder 绑定器、Object[] 参数、CultureInfo 区域性)

我尝试搜索问题并找到了类似的帖子,但看着问题,答案根本没有帮助我。我认为这与修复它的 Blazor 生命周期有关。这是与错误相关的代码。

索引.剃刀:

<div class="toDoList">
    @if (ToDoListCollection != null)
    {
        @foreach (string toDoList in ToDoListCollection)
        {
            <input type="checkbox" id="checkbox">
            <label for="checkbox">@toDoList</label>
            <hr />
        }
    }
    else {}
</div>
Run Code Online (Sandbox Code Playgroud)

索引.razor.cs

<div class="toDoList">
    @if (ToDoListCollection != null)
    {
        @foreach (string toDoList in ToDoListCollection)
        {
            <input type="checkbox" id="checkbox">
            <label for="checkbox">@toDoList</label>
            <hr />
        }
    }
    else {}
</div>
Run Code Online (Sandbox Code Playgroud)

puk*_*uko 6

我假设你的ToDoListCollection值为空,因为它没有初始化。

为您的集合指定默认值。

public List<string> ToDoListCollection { get; set; } = new List<string>();
Run Code Online (Sandbox Code Playgroud)