[英]Object Reference Not set to an Object in Blazor WebAssembly
我正在建立一个电子商务网站,以显示我妻子在 Dotnet 6 中使用 Blazor 的钩针项目。现在,该网站运行良好,但每次加载导航栏时都会弹出一条消息,提示出现未处理的错误。 错误如下:
crit: Microsoft.AspNetCore.Components.WebAssembly.Rendering.WebAssemblyRenderer[100]
Unhandled exception rendering component: Object reference not set to an instance of an object.
System.NullReferenceException: Object reference not set to an instance of an object.
at MermaidCraftsFE.Client.Shared.NavMenu.BuildRenderTree(RenderTreeBuilder __builder) in C:\Users\scull\source\repos\MermaidCraftsFE\MermaidCraftsFE\Client\Shared\NavMenu.razor:line 19
at Microsoft.AspNetCore.Components.ComponentBase.<.ctor>b__6_0(RenderTreeBuilder builder)
at Microsoft.AspNetCore.Components.Rendering.ComponentState.RenderIntoBatch(RenderBatchBuilder batchBuilder, RenderFragment renderFragment, Exception& renderFragmentException)
错误指示的代码在这里:
@foreach (var category in categoryService.Categories)
{
<div class="nav-item px-3">
<NavLink class="nav-link" href="@category.Url">
@category.Name
</NavLink>
</div>
}
必要的类别服务代码在这里:
public async Task GetCategoriesAsync()
{
var response = await _httpClient.GetFromJsonAsync<ServiceResponse<List<Category>>>("api/Category");
if (response != null && response.Data != null)
{
Categories = response.Data;
}
}
我错过了什么导致此错误? 从今天开始的一周内进行演示,我希望当 function 的行为符合预期时,不会弹出此错误框。 我尝试将“categoryService.Categories 中的var category”中的“var”更改为Category,但仍然弹出错误。
如果响应在这里返回为 null 会发生什么? var response = await _httpClient.GetFromJsonAsync<ServiceResponse<List<Category>>>("api/Category");
根据您的逻辑设置方式,在这种情况下,您可能需要添加一个空的类别列表。 就像是:
if (response != null && response.Data != null)
{
Categories = response.Data;
}
else{
Categories = new List<Categories>();
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.