这是我的 / 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数据表中,但是它给出了以下异常: 。 任何帮助将得到高度赞赏,提前感谢。
答案 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);