簡體   English   中英

MVC:發布后數據表不包含任何數據

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM