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

如何使用jQuery和.NET在HTML表格中加载筛选后的数据

解决方案

问题核心:页面首次加载是服务器端渲染表格内容,AJAX调用OnGet后虽获取到数据,但未主动更新页面DOM结构,导致表格无变化;同时代码存在服务器端未返回JSON数据、前端重复<tbody>标签两处明显问题。

1. 修正服务器端PageModel代码

统一类名与页面@Model匹配,将带筛选参数的OnGet改为返回JsonResult,确保AJAX能拿到结构化数据:

public class IndexModel : PageModel
{
    public JArray Transactions { get; set; }

    // 首次无筛选值时加载默认数据
    public void OnGet()
    {
        Transactions = GetTableValue(0); // 传入业务默认筛选值,按需调整
    }

    // 带筛选参数的接口,返回JSON格式数据
    public JsonResult OnGet(int filterid)
    {
        var filteredTransactions = GetTableValue(filterid);
        return new JsonResult(filteredTransactions);
    }
}

2. 修正前端HTML与JS代码

移除重复<tbody>标签,在AJAX回调中手动更新表格DOM,同时修正表头的HTML规范问题:

@page
@model IndexModel
@{
    Layout = "_Layout";
}

<script>
function SubmitFilter(){
    var transactionNumb = $("#transactionNumber").val();
    // 使用相对路径,避免硬编码域名
    $.get("/Transactions?filterid=" + transactionNumb, function(response) {
        var tbody = $("#tblTransactions tbody");
        // 清空原有表格内容
        tbody.empty();
        // 循环生成新的表格行
        $.each(response, function(index, transaction) {
            var tr = $("<tr>");
            tr.append($("<td>").text(transaction.type));
            tr.append($("<td>").text(transaction.status));
            tbody.append(tr);
        });
    });
}
</script>

<!-- 筛选输入框与触发按钮 -->
<input type="text" id="transactionNumber" placeholder="输入筛选ID">
<button onclick="SubmitFilter()">筛选</button>

<table id="tblTransactions" class="table table-hover">
    <thead>
        <tr> <!-- 表头需用<tr>包裹<td>,修正原HTML规范问题 -->
            <th scope="col">Type</th>
            <th scope="col">Status</th>
        </tr>
    </thead>
    <tbody>
        @foreach (dynamic transaction in Model.Transactions)
        {
            <tr>
                <td>@transaction.type</td>
                <td>@transaction.status</td>
            </tr>
        }
    </tbody>
</table>

关键说明

  • 服务器端必须返回JSON数据,AJAX才能解析并生成新的表格内容
  • 前端需在AJAX回调中手动操作DOM,清空旧内容后插入新行
  • 避免硬编码域名,使用相对路径可适配不同部署环境

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 04:36:16