Drop down menu dropdownlist不选择

Drop down menu dropdownlist不选择,drop-down-menu,Drop Down Menu,我是个新手,可能错过了一些明显的东西。(请参阅下面的代码)Initializer.cs可以工作,因为在运行Create.cshtml时,下拉项“Regular”和“Comm”会正确显示。但是,Create.cshtml不起作用:在正确加载标量字段时,下拉字段保持为空 我花了数小时在这个论坛(和其他论坛)上查看回复,并尝试了无数建议,但都无济于事。例如,一些人说问题在于控制器和dropdownlist中使用了相同的名称。我已经做了更改,Create.cshtml仍然不起作用。代码如下: Model

我是个新手,可能错过了一些明显的东西。(请参阅下面的代码)Initializer.cs可以工作,因为在运行Create.cshtml时,下拉项“Regular”和“Comm”会正确显示。但是,Create.cshtml不起作用:在正确加载标量字段时,下拉字段保持为空

我花了数小时在这个论坛(和其他论坛)上查看回复,并尝试了无数建议,但都无济于事。例如,一些人说问题在于控制器和dropdownlist中使用了相同的名称。我已经做了更改,Create.cshtml仍然不起作用。代码如下:

Models.Flight.cs
public virtual ICollection<FlightType> FlightTypes { get; set; }

Models.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 { FlightTypeID = 1, FlightTypeEntry = "Regular" },
new FlightType { FlightTypeID = 2, FlightTypeEntry = "Comm" }
};
flighttypes.ForEach(e => context.FlightType.Add(e));
context.SaveChanges();

Controllers.FlightController.cs
// GET: /Flight/Create
public ActionResult Create()
{
ViewBag.FlightTypeVB = new SelectList(db.FlightType, "FlightTypeID", "FlightTypeEntry");
return View();
}

// POST: /Flight/Create
[HttpPost]
public ActionResult Create(Flight flight)
{
if (ModelState.IsValid)
{
db.Flight.Add(flight);
db.SaveChanges();
return RedirectToAction("Index");
}

ViewBag.FlightTypeVB = new SelectList(db.FlightType, "FlightTypeID", "FlightTypeEntry");
return View(flight);

Views.Flight.Create.cshtml
<div class="editor-label">
@Html.LabelFor(model=>model.AircraftModels)
</div>
<div class="editor-field">
@Html.DropDownList("AircraftModelID", (IEnumerable<SelectListItem>)ViewBag.AircraftModelVB)
@Html.ValidationMessageFor(model => model.AircraftModels)
</div>
Models.Flight.cs
公共虚拟ICollection FlightTypes{get;set;}
Models.FlightType.cs
公共类FlightType
{
[关键]
public int FlightTypeID{get;set;}
公共字符串FlightTypeEntry{get;set;}
}
DAL.FlightInitializer.cs
var flighttypes=新列表
{
新的FlightType{FlightTypeID=1,FlightTypeEntry=“Regular”},
新的FlightType{FlightTypeID=2,FlightTypeEntry=“Comm”}
};
ForEach(e=>context.FlightType.Add(e));
SaveChanges();
Controllers.FlightController.cs
//获取:/Flight/Create
公共操作结果创建()
{
ViewBag.FlightTypeVB=新的选择列表(db.FlightType,“FlightTypeID”,“FlightTypeEntry”);
返回视图();
}
//POST:/Flight/Create
[HttpPost]
公共行动结果创建(航班)
{
if(ModelState.IsValid)
{
db.Flight.Add(航班);
db.SaveChanges();
返回操作(“索引”);
}
ViewBag.FlightTypeVB=新的选择列表(db.FlightType,“FlightTypeID”,“FlightTypeEntry”);
返回视图(航班);
Views.Flight.Create.cshtml
@Html.LabelFor(model=>model.AircraftModels)
@Html.DropDownList(“AircraftModelID”,(IEnumerable)ViewBag.AircraftModelVB)
@Html.ValidationMessageFor(model=>model.AircraftModels)
非常感谢你的建议