Я хотел бы иметь раскрывающийся список, который извлекает данные из таблицы квалификаций, а затем на HttpPost сохраняет значение, выбранное в раскрывающемся списке, в столбце «квалификация» на таблица сотрудников. Я очень новичок в MVC, и я не очень хорошо знаю синтаксис. Я также не знаю, как использовать jquery, vb и т. Д., Так что извините, если есть сообщение, которое охватывает это, и я не видел его, потому что не знаю, на что я смотрю.MVC DropDownList заполняется из одной таблицы БД и отправляется в другую таблицу БД
Это в настоящее время моя лучшая попытка сделать это:
Контроллер:
private Database1Entities db = new Database1Entities();
...
...
...
// GET: /Home/CreateEmp
public ActionResult CreateEmp()
{
ViewBag.QualList = new SelectList(db.Qualifications, "Id", "qual");
return View();
}
// POST: /Home/CreateEmployee
[HttpPost, ActionName("CreateEmployee")]
public ActionResult CreateEmpResult(Employee emp)
{
if (ModelState.IsValid)
{
db.Employees.Add(emp);
db.SaveChanges();
return RedirectToAction("Index");
}
ViewBag.QualList = new SelectList(db.Qualifications, "Id", "qual", emp.qualification);
return View(emp);
}
Создать Служащий Вид:
@model MvcDropDownList.Models.Employee
@using (Html.BeginForm("CreateEmployee", "Home", FormMethod.Post))
{
@Html.AntiForgeryToken()
@Html.ValidationSummary(true)
<table>
<!-- other fields removed for sake of simplicity -->
<tr>
<td>
@Html.Label("Select Your Qualification:")
</td>
<td>
@Html.DropDownList("QualList", "--Select--")
</td>
</tr>
</table>
}
Таблица Структура:
Квалификация Таблица: Id, каче
Таблица Employee: Id, ПгвЬЫате, ФАМИЛИЯ, пол, квалификация
Мой код успешно получает данные из таблицы "Квалификация", но не отправляет это в столбец «квалификация» в таблице «employee».
Любые предложения будут признательны, спасибо!
Обратите внимание, что это должно быть '@ Html.DropDownListFor (m => m.Qualification_Id, (SelectList) ViewBag.QualList)' - вам нужно использовать 'ViewBag.QualList' –
Я думал, что MVC5 исправил это, но вы, похоже, быть правым. Обновление ответа :) – Flater
ясно, что мне что-то не хватает ... Я установил таблицу сотрудников с помощью «qualId» FK и добавил следующий код в вид: '@ Html.DropDownListFor (m => m. QualId, (SelectList) ViewBag.QualList) ' В контроллере, пост действие имеет: ' ViewBag.QualList = новый SelectList (db.Qualifications, "Идентификатор", "каче", emp.qualId); ' Я думал, что это сработает, я что-то упустил? –