Как изменить сохраненный идентификатор выпадающего списка на выбранное имя элемента?
Я наконец-то получил информацию о выпадающем списке для сохранения в базе данных, единственная проблема в том, что это идентификатор, а не имя, которое сохраняется в базе данных, есть какие-нибудь предложения? Вот код и, надеюсь, копия информации о базе данных...
Информация О Контроллере:
public class TicketsController : Controller { // GET: Tickets Helpdesk2017Db _db = new Helpdesk2017Db(); private void PopulateLists(Tickets model) { ViewData["Categories"] = new SelectList(_db.Categories, "Id", "CategoryName", model.Categories); ViewData["Priorities"] = new SelectList(_db.Priorities, "Id", "PriorityName", model.Priorities); ViewData["Site_Admins"] = new SelectList(_db.Site_Admins, "Id", "Name", model.Site_Admins); } // 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() { var model = new Tickets(); PopulateLists(model); return View("Create"); } // POST: Tickets/Create [HttpPost] public ActionResult Create(Tickets model) { if (ModelState.IsValid) { PopulateLists(model); _db.Tickets.Add(model); _db.SaveChanges(); // TODO: Add insert logic here return RedirectToAction("Tickets"); } return View("Tickets"); }
Информация О Модели:
public class Tickets { public string Priorities { get; set; } public string Categories { get; set; } public string 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; }
Создать Представление Информации:
<div class="col-md-offset-2 col-md-10"> @Html.DropDownListFor(m => m.Site_Admins, (SelectList)ViewData["Site_Admins"],"Assign To", new { @class = "form-control", }) @Html.DropDownListFor(m => m.Priorities, (SelectList)ViewData["Priorities"], "Select Priority", new { @class = "form-control", }) @Html.DropDownListFor(m => m.Categories, (SelectList)ViewData["Categories"], "Select Category", new { @class = "form-control", }) <h2></h2> <hr /> </div> <hr /> </div>
Информация о просмотре списка (извлечена из фактической таблицы базы данных, отображаемой на странице списка)
Приоритеты 4
Категории 4
Site_Admins 1
другая информация опущена из списка из-за чувствительности.
То, что я хочу, - это не идентификационные номера из выпадающих списков для отображения в представлении таблицы/списка, а фактическое выбранное значение. Спасибо за любой совет.
Что я уже пробовал:
Я попытался переключить значения Id и name в контроллере, однако выпадающий список показывает идентификаторы вместо выбранных имен элементов, поэтому я переключил его обратно.
Timothy Heckler
Я не являюсь разработчиком по названию, просто пытаюсь изучить этот материал, и это приложение, которое я решил попробовать создать, пока учусь.... Откусил больше, чем я могу прожевать для новичка. Я занимаюсь своими исследованиями, пробую разные вещи и "учусь" кодировать.