![](/img/trans.png)
[英]redrawing/refilling jquery datatable data set after page change or any other event
[英]MVC: Datatable does not contain any data after publishing
我首先說這是我發布的第一個項目,如果我提供的信息過多或過少,請提前道歉。 因此,我將此 MVC 項目發布到了業務服務器。 它有效,但數據表中的數據未顯示。 雖然,當我只是在 Visual Studio 中調試時,有數據。 該項目有 2 個標簽:
第一個選項卡是顯示有問題的數據表,它使用 [u]Entity Framework[/u];
第二個選項卡還有一個數據表(一個 yadcf),它顯示通過 [u]Ado.Net[/u] 訪問的數據。 第一個選項卡中的數據不顯示,而第二個選項卡中的數據顯示。
第一個選項卡上的數據表引用了此鏈接:
對於第二個選項卡,我導入了 yadcf 數據表。 下面是我如何引用它:
另外,當我在“元素”下執行 F12 時,我可以看到對數據表的引用(見附圖)。 此外,它看起來像數據表及其功能(搜索框、分頁、列名)顯示但沒有任何數據。
如果您想查看它,這是包含數據表的索引頁面的代碼:
@{
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>
}
僅供參考,當我發布時,我使用了以下內容:
連接下:發布方法:Web 部署服務器:(業務服務器名稱)站點名稱:HelpDeskSupport 用戶名:myUsername 密碼:myPassoword
UNDER SETTINGS:在作為數據源的“DBModel”下,我添加了 SQL Server 名稱及其用戶名和密碼。 我檢查了“在運行時使用此連接字符串...”
你能幫我弄清楚我做錯了什么嗎? 謝謝你。
我找到了解決方案。 我設置了一些不允許顯示記錄的權限代碼。 這是有道理的,因為數據表似乎出現了,所以我認為這是一些實體框架問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.