You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

基于.NET 10的Blazor Server组件渲染树出现NullReferenceException的问题求助

基于.NET 10的Blazor Server组件渲染树出现NullReferenceException的问题求助

各位大佬好,我现在在用.NET 10的Blazor Server做项目,最近碰到一个挠头的问题:我的某个Razor组件渲染的时候突然抛出了NullReferenceException,报错指向渲染树的代码,但我愣是搞不明白到底哪里空引用了😅

先把完整的报错信息贴出来:

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 MyApp.MyComponent.b__0_30(RenderTreeBuilder __builder2) in //MyComponent.razor:line 330
at Microsoft.AspNetCore...

我已经翻来覆去检查了Razor文件第330行附近的代码,看起来都是常规的渲染逻辑——要么是绑定组件的某个属性,要么是循环渲染一个列表。可这个b__0_30是编译后自动生成的渲染委托,光看这个名字完全摸不到头绪,不知道对应我写的哪段代码。

想请教下有没有遇到过类似问题的朋友,能不能给我一些具体的排查方向?比如:

  • 有没有什么办法能把编译后的渲染树委托,对应回Razor文件里的具体代码片段?
  • 除了直接检查变量是否为null,还有哪些Blazor Server特有的场景会导致渲染时出这种空引用?比如组件生命周期时机不对之类的?
  • 有没有实用的调试技巧,能精准定位到到底是哪个对象或者属性在渲染瞬间变成null了?

麻烦各位不吝赐教,谢谢啦!

火山引擎 最新活动