【问题标题】:How to invoke ajax call in jQuery DataTable using ASP.NET MVC如何使用 ASP.NET MVC 在 jQuery DataTable 中调用 ajax 调用
【发布时间】:2017-02-22 00:44:42
【问题描述】:

我现在使用 jQuery DataTables 1.10.13 插件有一段时间了。我偶然发现了这个与我的 html 表的 ajax 数据源有关的问题。

在 Files.cshtml 中初始化 jQuery DataTable

<script language="javascript" type="text/javascript">
$(document).ready(function () {
    var oTable = $("#tblFile").DataTable({
        "iDisplayLength": 10,
        "bServerSide": true,
        "sAjaxSource": "@Url.Content("PlayListFilesAjaxHandler")" + "?playListId=" + getParameter(),
        "bProcessing": true,
        "bStateSave": true,
        "aoColumns": [
            {
                "sName": "FileName",
                "bSearchable": true,
                "bSortable": true,
                "sWidth": '25%'
            },
            {
                "sName": "FilePath",
                "bSearchable": true,
                "bSortable": true,
                "sWidth": '50%'
            },
            {
                "sName": "Order",
                "bSearchable": true,
                "bSortable": true,
                "sWidth": '10%'
            },
            {
                "sName": "Action",
                "bSearchable": false,
                "bSortable": false,
                "sWidth": '15%',
                "render": function (data, type, full, meta) {
                    return '<a class="btn btn-primary deleteButton" href=\"FileDelete/' + full[3] + '\">Delete</a>';
                }
            }
        ]
    });
});

我想知道这是否是使用参数调用 ajax 请求的正确方法? 因为,调用 Files 操作结果后,不会触发 PlayListFilesAjaxHandler 方法。

"sAjaxSource": "@Url.Content("PlayListFilesAjaxHandler")" + "?playListId=" + getParameter(),

这是主控制器类里面PlayListFilesAjaxHandler的Files动作结果方法和参数

        [Authorize]
        public ActionResult Files()
        {
            return View();
        }    

        public ActionResult PlayListFilesAjaxHandler(string playListId, JQueryDataTableParamModel param)
        { ... }

这是html表格的结构

<table id="tblFile" class="table table-responsive">
<thead>
    <tr>
        <th>
            File Name
        </th>
        <th>
            File Path
        </th>
        <th>
            Sequence
        </th>
        <th>
            Action
        </th>
    </tr>
</thead>
<tbody></tbody></table>

非常感谢任何帮助。

【问题讨论】:

    标签: javascript jquery ajax asp.net-mvc


    【解决方案1】:

    如果您没有使用 api 控制器,请尝试返回 json 结果。

    public JsonResult PlayListFilesAjaxHandler(string playListId,JQueryDataTableParamModel 参数) {

    返回 Json(IEnumerable);

    }

    【讨论】:

    • 嘿@Ronachai.K,我试过了,但还是不行。
    猜你喜欢
    • 1970-01-01
    • 2014-08-16
    • 1970-01-01
    • 2013-03-06
    • 1970-01-01
    • 2017-04-10
    • 2019-03-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多