在jquery数据表中发出填充数据的问题

时间:2018-05-09 07:00:35

标签: javascript jquery asp.net asp.net-mvc

这是我的 / Books / userHome 视图:

@model CSBSTest.Models.tbl_Book
@{
    ViewBag.Title = "UserHome";
    Layout = "~/Views/Shared/_Profile.cshtml";
}

<h2>Books for sale by CUST Students</h2>


<br />
<br />
<table id="books" class="table table-bordered table-hover">

    <thead>

        <tr>
            <th>Id</th>
            <th>Book Name</th>
            <th>Author</th>
            <th>Version</th>

        </tr>

    </thead>

    <tbody></tbody>
</table>

@section scripts
{
    <script>
    $(document).ready( function () {
        var dataTable = $("#books").DataTable({
            ajax: {

            url: "/Book/GetBooks",

            dataSrc: ""


        },
        columns: [
            {
                data:"Id"
            },
            {

                data: "Name"
            },

            {

                data: "Author"

            },

            {
                data: "Version"
            }

        ]


    });
});
</script>
}

我正在调用/ Books / GetBooks如下:

public ActionResult UserHome()
    {
        return View();
    }


    public ActionResult GetBooks()
    {
        var list = _context.tbl_Book.ToList();
        return Json(list, JsonRequestBehavior.AllowGet);
    }

GetBooks返回从UserHome脚本部分调用的json结果,如上所示,我想将/ Books / GetBooks返回的列表填充到jquery数据表中,但是它给出了以下异常: Click to view error/exception。 任何帮助将得到高度赞赏,提前感谢。

1 个答案:

答案 0 :(得分:0)

var list = _context.tbl_Book.ToList();

这里“list”是数据库表对象,你不应该直接返回它。 使用用户定义的模型而不是返回它

public class customModel{
//properties

}

var list = _context.tbl_Book.ToList();

List<custommodel> test = list.select(a=>new custommodel{
//assingn properties
});
 return Json(test , JsonRequestBehavior.AllowGet);