JQuery数据表在ASP.NET MVC 5上不起作用
我使用nuget Package Manager控制台和命令JQuery数据表在ASP.NET MVC 5上不起作用,jquery,asp.net,asp.net-mvc,asp.net-mvc-5,jquery-datatables,Jquery,Asp.net,Asp.net Mvc,Asp.net Mvc 5,Jquery Datatables,我使用nuget Package Manager控制台和命令install Package jquerydatatablesmvc将jquery datatables安装到我的MVC 5项目中,并安装了版本1.9.4 但是,在包含了所需的脚本和css文件之后,数据表仍然无法工作 以下是我在页面中添加的内容: <link href="~/Content/DataTables-1.9.4/media/css/jquery.dataTables.css" rel="stylesheet" /&g
install Package jquerydatatablesmvc
将jquery datatables安装到我的MVC 5项目中,并安装了版本1.9.4
但是,在包含了所需的脚本和css文件之后,数据表仍然无法工作
以下是我在页面中添加的内容:
<link href="~/Content/DataTables-1.9.4/media/css/jquery.dataTables.css" rel="stylesheet" />
<script src="~/Scripts/DataTables-1.9.4/media/js/jquery.js"></script>
<script src="~/Scripts/DataTables-1.9.4/media/js/jquery.dataTables.js"></script>
以及jquery代码:
<script type="text/javascript">
$(document).ready(function () {
$('#myTable').DataTable();
});
</script>
$(文档).ready(函数(){
$('#myTable').DataTable();
});
以下是实际表格:
<table class="table" id="myTable">
<thead>
<tr>
<th>Name</th>
<th>Registered By</th>
<th>Is Active</th>
<th>Actions</th>
</tr>
</thead>
<tbody>
@foreach (var m in Model)
{
<tr>
<td>@Html.DisplayFor(modelItem => m.Name)</td>
<td>@Html.DisplayFor(modelItem => m.RegisteredBy)</td>
<td>@Html.DisplayFor(modelItem => m.IsActive)</td>
<td>@Html.ActionLink("Edit", "Edit", new { id = m.Id }) |
@Html.ActionLink("Details", "Details", new { id = m.Id }) |
@Html.ActionLink("Delete", "Delete", new { id = m.Id })</td>
</tr>
}
</tbody>
</table>
名称
注册人
是活跃的
行动
@foreach(模型中的var m)
{
@DisplayFor(modeleItem=>m.Name)
@DisplayFor(modelItem=>m.RegisteredBy)
@DisplayFor(modelItem=>m.IsActive)
@ActionLink(“编辑”,“编辑”,新的{id=m.id})|
@ActionLink(“细节”,“细节”,新的{id=m.id})|
@ActionLink(“删除”,“删除”,新的{id=m.id})
}
我在哪里搞砸了?这里我已经解释了如何在asp.net MVC应用程序中一步一步地实现jQuery DataTable
只需按照几个步骤在应用程序中完成这项工作
步骤1:为从数据库获取数据编写MVC操作
public ActionResult loaddata()
{
using (MyDatabaseEntities dc = new MyDatabaseEntities())
{
var data = dc.Customers.OrderBy(a => a.ContactName).ToList();
return Json(new { data = data }, JsonRequestBehavior.AllowGet);
}
}
步骤2:编写html和jQuery以显示数据库数据
完整的HTML代码
@{
ViewBag.Title = "Index";
}
<h2>Part 1 : Implement jQuery Datatable in ASP.NET MVC</h2>
<div style="width:90%; margin:0 auto;">
<table id="myTable">
<thead>
<tr>
<th>Employee Name</th>
<th>Company</th>
<th>Phone</th>
<th>Country</th>
<th>City</th>
<th>Postal Code</th>
</tr>
</thead>
</table>
</div>
<style>
tr.even {
background-color: #F5F5F5 !important;
}
</style>
@* Load datatable css *@
<link href="//cdn.datatables.net/1.10.9/css/jquery.dataTables.min.css" rel="stylesheet" />
@* Load datatable js *@
@section Scripts{
<script src="//cdn.datatables.net/1.10.9/js/jquery.dataTables.min.js"></script>
<script>
$(document).ready(function () {
$('#myTable').DataTable({
"ajax": {
"url": "/home/loaddata",
"type": "GET",
"datatype": "json"
},
"columns" : [
{ "data": "ContactName", "autoWidth": true },
{ "data": "CompanyName", "autoWidth": true },
{ "data": "Phone", "autoWidth": true },
{ "data": "Country", "autoWidth": true },
{ "data": "City", "autoWidth": true },
{ "data": "PostalCode", "autoWidth": true }
]
});
});
</script>
}
@{
ViewBag.Title=“Index”;
}
第1部分:在ASP.NETMVC中实现jQuery数据表
员工姓名
单位
电话
国家
城市
邮政编码
平{
背景色:#F5!重要;
}
@*加载数据表css*@
@*加载数据表js*@
@节脚本{
$(文档).ready(函数(){
$('#myTable')。数据表({
“ajax”:{
“url”:“/主页/加载数据”,
“类型”:“获取”,
“数据类型”:“json”
},
“栏目”:[
{“数据”:“ContactName”,“autoWidth”:true},
{“data”:“CompanyName”,“autoWidth”:true},
{“data”:“Phone”,“autoWidth”:true},
{“数据”:“国家”,“自动宽度”:true},
{“数据”:“城市”,“自动宽度”:true},
{“data”:“PostalCode”,“autoWidth”:true}
]
});
});
}
浏览器中的控制台是否有错误?哦,我没有检查。现在,它说“UncaughtTypeError:$(…).DataTable不是一个函数”,您还有其他对jQuery的引用吗?(我在您的代码片段中看到了这一行,但是页面中是否有其他对它的引用?)如果您有多个对jQuery的引用,这可能是导致它的原因在主布局页面上有一行:@Scripts.Render(“~/bundles/jQuery”),最后一个错误意味着jQuery现在没有初始化。能否验证~/bundles/jQuery bundle是否引用jQuery,以及它是否显示在数据表脚本标记上方?如果是这样,那么您可能需要发布页面的html源代码(由浏览器呈现)-仅发布脚本标记和关联的数据表。虽然您的答案可能是正确的,但最好解释原始问题的问题所在。如果您可以指出错误所在的行或解释遗漏的概念或步骤,这将对用户更有帮助,然后发布一个分步教程。