Javascript MVC:Datatable在发布后不包含任何数据
我首先要说的是,这是我发表过的第一个项目,如果我给你的信息太多或太少,我会提前向你道歉。 因此,我将这个MVC项目发布到一个业务服务器上。它可以工作,但数据表中的数据不显示。虽然,当我在VisualStudio中调试时,有数据。 此项目有两个选项卡:Javascript MVC:Datatable在发布后不包含任何数据,javascript,jquery,html,model-view-controller,datatables,Javascript,Jquery,Html,Model View Controller,Datatables,我首先要说的是,这是我发表过的第一个项目,如果我给你的信息太多或太少,我会提前向你道歉。 因此,我将这个MVC项目发布到一个业务服务器上。它可以工作,但数据表中的数据不显示。虽然,当我在VisualStudio中调试时,有数据。 此项目有两个选项卡: 第一个选项卡是显示使用[u]实体框架[/u]的相关数据表 第二个选项卡还有一个datatable(yadcf),它显示通过[u]Ado.Net[/u]访问的数据。 第一个选项卡中的数据不显示,而在第二个选项卡中显示 第一个选项卡上的datatabl
第一个选项卡是显示使用[u]实体框架[/u]的相关数据表
第二个选项卡还有一个datatable(yadcf),它显示通过[u]Ado.Net[/u]访问的数据。 第一个选项卡中的数据不显示,而在第二个选项卡中显示 第一个选项卡上的datatable引用了此链接: 而对于第二个选项卡,我导入了yadcf数据表。以下是我对它的引用方式: 此外,当我在“元素”下执行F12时,我可以看到对数据表的引用(见附图)。此外,它看起来像是datatable及其功能(搜索框、分页、列名)出现了,但其中没有任何数据 如果您想查看,这是包含DATATABLE的索引页的代码:
@{
ViewBag.Title = "Index";
}
<ul class="nav nav-tabs">
<li class="active"><a data-toggle="tab" href="#firstTab">View All</a></li>
<li><a data-toggle="tab" href="#secondTab">Add New</a></li>
<li><a data-toggle="tab" href="#thirdTab">Knowledge</a></li>
<li><a data-toggle="tab" href="#fourthTab">IT Tasks</a></li>
</ul>
<div class="tab-content">
<div id="firstTab" class="tab-pane fade in active">@Html.Action("ViewAll")</div>
<div id="secondTab" class="tab-pane fade in">@Html.Action("AddOrEdit")</div>
<div id="thirdTab" class="tab-pane fade in">@Html.Action("ViewAllKnowledge")</div>
<div id="fourthTab" class="tab-pane fade in">@Html.Action("ViewAllTasks")</div>
</div>
@*jQuery Datatable CSS*@
<link href="https://cdn.datatables.net/1.10.16/css/jquery.dataTables.min.css" rel="stylesheet" type="text/css" />
<link rel="stylesheet" href="https://code.jquery.com/ui/1.12.0/themes/smoothness/jquery-ui.css">
<link rel="stylesheet" href="https://cdn.datatables.net/responsive/2.2.3/css/responsive.dataTables.min.css">
<link rel="stylesheet" href="https://cdn.datatables.net/colreorder/1.5.2/css/colReorder.dataTables.min.css">
@section scripts
{
@Scripts.Render("~/bundles/jqueryval")
@*jQuery Datatable JS*@
<script type="text/javascript" charset="utf8" src="https://cdn.datatables.net/1.10.16/js/jquery.dataTables.js"></script>
<script src="https://code.jquery.com/ui/1.12.0/jquery-ui.js"></script>
<script src="https://cdn.datatables.net/responsive/2.2.3/js/dataTables.responsive.min.js"></script>
<script src="https://cdn.datatables.net/colreorder/1.5.2/js/dataTables.colReorder.min.js"></script>
<script>
function activatejQueryTable() {
var table = $('#ticketTable').DataTable({
rowReorder: { selector: 'tr' },
colReorder: true,
"stateSave": true,
"stateDuration": 0,
"autoWidth": false,
"columnDefs": [
{ "width": "40px", "targets": 0, "visible": true },
{ "width": "150px", "targets": 1, "visible": true }, //dtLastUpdated
{ "width": "250px", "targets": 2, "visible": true }, //vcSubject
{ "width": "150px", "targets": 3, "visible": true }, //vcFrom
{ "width": "53px", "targets": 4, "visible": true }, //vcPriority
{ "width": "90px", "targets": 5, "visible": true }, //vcAssignedTo
{ "width": "53px", "targets": 6, "visible": true }, //vcStatus
{ "width": "90px", "targets": 7, "visible": true }, //vcRequestType
{ "width": "90px", "targets": 8, "visible": true }, //vcLocation
{ "width": "90px", "targets": 9, "visible": true }, //vcCategory
{ "width": "90px", "targets": 10, "visible": true }, //dtAnticipatedCompletion
{ "width": "100px", "targets": 11, "visible": true } //edit and delete buttons
],
//Create the dropdowns
responsive: true,
"bAutoWidth": false,
initComplete: function () {
this.api().columns([4, 5, 6, 7, 8, 9]).every(function () {
var column = this;
var select = $('<select class="myDropdown"><option value=""></option></select>')
.appendTo($("#filters").find("th").eq(column.index()))
.on('change', function () {
var val = $.fn.dataTable.util.escapeRegex($(this).val());
column.search(val ? '^' + val + '$' : '', true, false).draw();
})
.on('click', function (e) {
e.stopPropagation();
});
column.data().unique().sort().each(function (d, j) {
$(select).append('<option value="' + d + '">' + d + '</option>')
});
});
}
//End of create dropdowns
});
}
//});
$(function () {
activatejQueryTable();
});
</script>
}
@{
ViewBag.Title=“Index”;
}
@Html.Action(“ViewAll”)
@Html.Action(“AddOrEdit”)
@动作(“ViewAllKnowledge”)
@动作(“ViewAllTasks”)
@*jQuery数据表CSS*@
@节脚本
{
@Scripts.Render(“~/bundles/jqueryval”)
@*jQuery数据表JS*@
函数activatejQueryTable(){
var table=$('#ticketTable')。数据表({
行重新排序:{选择器:'tr'},
colReorder:是的,
“国家拯救”:没错,
“状态持续时间”:0,
“自动宽度”:false,
“columnDefs”:[
{“宽度”:“40px”,“目标”:0,“可见”:true},
{“宽度”:“150px”,“目标”:1,“可见”:true},//dtLastUpdated
{“宽度”:“250px”,“目标”:2,“可见”:true},//vcSubject
{“宽度”:“150px”,“目标”:3,“可见”:true},//vcFrom
{“宽度”:“53px”,“目标”:4,“可见”:true},//vcPriority
{“宽度”:“90px”,“目标”:5,“可见”:true},//vcsassignedto
{“宽度”:“53px”,“目标”:6,“可见”:true},//vcStatus
{“宽度”:“90px”,“目标”:7,“可见”:true},//vcRequestType
{“宽度”:“90px”,“目标”:8,“可见”:true},//vcLocation
{“宽度”:“90px”,“目标”:9,“可见”:true},//vcCategory
{“宽度”:“90px”,“目标”:10,“可见”:true},//dtexpectedcompletion
{“宽度”:“100px”,“目标”:11,“可见”:真}//编辑和删除按钮
],
//创建下拉列表
回答:是的,
“bAutoWidth”:假,
initComplete:函数(){
this.api().columns([4,5,6,7,8,9]).every(function(){
var列=此;
变量选择=$(“”)
.appendTo($(“#过滤器”).find(“th”).eq(column.index())
.on('change',function(){
var val=$.fn.dataTable.util.escapeRegex($(this.val());
column.search(val?“^”+val+“$”:“”,true,false).draw();
})
.on('click',函数(e){
e、 停止传播();
});
column.data().unique().sort().each(函数(d,j){
$(选择).append(“”+d+“”)
});
});
}
//创建下拉列表的结束
});
}
//});
$(函数(){
activatejQueryTable();
});
}
仅供参考,当我发布时,我使用了以下内容:
在连接下:
发布方法:Web部署
服务器:(业务服务器名称)
网站名称:HelpDeskSupport
用户名:myUsername
密码:myPassoword
在“设置”下:
在作为数据源的“DBModel”下,我添加了带有用户名和密码的SQLServer名称。
我选中了“在运行时使用此连接字符串…”
你能帮我找出我做错了什么吗?谢谢。我找到了解决办法。我设置了一些不允许显示记录的权限代码。这是有道理的,因为datatable似乎出现了,所以我认为这是实体框架问题。您是否检查了“不工作”版本的控制台?网络选项卡中的HTTP响应是什么?网络选项卡中没有任何内容……控制台选项卡中也没有任何内容,没有错误