Что я делаю не так с dropdownlist save to database, entity framework, могу перейти к решениям 2 и 3 для последней версии delima
Я думаю, что проблема заключается в действии create, размещении некоторого кода, никаких ошибок, просто пустые поля базы данных для категорий, приоритетов и полей Site_Admins в моей таблице билетов, я пытаюсь создать страницу, которая будет сохранена в базе данных, а затем вытащить список элементов базы данных, когда я нажимаю кнопку create на странице create, появляется страница списка, все, кроме тех полей, которые перечислены выше, заполняются в базе данных или на странице просмотра.
КОНТРОЛЛЕР:
public class TicketsController : Controller { // GET: Tickets Helpdesk2017Db _db = new Helpdesk2017Db(); // GET: Tickets public ActionResult Tickets() { var model = from a in _db.Tickets orderby a.Date ascending select a; return View(model); } // GET: Tickets/Details/5 public ActionResult Details(int id) { var view = _db.Tickets.Single(v => v.Id == id); return View(view); } // GET: Tickets/Create public ActionResult Create() { ViewData["Categories"] = new SelectList(_db.Categories, "Id", "CategoryName"); ViewData["Priorities"] = new SelectList(_db.Priorities, "Id", "PriorityName"); ViewData["Site_Admins"] = new SelectList(_db.Site_Admins, "Id", "Name"); return View("Create"); } // POST: Tickets/Create [HttpPost] public ActionResult Create(Tickets Tickets) { if (ModelState.IsValid) { _db.Tickets.Add(Tickets); _db.SaveChanges(); // TODO: Add insert logic here return RedirectToAction("Tickets"); } return View("Tickets"); }
МОДЕЛЬ:
public class Tickets { public IEnumerable<selectlistitem> Priorities { get; set; } public IEnumerable<selectlistitem> Categories { get; set; } public IEnumerable<selectlistitem> Site_Admins { get; set; } public int Id { get; set; } public DateTime Date { get; set; } public string Name { get; set; } public string Email { get; set; } public long Telephone { get; set; } public string Location { get; set; } public string Region { get; set; } public string ComputerName { get; set; } public long AssetTag { get; set; } public string Subject { get; set; } public string Body { get; set; } //public File //public File //public File } }
СОЗДАТЬ ПРЕДСТАВЛЕНИЕ:
@Html.DropDownList("Id", ViewData["Site_Admins"] as SelectList, "Assign To", new { @class = "form-control", @id = "Id" }) @Html.DropDownList("Id", ViewData["Priorities"] as SelectList, "Select Priority", new { @class = "form-control", @id = "Id" }) @Html.DropDownList("Id", ViewData["Categories"] as SelectList, "Select Category", new { @class = "form-control", @id = "Id" })
Представление списка это просто базовый список извлеченный из базы данных,
Я знаю, что все работало до того, как я добавил информацию о выпадающем списке. Выпадающие списки работают корректно, проблема заключается в сохранении выбранного элемента со страницы создания, добавлении в базу данных вместе с другим текстом на странице и вытягивании в список просмотра в виде перечисленного " билета"
Что я уже пробовал:
Я перепробовал все версии dropdownlist и dropdownlistfor кода в интернете, которые смог найти, для контроллера, класса и представления
Я почти уверен, что проблема заключается в коде контроллера, который я перечислил первым.
Я использую базу данных SQL 2016 express.
Timothy Heckler
Спасибо тебе, Брайан Тан, за то, что починил мой пост.
Graeme_Grant
Это вид и контроллер. Ваша трудность связана с БД, и этот код отсутствует + любые возникшие ошибки.
Разработчики жертвуют и жертвуют своим собственным временем бесплатно, чтобы помочь коллегам-разработчикам разрешить трудности. Важно, чтобы Вы были кристально ясны в том, что вы испытываете, с большим количеством информации, чтобы ваше и их время не было потрачено впустую. Чем яснее вопрос, тем больше шансов, что вы получите благоприятный ответ своевременно.
Пожалуйста, найдите время, чтобы просмотреть эти ссылки, прежде чем отправлять вопросы:
* Базовая отладка с помощью Visual Studio 2010-YouTube[^]
* Некоторые рекомендации по размещению вопросов на форумах[^]
* Сказки из Империи Зла-задавать вопросы-это навык[^]
Как только вы будете готовы обновить вопрос с четкими и краткими деталями, образцом кода, любыми сообщениями об ошибках (включая внутренние детали исключения) и т. д., Пожалуйста, нажмите на кнопку Улучшить вопрос чтобы добавить больше информации к этому вопросу.
Graeme_Grant
Это создание таблицы, где находится добавление к таблице, которая имеет ошибку и сообщение об ошибке??
Опять же, пожалуйста, нажмите на кнопку улучшить вопрос, чтобы добавить больше информации к этому вопросу.
Graeme_Grant
Общий SQL-код используется для создания таблицы, а не для сохранения данных в таблице. Ваш последний вопрос касается загрузки / чтения данных из таблицы и отображения их в списке. 3 совершенно разные вещи. Знаете ли вы, что вы хотите сделать, поскольку заданные вопросы не относятся к делу?
Вот некоторые статьи для начала работы:
* язык SQL: Приступайте к изучению SQL[^]
* MVC + DB: ASP.NET MVC работа с данными | The ASP.NET сайт[^]
Graeme_Grant
Я не знаю никакого другого способа выразить это, но до сих пор вам не удалось создать ни одного кода, который имел бы отношение к вашему вопросу выше. Я и так потратил на это слишком много времени. Может быть, ответит кто-нибудь другой.
Graeme_Grant
Все благо. Я поймал себя на том, что задаю тот же вопрос. Просто потратьте немного больше времени, чтобы прочитать то, что вас спрашивают, и вы сэкономите себе много времени.
Timothy Heckler
Я понимаю, что нет необходимости использовать команды sql, потому что я использую entity framework. Выпадающие списки все еще не сохраняются в базе данных, но все остальное есть, проблема в контроллере, я не знаю, как сделать так, чтобы выбранный элемент в выпадающем списке сохранялся в базе данных билетов, вся остальная информация о билете сохраняется, элементы выпадающего списка поступают из других таблиц, но из той же базы данных. есть ли в этом смысл? Мне пришлось разрешить нули в базе данных, чтобы сохранить все остальное, но поля" категории"," приоритеты "и" Site_Admins " в базе данных по-прежнему пусты, эти поля берутся из выпадающих списков.
ZurdoDev
"Я почти уверен, что проблема заключается в коде контроллера, который я перечислил первым". - затем отладьте код и посмотрите, что происходит.