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

如何在ASP.NET Core Modal弹窗中实现搜索筛选功能

问题根因

现有代码仅实现了模态框初始加载和保存提交逻辑,缺少搜索触发的表单提交逻辑,输入搜索内容后没有主动发起请求拉取筛选后的数据,因此搜索功能无法生效。

修复步骤

1. 给搜索组件绑定触发标识

在View的搜索输入框上新增id用于事件绑定,也可根据需求额外添加搜索按钮:

<!-- 仅新增id属性,其他保持不变 -->
<input type="text" id="searchInput" value="@ViewData["CurrentFilter"]" class="form-control" name="SearchString" placeholder="搜索…">

<!-- 可选:如果需要点击搜索按钮触发,新增以下代码 -->
<div class="col-auto">
    <button type="button" id="searchBtn" class="btn btn-primary">搜索</button>
</div>

2. 新增搜索提交的JS逻辑

在现有JS代码中补充搜索触发逻辑,提交搜索参数后替换模态框内容,保持弹窗不关闭:

$(function () {
    var PlaceHolderElement = $('#PlaceHolderHere');
    // 原有模态框初始化逻辑保持不变
    $('button[data-toogle="ajax-modal"]').click(function (event) {
        var url = $(this).data('url');
        $.get(url).done(function (data) {
            PlaceHolderElement.html(data);
            PlaceHolderElement.find('.modal').modal('show');
        })
    })

    // 原有保存提交逻辑保持不变
    PlaceHolderElement.on('click', '[data-save="modal"]', function (event) {
        var form = $(this).parents('.modal').find('form');
        var actionUrl = form.attr('action');
        var sendData = form.serialize();
        $.post(actionUrl, sendData).done(function (data) {
            PlaceHolderElement.find('.modal').modal('hide');
            location.reload();
        })
    })

    // ********** 新增搜索逻辑开始 **********
    // 回车触发搜索
    PlaceHolderElement.on('keydown', '#searchInput', function(e) {
        if (e.keyCode === 13) {
            e.preventDefault();
            submitSearch();
        }
    });
    // 点击按钮触发搜索(如果加了搜索按钮就保留这段)
    PlaceHolderElement.on('click', '#searchBtn', function(e) {
        e.preventDefault();
        submitSearch();
    });

    // 公共搜索提交方法
    function submitSearch() {
        var form = $('#modal-team').find('form');
        $.get(form.attr('action'), form.serialize()).done(function (res) {
            PlaceHolderElement.html(res);
            PlaceHolderElement.find('.modal').modal('show');
        })
    }
    // ********** 新增搜索逻辑结束 **********
})

3. 后端逻辑校验

确认Controller中BrowseTrans方法的入参包含SearchString、TxtCategory两个字段,且RefreshData方法的筛选逻辑可正常根据入参返回匹配的数据集即可。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 01:12:00