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

jQuery DataTables在ASP.NET应用中无法正常运行问题求助

ASP.NET jQuery DataTables 不运行问题修复方案
  • 修正表格HTML结构
    jQuery DataTables要求标准的表格结构,必须显式包含<thead>(表头区域)和<tbody>(数据区域)标签,你当前的表格未做分区,且将验证摘要行放在表格内部,会导致DataTables解析列数异常。修正后的表格代码如下:
<table id="myusers" class="table table-bordered table-hover">
    <thead>
        <tr>
            <th>@Html.DisplayNameFor(model => model.Id)</th>
            <th>@Html.DisplayNameFor(model => model.Name)</th>
            <th>@Html.DisplayNameFor(model => model.email)</th>
            <th>@Html.DisplayNameFor(model => model.phone)</th>
        </tr>
    </thead>
    <tbody>
        @foreach (var item in Model)
        {
            <tr>
                <td>@Html.DisplayFor(modelItem => item.Id)</td>
                <td>@Html.DisplayFor(modelItem => item.Name)</td>
                <td>@Html.DisplayFor(modelItem => item.email)</td>
                <td>@Html.DisplayFor(modelItem => item.phone)</td>
            </tr>
        }
    </tbody>
</table>
<!-- 验证摘要移出表格,避免破坏表格结构 -->
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
  • 检查资源加载是否正常
    你配置的脚本加载顺序是正确的(lib bundle先于自定义scripts节加载,jQuery优先级高于DataTables),需要确认两点:
    1. Scripts和Content目录下的DataTables相关文件路径与bundle.config中配置的路径完全一致,无拼写错误、文件缺失问题
    2. 可暂时关闭bundle压缩测试是否是压缩导致的脚本冲突,在Global.asax.cs的Application_Start方法中添加代码:BundleTable.EnableOptimizations = false;
  • 排查控制台报错
    打开浏览器开发者工具(按F12)切换到Console标签,刷新页面后查看是否有JS报错,常见报错对应问题:
    • $ is not defined:jQuery未正常加载
    • DataTable is not a function:DataTables脚本未正常加载
    • 列数不匹配错误:表格结构异常,按第一条修改即可
  • 确认视图语法正确
    检查@section scripts的大括号是否正确闭合,你粘贴的代码中闭合大括号位于script标签外的独立位置,要确认实际代码中没有Razor语法错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 22:21:01