【问题标题】:Array from Controller to jQuery DataTables从控制器到 jQuery 数据表的数组
【发布时间】:2014-05-30 03:56:48
【问题描述】:

我正在尝试将值从我的数据库加载到 DataTable 对象和数组。 然后我试图将该数组传递给jQuery DataTables 插件,但是,我无法让jQuery 使用$.getJSON 来访问我的方法。

我只是在另一个插件上尝试了这个,它可以工作,但不是数组。

    public ActionResult GetAssociateFromDb()
    { // HomeController.cs
        DataTable dt = new DataTable();
        string jsonData;
        string connString = ConfigurationManager.ConnectionStrings["DEFCOMP"].ConnectionString;
        using (SqlConnection connection = new SqlConnection())
        {
            connection.ConnectionString = connString;
            using (var cmd = new SqlCommand("SELECT * FROM FUND", connection))
            {
                connection.Open();
                var myAdapter = new SqlDataAdapter(cmd);
                myAdapter.Fill(dt);
                var arr = new ArrayList();
                foreach ( DataRow dr in dt.Rows)
                {
                    arr.Add(dr);
                }
                return Json(arr, JsonRequestBehavior.AllowGet);
               //Debugging, arr has Count = 20.
            }
        }
    }

这是我认为的代码。

    $(document).ready(function() {

        $.getJSON('@Url.Action(actionName: "GetAssociateFromDb", controllerName: "Home")', function (data) {

            alert(JSON.stringify(data)); // I never get an alert
        //    $('#example').dataTable();


        });
});

【问题讨论】:

  • 请分享(通过 Chrome Inspector 或类似工具),从 ActionResult 传递的 JSON。根据我对数据表的经验,几乎总是数据不是正确的 JSON 格式。这很挑剔。
  • 你能解释一下我在哪里找到了在 Chrome 检查器中传递的 JSON 吗?我想这对我得到Failed to load resource 404 and 500 errors. 没有帮助

标签: jquery arrays asp.net-mvc-4 datatable getjson


【解决方案1】:

首先,获取 ActionResult 返回的 JSON。为此,您可以转到 Network 选项卡,找到 AJAX 请求并查看数据包。它应该通过预览准确地向您显示返回的内容。

其次,我几乎可以保证它的格式不正确。以下是为 Datatables 提供所需的一种方式的示例:

https://datatables.net/examples/data_sources/ajax.html

^^ 看看这里,特别是页面中间的 Ajax 选项卡

{
  "data": [
    [
      "Tiger Nixon",
      "System Architect",
      "Edinburgh",
      "5421",
      "2011/04/25",
      "$320,800"
    ],
    [
      "Garrett Winters",
      "Accountant",
      "Tokyo",
      "8422",
      "2011/07/25",
      "$170,750"
    ]
]}

基本,但你明白了。我过去所做的是在项目中创建一个模型或接口来表示 datatables.net 正在寻找的结构,以便我可以一致且轻松地将数据呈现到数据表。

祝你的应用好运!

【讨论】:

  • 太棒了。感谢您的回答!尽管似乎存在一些 CSS 问题,但我在您发布答案之前就想通了。我仍然会接受并记住你所说的!如果没有深入讨论,您是否曾经遇到过 DataTables CSS 的问题?
  • 太棒了。是的,各种各样的东西,但我得看看你有什么。如果您想创建一个新问题,我会尽力留意它。
  • 没问题!我也会提供一些背景知识,以便您了解我是如何做到的。
猜你喜欢
  • 2019-12-02
  • 1970-01-01
  • 1970-01-01
  • 2017-10-21
  • 2019-04-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多