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

Radzen Dropdown无数据显示问题排查(.NET8 SSR模式)

下拉框无数据显示的排查点

1. TextProperty与实体属性不匹配

你的RadzenDropDown配置了TextProperty="Name",但在查询MasterClasses时,仅为Id和ClassroomName属性赋值。如果MasterClass类不存在Name字段,或者实际要显示的是ClassroomName,下拉框会因找不到对应文本属性,导致选项为空或不显示内容。

修正方法:将TextProperty改为ClassroomName:

<RadzenDropDown Data="@MasterClasses" 
    TextProperty="ClassroomName" 
    ValueProperty="Id" 
    @bind-Value="@selectedClass" 
    Placeholder="Please select a class"/>

2. 验证器Component属性配置错误

RadzenRequiredValidator的Component属性需要指定下拉框组件的Name属性值,而非绑定的变量名selectedClass。当前配置会导致验证失效,虽不直接影响数据显示,但属于配置错误。

修正方法:给下拉框添加Name属性,再让验证器指向该名称:

<RadzenDropDown Name="classDropdown"
    Data="@MasterClasses" 
    TextProperty="ClassroomName" 
    ValueProperty="Id" 
    @bind-Value="@selectedClass" 
    Placeholder="Please select a class"/>

<RadzenRequiredValidator Component="classDropdown" Text="Class is required" />

3. 确认MasterClasses是否正确加载

即使数据库存在数据,也可在OnInitializedAsync中添加日志或断点,验证MasterClasses是否真的获取到数据:

protected override async Task OnInitializedAsync()
{
    MasterClasses = await DbContext.MasterClasses.Select(mc => new MasterClass
        {
            Id = mc.Id,
            ClassroomName = mc.ClassroomName
        }).ToListAsync();
    // 输出加载数量确认
    Console.WriteLine($"Loaded {MasterClasses.Count()} classes");
    await base.OnInitializedAsync();
}

若输出为0,说明数据查询存在问题,需检查DbContext配置、实体映射是否正确。

4. .NET8 SSR下的组件状态问题

在.NET8服务器端渲染模式中,确保组件生命周期方法正常执行。如果OnInitializedAsync未被调用(比如组件为动态加载),可尝试改用OnParametersSetAsync加载数据,或确认组件是否正确挂载。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 12:12:10