На моем втором пути к изучению 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);
}
}
Я могу отлично открывать страницы, просто данные из таблицы не отображаются. Я добавил несколько скриншотов, чтобы дать еще несколько имен, информацию и т. д., если они помогут? Последнее является результатом, когда я открываю страницу :)
Не могли бы вы добавить ss для локальный: 57444/дом/GetSafe?
И посмотри лог своей консоли. Нажмите F12, чтобы увидеть на странице. Подробнее: Developers.google.com/web/tools/chrome-devtools/консоль
Узнайте, на каком этапе ваша логика дает сбой. Проверьте, действительно ли ваш серверный код извлекает данные, установив точку останова. Если это работает, проверьте, правильно ли ваш код JavaScript собирает данные. и т.д..
Кажется, я припоминаю, что таблицы данных могут быть довольно строгими с именами. Если ваши имена <th> не совпадают в точности с вашими именами данных, вы должны объявить их как элементы <td>, которые соответствуют данным.
@ibrahimozgon А! Каждый из них дал хороший размер ошибки! (скриншоты добавлены) Хотя он говорит, что Jquery не был определен? я их неправильно написал?
на ваш скрипт jquery не ссылаются должным образом. первая ошибка показывает, что он не может быть найден. остальные ошибки вызваны тем, что его невозможно найти
Во-первых, измените свой скрипт jquery на этот: <script src = "code.jquery.com/jquery-3.1.1.min.js"></скрипт> У вас нет этого файла на вашем сервере.





Первый, Измените свой скрипт jquery на этот:
<script src = "code.jquery.com/jquery-3.1.1.min.js"></script>
Кажется, у вас нет этого файла на вашем сервере.
Второй, исключение С# говорит, что вы закрыли соединение и не можете выбирать новые элементы из БД. Попробуйте это с подключением. Иногда это происходит, когда у вас есть виртуальная собственность (ленивая загрузка).
var safe = dc.Safes.OrderBy(a => a.User_ID).Select(s=>
new{SafeID=s.SafeID,
DepartmentID=s.DepartmentID,
User_ID=s.User_ID}
).ToList();
Я заменил <script src = "~/Scripts/jquery-3.1.1.min.js"></script> этим. И сделал ниже тоже, но дает ту же ошибку? Фактически, этот сценарий JQuery помечает желтое предупреждение «не удается найти на сервере» в VS? Добавлю скриншот библиотеки скриптов.
Стоит отметить, однако... При попытке локальный хост:бла/Home/GetSafe теперь ДЕЙСТВИТЕЛЬНО выдаются данные базы данных! ?
А на обычной странице все еще нет?
Любое исключение в консоли браузера? Что происходит, когда вы запускаете свой код? любой скриншот будет полезен. Каков результат, когда вы вызываете локальный хост:blabla/home/GetSafe? у тебя есть результат?