Я новичок и, вероятно, не вижу ничего очевидного. При создании нового «Полета» выпадающий список возвращает значение, например. «2», а не желаемый текст, например. «Comm». Точки останова и часы подтверждают, что «FlightType» и «ViewBag» содержат правильную информацию. Любые предложения приветствуются.dropdownlist возвращает значение, а не текст
Модели: Flight.cs
public class Flight
{
[Key]
public int FlightID { get; set; }
public int FlightTypeID { get; set; }
public string FlightTypeEntry { get; set; }
}
Модели: FlightType.cs
public class FlightType
{
[Key]
public int FlightTypeID { get; set; }
public string FlightTypeEntry { get; set; }
}
DAL: FlightInitializer.cs
var flighttypes = new List<FlightType
{
new FlightType { FlightTypeEntry = "Regular" },
new FlightType { FlightTypeEntry = "Comm" }
};
flighttypes.ForEach(e => context.FlightType.Add(e));
context.SaveChanges();
Контроллеры: FlightController.cs
// GET: /Flight/Create
public ActionResult Create()
{
ViewBag.FlightVB = new SelectList(db.FlightType, "FlightTypeID",
"FlightTypeEntry");
return View();
}
// POST: /Flight/Create
[HttpPost]
public ActionResult Create(Flight flight)
{
if (ModelState.IsValid)
{
db.Flight.Attach(flight);
db.Entry(flight).State = EntityState.Modified;
db.Flight.Add(flight);
db.SaveChanges();
return RedirectToAction("Index");
}
ViewBag.FlightTypeVB = new SelectList(db.FlightType, "FlightTypeID"
"FlightTypeEntry");
return View(flight);
Просмотров: Flight.Create.cshtml
<div class="editor-field">
@Html.DropDownList(“FlightTypelID", <SelectList>)ViewBag.FlightTypeVB)
</div>