ASP.NET MVC Отображение данных таблицы SQL Server - PullRequest
0 голосов
/ 01 марта 2019

Во время моего второго путешествия в изучении SQL я следовал учебному пособию, но по какой-то причине я не могу заставить свою таблицу отображать свои данные на моей странице.

Наготове (функция)Часть кода, я попытался использовать 3 различных способа вызова имен столбцов (так как они имеют пробел, моя глупая ошибка!), чтобы увидеть, какой из них работает, но у меня есть ощущение, что это аспект #CBRкод не связывается с базой данных должным образом?Я что-то упустил очевидное?

Я вставил код со страницы просмотра и контроллера ниже.

Любая помощь любезно получена!и заранее спасибо!:)

@{
Layout = null;
}

<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Safes</title>
<link rel="stylesheet" 
href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" 
/>
<link rel="stylesheet" 
href="https://cdn.datatables.net/1.10.13/css/jquery.dataTables.min.css" />
<link href="~/Content/themes/base/jquery-ui.min.css" rel="stylesheet" />
</head>
<body>
<div style="width:90%; margin:0 auto">
    <table id="CBR">
        <thead>
            <tr>
                <th>Safe ID</th>
                <th>Department ID</th>
                <th>Safe Owner ID</th>
            </tr>
        </thead>       
    </table>
</div>

<script src="~/Scripts/jquery-3.1.1.min.js"></script>
<script src="~/Scripts/jquery.validate.min.js"></script>
<script src="~/Scripts/jquery.validate.unobtrusive.min.js"></script>
<script 
src="https://cdn.datatables.net/1.10.13/js/jquery.dataTables.min.js"> 
</script>
<script src="~/Scripts/jquery-ui-1.12.1.min.js"></script>

<script>
    $(document).ready(function () {
        var otable = $('#CBR').DataTable({
            "ajax": {
                "url": '/home/GetSafe',
                "type": "get",
                "datatype": "json"
            },
            "columns": [
                { "data": "Safe ID", "autoWidth": true },
                { "data": "[Department ID]", "autoWidth": true },
                { "data": "User_ID", "autoWidth": true }
            ]
        })
    })
</script>

</body>
</html>

И выдержка из контроллера:

public ActionResult Safes()
    {
        ViewBag.Message = "Your Safe Page";

        return View();
    }

    public ActionResult GetSafe()
    {

        using (CBREntities dc = new CBREntities())
        {
            var safe = dc.Safes.OrderBy(a => a.User_ID).ToList();
            return Json(new { data = safe }, JsonRequestBehavior.AllowGet);
        }
    }

enter image description here

enter image description here

enter image description here

enter image description here

enter image description here

1 Ответ

0 голосов
/ 01 марта 2019

Во-первых, измените ваш скрипт jquery следующим образом:

<script src="code.jquery.com/jquery-3.1.1.min.js"></script> 

Кажется, у вас нет этого файла на вашем сервере.

Во-вторых, исключение c # говорит, что вы закрыливаше соединение, и вы не можете выбрать новые элементы из базы данных.Попробуйте это с подключением.Иногда это происходит, когда у вас есть виртуальная собственность (ленивая загрузка)

    var safe = dc.Safes.OrderBy(a => a.User_ID).Select(s=>
new{SafeID=s.SafeID,
DepartmentID=s.DepartmentID, 
User_ID=s.User_ID}
).ToList();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...