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

Blazor中点击搜索按钮时如何获取已填写的搜索字段名称

Blazor 搜索表单已填字段展示实现

别去遍历页面控件,Blazor是数据驱动框架,直接基于你已经做了双向绑定的Data模型处理就行,逻辑简单性能还好。

具体实现步骤

  • 先在组件代码块里定义用来存展示结果的变量
@code {
    // 你原本的搜索绑定模型,保留原有逻辑不用改
    private SearchFormModel Data { get; set; } = new();
    // 存已填写的字段展示名
    private List<string> FilledFields { get; set; } = new();
}
  • 给搜索按钮绑定点击事件,在事件里判断模型里哪些字段有值,把对应名称存到列表里
@* 你的搜索按钮 *@
<button class="btn btn-primary" @onclick="RunSearch">搜索</button>

@code {
    private void RunSearch()
    {
        FilledFields.Clear();
        // 逐个判断绑定字段是否有内容,有就把要展示的名称加进列表
        if (!string.IsNullOrWhiteSpace(Data.Name))
            FilledFields.Add("Name");
        if (!string.IsNullOrWhiteSpace(Data.Address))
            FilledFields.Add("Address");
        if (!string.IsNullOrWhiteSpace(Data.PhoneNumber))
            FilledFields.Add("Phone Number");
        // 其他字段按相同逻辑加就行,如果要展示input的id值(比如txtOne),Add里传对应id字符串即可
    }
}
  • 在页面底部加展示区域,有已填字段的时候才显示
@if (FilledFields.Any())
{
    <blockquote>
        You selected: @string.Join(", ", FilledFields)
    </blockquote>
}

可选优化

如果你的搜索字段特别多,不想逐个写判断,可以给模型属性加[DisplayName("字段显示名")]特性,写个通用的反射方法自动扫描所有有值的属性、取对应的显示名,后续加新搜索字段的时候不用改搜索事件里的判断逻辑。如果字段数量不多,直接逐个写判断是最适合新手的方式,逻辑直白不容易出问题。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.02 08:31:09