You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Blazor使用RadzenDataGrid显示对象名而非属性值问题求助

问题根因

你遇到的问题核心是RadzenDataGrid列绑定的属性名和Plant类的实际属性名字大小写不匹配:

  • 正常运行的HTML表格中,你绑定的属性是@p.plantId(末尾字母d小写)
  • 出问题的Radzen代码中,RadzenDataGridColumn的Property属性写的是plantID(末尾字母D大写)
    C#是大小写敏感的编程语言,Radzen内部通过反射读取对应属性值时,找不到plantID属性,就会默认调用Plant对象的ToString()方法,因此页面直接显示类名而非属性值。

解决方案

将RadzenDataGrid列的Property属性值改为和Plant类完全一致的属性名即可,修正后的核心代码如下:

<RadzenDataGrid Count="_count" Data="@_plants" TItem="Plant">
    <Columns>
        <RadzenDataGridColumn TItem="Plant" Property="plantId" Title="Plant ID"></RadzenDataGridColumn>
        <RadzenDataGridColumn TItem="Plant" Property="plantName" Title="Plant Name"></RadzenDataGridColumn>
        <!-- 其余列同理,确保Property值和Plant类属性完全一致,大小写也要匹配 -->
    </Columns>
</RadzenDataGrid>

其他排查方向

如果修改后仍然有问题,可以检查两点:

  • 确认Plant类的plantId、plantName等成员是public属性(有get访问器),如果是非public属性或者是public字段,Radzen反射无法读取到值
  • 如果你开启了Blazor的裁剪/发布优化,需要确认Plant类的属性没有被裁剪,可给Plant类添加[DynamicallyAccessedMembers]特性避免属性被裁剪

内容的提问来源于stack exchange,提问作者SkinnyPete63

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 19:36:04